x86-64 patch 1/2
Andreas Jaeger
aj@suse.de
Tue Sep 18 06:23:00 GMT 2001
Here's the first patch to integrate the x86-64 port into glibc.
Ok to commit?
Andreas
2001-09-18 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/configure.in: Add minimal kernel version
for x86-64.
* shlib-versions: Add x86-64.
* elf/elf.h: Add x86-64 relocations.
============================================================
Index: sysdeps/unix/sysv/linux/configure.in
--- sysdeps/unix/sysv/linux/configure.in 2001/07/09 11:51:42 1.42
+++ sysdeps/unix/sysv/linux/configure.in 2001/09/18 13:22:54
@@ -54,6 +54,9 @@ case "$machine" in
sh*)
arch_minimum_kernel=2.3.99
;;
+ x86_64*)
+ arch_minimum_kernel=2.4.0
+ ;;
*)
arch_minimum_kernel=2.0.10
;;
============================================================
Index: shlib-versions
--- shlib-versions 2001/06/14 03:01:06 1.60
+++ shlib-versions 2001/09/18 13:22:54
@@ -23,6 +23,7 @@
s390x-.*-linux.* DEFAULT GLIBC_2.2
cris-.*-linux.* DEFAULT GLIBC_2.2
+x86_64-.*-linux.* DEFAULT GLIBC_2.2.4
%if defined(USE_IN_LIBIO) && !defined(GLIBC_OLDEST_ABI)
// If you use configure --enable-libio --enable-oldest-abi=2.0 then we
// won't rename the old version sets and all the libraries except libc
@@ -79,6 +80,7 @@ mips.*-.*-linux.* ld=ld.so.1 GLIBC_2.0
hppa.*-.*-.* ld=ld.so.1 GLIBC_2.2
s390x-.*-linux.* ld=ld64.so.1 GLIBC_2.2
cris-.*-linux.* ld=ld.so.1 GLIBC_2.2
+x86_64-.*-linux.* ld=ld64.so.1 GLIBC_2.2.4
# We use the ELF ABI standard name for the default.
.*-.*-.* ld=ld.so.1
============================================================
Index: elf/elf.h
--- elf/elf.h 2001/09/05 04:54:11 1.100
+++ elf/elf.h 2001/09/18 13:22:55
@@ -2084,6 +2084,27 @@ typedef Elf32_Addr Elf32_Conflict;
#define R_CRIS_NUM 20
+/* AMD x86-64 relocations. */
+#define R_X86_64_NONE 0 /* No reloc */
+#define R_X86_64_64 1 /* Direct 64 bit */
+#define R_X86_64_PC32 2 /* PC relative 32 bit signed */
+#define R_X86_64_GOT32 3 /* 32 bit GOT entry */
+#define R_X86_64_PLT32 4 /* 32 bit PLT address */
+#define R_X86_64_COPY 5 /* Copy symbol at runtime */
+#define R_X86_64_GLOB_DAT 6 /* Create GOT entry */
+#define R_X86_64_JUMP_SLOT 7 /* Create PLT entry */
+#define R_X86_64_RELATIVE 8 /* Adjust by program base */
+#define R_X86_64_GOTPCREL 9 /* 32 bit signed pc relative
+ _ offset to GOT */
+#define R_X86_64_32 10 /* Direct 32 bit zero extended */
+#define R_X86_64_32S 11 /* Direct 32 bit sign extended */
+#define R_X86_64_16 12 /* Direct 16 bit zero extended */
+#define R_X86_64_PC16 13 /* 16 bit sign extended pc relative */
+#define R_X86_64_8 14 /* Direct 8 bit sign extended */
+#define R_X86_64_PC8 15 /* 8 bit sign extended pc relative */
+
+#define R_X86_64_NUM 15
+
__END_DECLS
#endif /* elf.h */
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj
More information about the Libc-hacker
mailing list