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