summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Horman <horms@verge.net.au>2015-05-01 10:13:09 +0900
committerSimon Horman <horms@verge.net.au>2015-05-01 10:13:09 +0900
commit5041d45b1c6b66a0e6c48f6121c24cd9be506c68 (patch)
treeb802391b0a7bc68dd4b8b9cec37ca4d4cb0828e9
parent4a837c9a19f9d5f07778906c6fe64d429d7c1ed7 (diff)
Revert "x86_64: Add support to build kexec-tools with x32 ABI"
This reverts commit 5edcbfd1368e84fce913ceeeca7b712c524dc20d. Yinghai Lu has reported on the kexec mailing list that this causes the following problem when using kexec load with kexec built on openSUSE 13.1 64bit. overflow in relocation type R_X86_64_32 val 21dffc020
-rw-r--r--configure.ac9
-rw-r--r--kexec/arch/x86_64/kexec-elf-rel-x86_64.c4
-rw-r--r--kexec/kexec-syscall.h4
-rw-r--r--purgatory/arch/x86_64/Makefile4
4 files changed, 1 insertions, 20 deletions
diff --git a/configure.ac b/configure.ac
index e0b5f78..e365dd9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -53,15 +53,6 @@ case $target_cpu in
;;
ia64|x86_64|alpha|m68k )
ARCH="$target_cpu"
-
- dnl ---Test for x32 ABI in x86_64
- if test "x$ARCH" = "xx86_64" ; then
- AC_EGREP_CPP(x32_test,
- [#if defined(__x86_64__) && defined (__ILP32__)
- x32_test
- #endif
- ], SUBARCH='x32', SUBARCH='64')
- fi
;;
* )
AC_MSG_ERROR([unsupported architecture $target_cpu])
diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
index 06db7f0..c795037 100644
--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
@@ -8,11 +8,7 @@ int machine_verify_elf_rel(struct mem_ehdr *ehdr)
if (ehdr->ei_data != ELFDATA2LSB) {
return 0;
}
-#ifdef __ILP32__
- if (ehdr->ei_class != ELFCLASS32) {
-#else
if (ehdr->ei_class != ELFCLASS64) {
-#endif
return 0;
}
if (ehdr->e_machine != EM_X86_64) {
diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h
index cab5535..ce2e20b 100644
--- a/kexec/kexec-syscall.h
+++ b/kexec/kexec-syscall.h
@@ -31,12 +31,8 @@
#define __NR_kexec_load 268
#endif
#ifdef __x86_64__
-#ifdef __ILP32__
-#define __NR_kexec_load 528
-#else
#define __NR_kexec_load 246
#endif
-#endif
#ifdef __s390x__
#define __NR_kexec_load 277
#endif
diff --git a/purgatory/arch/x86_64/Makefile b/purgatory/arch/x86_64/Makefile
index 4af11e4..7300937 100644
--- a/purgatory/arch/x86_64/Makefile
+++ b/purgatory/arch/x86_64/Makefile
@@ -23,6 +23,4 @@ x86_64_PURGATORY_SRCS += purgatory/arch/i386/console-x86.c
x86_64_PURGATORY_SRCS += purgatory/arch/i386/vga.c
x86_64_PURGATORY_SRCS += purgatory/arch/i386/pic.c
-ifeq ($(SUBARCH),64)
- x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
-endif
+x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large