diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2008-12-26 18:35:41 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-26 18:35:41 -0500 |
commit | e1648a8194117c7afeb432afb0d10896e10cbea4 (patch) | |
tree | 8d8940aa54c06b471b6aa942716064b83bfe7a7f /arch/sparc/include | |
parent | fe6875ec5c3ca7f6bcb399b6649ba2b64744df51 (diff) |
sparc: unify module.h
Use some preprocessor magic in combination with the
newly introduced CONFIG_BITS to unify module.h.
A few additional symbols are added as they are needed in a follow-up patch
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/include')
-rw-r--r-- | arch/sparc/include/asm/module.h | 32 | ||||
-rw-r--r-- | arch/sparc/include/asm/module_32.h | 7 | ||||
-rw-r--r-- | arch/sparc/include/asm/module_64.h | 7 |
3 files changed, 24 insertions, 22 deletions
diff --git a/arch/sparc/include/asm/module.h b/arch/sparc/include/asm/module.h index e82cf9a3e60e..ff8e02d80334 100644 --- a/arch/sparc/include/asm/module.h +++ b/arch/sparc/include/asm/module.h | |||
@@ -1,8 +1,24 @@ | |||
1 | #ifndef ___ASM_SPARC_MODULE_H | 1 | #ifndef __SPARC_MODULE_H |
2 | #define ___ASM_SPARC_MODULE_H | 2 | #define __SPARC_MODULE_H |
3 | #if defined(__sparc__) && defined(__arch64__) | 3 | struct mod_arch_specific { }; |
4 | #include <asm/module_64.h> | 4 | |
5 | #else | 5 | /* |
6 | #include <asm/module_32.h> | 6 | * Use some preprocessor magic to define the correct symbol |
7 | #endif | 7 | * for sparc32 and sparc64. |
8 | #endif | 8 | * Elf_Addr becomes Elf32_Addr for sparc32 and Elf64_Addr for sparc64 |
9 | */ | ||
10 | #define ___ELF(a, b, c) a##b##c | ||
11 | #define __ELF(a, b, c) ___ELF(a, b, c) | ||
12 | #define _Elf(t) __ELF(Elf, CONFIG_BITS, t) | ||
13 | #define _ELF(t) __ELF(ELF, CONFIG_BITS, t) | ||
14 | |||
15 | #define Elf_Shdr _Elf(_Shdr) | ||
16 | #define Elf_Sym _Elf(_Sym) | ||
17 | #define Elf_Ehdr _Elf(_Ehdr) | ||
18 | #define Elf_Rela _Elf(_Rela) | ||
19 | #define Elf_Addr _Elf(_Addr) | ||
20 | |||
21 | #define ELF_R_SYM _ELF(_R_SYM) | ||
22 | #define ELF_R_TYPE _ELF(_R_TYPE) | ||
23 | |||
24 | #endif /* __SPARC_MODULE_H */ | ||
diff --git a/arch/sparc/include/asm/module_32.h b/arch/sparc/include/asm/module_32.h deleted file mode 100644 index cbd9e67b0c0b..000000000000 --- a/arch/sparc/include/asm/module_32.h +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | #ifndef _ASM_SPARC_MODULE_H | ||
2 | #define _ASM_SPARC_MODULE_H | ||
3 | struct mod_arch_specific { }; | ||
4 | #define Elf_Shdr Elf32_Shdr | ||
5 | #define Elf_Sym Elf32_Sym | ||
6 | #define Elf_Ehdr Elf32_Ehdr | ||
7 | #endif /* _ASM_SPARC_MODULE_H */ | ||
diff --git a/arch/sparc/include/asm/module_64.h b/arch/sparc/include/asm/module_64.h deleted file mode 100644 index 3d77ba465783..000000000000 --- a/arch/sparc/include/asm/module_64.h +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | #ifndef _ASM_SPARC64_MODULE_H | ||
2 | #define _ASM_SPARC64_MODULE_H | ||
3 | struct mod_arch_specific { }; | ||
4 | #define Elf_Shdr Elf64_Shdr | ||
5 | #define Elf_Sym Elf64_Sym | ||
6 | #define Elf_Ehdr Elf64_Ehdr | ||
7 | #endif /* _ASM_SPARC64_MODULE_H */ | ||