elf.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. /*
  3. * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License version 2 as
  7. * published by the Free Software Foundation.
  8. */
  9. #ifndef _UAPI__ASM_ARC_ELF_H
  10. #define _UAPI__ASM_ARC_ELF_H
  11. #include <asm/ptrace.h> /* for user_regs_struct */
  12. /* Machine specific ELF Hdr flags */
  13. #define EF_ARC_OSABI_MSK 0x00000f00
  14. #define EF_ARC_OSABI_V3 0x00000300 /* v3 (no legacy syscalls) */
  15. #define EF_ARC_OSABI_V4 0x00000400 /* v4 (64bit data any reg align) */
  16. #if __GNUC__ < 6
  17. #define EF_ARC_OSABI_CURRENT EF_ARC_OSABI_V3
  18. #else
  19. #define EF_ARC_OSABI_CURRENT EF_ARC_OSABI_V4
  20. #endif
  21. typedef unsigned long elf_greg_t;
  22. typedef unsigned long elf_fpregset_t;
  23. #define ELF_NGREG (sizeof(struct user_regs_struct) / sizeof(elf_greg_t))
  24. #define ELF_ARCV2REG (sizeof(struct user_regs_arcv2) / sizeof(elf_greg_t))
  25. typedef elf_greg_t elf_gregset_t[ELF_NGREG];
  26. #endif