aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/mod/modpost.h
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2006-05-24 04:22:21 -0400
committerDavid Woodhouse <dwmw2@infradead.org>2006-05-24 04:22:21 -0400
commit66643de455c27973ac31ad6de9f859d399916842 (patch)
tree7ebed7f051879007d4b11d6aaa9e65a1bcb0b08f /scripts/mod/modpost.h
parent2c23d62abb820e19c54012520f08a198c2233a85 (diff)
parent387e2b0439026aa738a9edca15a57e5c0bcb4dfc (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: include/asm-powerpc/unistd.h include/asm-sparc/unistd.h include/asm-sparc64/unistd.h Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'scripts/mod/modpost.h')
-rw-r--r--scripts/mod/modpost.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/scripts/mod/modpost.h b/scripts/mod/modpost.h
index b14255c72a37..861d866fcd83 100644
--- a/scripts/mod/modpost.h
+++ b/scripts/mod/modpost.h
@@ -21,6 +21,7 @@
21#define ELF_ST_BIND ELF32_ST_BIND 21#define ELF_ST_BIND ELF32_ST_BIND
22#define ELF_ST_TYPE ELF32_ST_TYPE 22#define ELF_ST_TYPE ELF32_ST_TYPE
23 23
24#define Elf_Rel Elf32_Rel
24#define Elf_Rela Elf32_Rela 25#define Elf_Rela Elf32_Rela
25#define ELF_R_SYM ELF32_R_SYM 26#define ELF_R_SYM ELF32_R_SYM
26#define ELF_R_TYPE ELF32_R_TYPE 27#define ELF_R_TYPE ELF32_R_TYPE
@@ -34,11 +35,31 @@
34#define ELF_ST_BIND ELF64_ST_BIND 35#define ELF_ST_BIND ELF64_ST_BIND
35#define ELF_ST_TYPE ELF64_ST_TYPE 36#define ELF_ST_TYPE ELF64_ST_TYPE
36 37
38#define Elf_Rel Elf64_Rel
37#define Elf_Rela Elf64_Rela 39#define Elf_Rela Elf64_Rela
38#define ELF_R_SYM ELF64_R_SYM 40#define ELF_R_SYM ELF64_R_SYM
39#define ELF_R_TYPE ELF64_R_TYPE 41#define ELF_R_TYPE ELF64_R_TYPE
40#endif 42#endif
41 43
44/* The 64-bit MIPS ELF ABI uses an unusual reloc format. */
45typedef struct
46{
47 Elf32_Word r_sym; /* Symbol index */
48 unsigned char r_ssym; /* Special symbol for 2nd relocation */
49 unsigned char r_type3; /* 3rd relocation type */
50 unsigned char r_type2; /* 2nd relocation type */
51 unsigned char r_type1; /* 1st relocation type */
52} _Elf64_Mips_R_Info;
53
54typedef union
55{
56 Elf64_Xword r_info_number;
57 _Elf64_Mips_R_Info r_info_fields;
58} _Elf64_Mips_R_Info_union;
59
60#define ELF64_MIPS_R_SYM(i) \
61 ((__extension__ (_Elf64_Mips_R_Info_union)(i)).r_info_fields.r_sym)
62
42#if KERNEL_ELFDATA != HOST_ELFDATA 63#if KERNEL_ELFDATA != HOST_ELFDATA
43 64
44static inline void __endian(const void *src, void *dest, unsigned int size) 65static inline void __endian(const void *src, void *dest, unsigned int size)
@@ -48,8 +69,6 @@ static inline void __endian(const void *src, void *dest, unsigned int size)
48 ((unsigned char*)dest)[i] = ((unsigned char*)src)[size - i-1]; 69 ((unsigned char*)dest)[i] = ((unsigned char*)src)[size - i-1];
49} 70}
50 71
51
52
53#define TO_NATIVE(x) \ 72#define TO_NATIVE(x) \
54({ \ 73({ \
55 typeof(x) __x; \ 74 typeof(x) __x; \