From 85458ce9e49419545c15560cd2eb9af3a54a9775 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Thu, 20 Sep 2001 06:43:34 +0000 Subject: [PATCH] Update. 2001-09-19 Andreas Jaeger * Versions.def: Add missing versions 2.2.3 for libthread_db and libpthread. * sysdeps/unix/sysv/linux/configure.in: Add minimal kernel version for x86-64, install x86-64 into */lib64. * shlib-versions: Add x86-64. * elf/elf.h: Add x86-64 relocations. --- ChangeLog | 12 ++++++++++++ Versions.def | 2 ++ elf/elf.h | 21 +++++++++++++++++++++ shlib-versions | 2 ++ sysdeps/unix/sysv/linux/configure | 14 ++++++++++---- sysdeps/unix/sysv/linux/configure.in | 8 +++++++- 6 files changed, 54 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4711e15b75..6af03ab3e9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2001-09-19 Andreas Jaeger + + * Versions.def: Add missing versions 2.2.3 for libthread_db and + libpthread. + + * sysdeps/unix/sysv/linux/configure.in: Add minimal kernel version + for x86-64, install x86-64 into */lib64. + + * shlib-versions: Add x86-64. + + * elf/elf.h: Add x86-64 relocations. + 2001-09-19 Ulrich Drepper * po/fr.po: Update from translation team. diff --git a/Versions.def b/Versions.def index aa4a4926bf..830a610e0b 100644 --- a/Versions.def +++ b/Versions.def @@ -70,6 +70,7 @@ libpthread { GLIBC_2.1.1 GLIBC_2.1.2 GLIBC_2.2 + GLIBC_2.2.3 } libresolv { GLIBC_2.0 @@ -96,6 +97,7 @@ ld { } libthread_db { GLIBC_2.1.3 + GLIBC_2.2.3 } libanl { GLIBC_2.2.3 diff --git a/elf/elf.h b/elf/elf.h index 595d904774..4ae28a51b8 100644 --- a/elf/elf.h +++ b/elf/elf.h @@ -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 16 + __END_DECLS #endif /* elf.h */ diff --git a/shlib-versions b/shlib-versions index 21eb67fcfe..a4124e376f 100644 --- a/shlib-versions +++ b/shlib-versions @@ -23,6 +23,7 @@ s390x-.*-linux.* DEFAULT GLIBC_2.2 cris-.*-linux.* DEFAULT GLIBC_2.2 +x86_64-.*-linux.* DEFAULT GLIBC_2.2.5 %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 GLIBC_2.2 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=ld-linux-x86-64.so.2 GLIBC_2.2.5 # We use the ELF ABI standard name for the default. .*-.*-.* ld=ld.so.1 diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure index b1fb85f681..db1666d258 100644 --- a/sysdeps/unix/sysv/linux/configure +++ b/sysdeps/unix/sysv/linux/configure @@ -67,6 +67,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 ;; @@ -88,11 +91,11 @@ fi if test -n "$minimum_kernel"; then echo $ac_n "checking for kernel header at least $minimum_kernel""... $ac_c" 1>&6 -echo "configure:92: checking for kernel header at least $minimum_kernel" >&5 +echo "configure:95: checking for kernel header at least $minimum_kernel" >&5 decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`; abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; cat > conftest.$ac_ext < #if LINUX_VERSION_CODE < $decnum @@ -134,7 +137,7 @@ fi # in /lib and /etc. if test "$prefix" = "/usr" -o "$prefix" = "/usr/"; then # 64bit libraries on sparc go to /lib64 and not /lib - if test "$machine" = "sparc/sparc64"; then + if test "$machine" = "sparc/sparc64" -o "$machine" = "x86_64"; then libc_cv_slibdir="/lib64" if test "$libdir" = '${exec_prefix}/lib'; then libdir='${exec_prefix}/lib64'; @@ -198,6 +201,9 @@ case "$machine" in sparc*) ldd_rewrite_script=../sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed ;; + x86_64*) + ldd_rewrite_script=../sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed + ;; *) ;; esac @@ -213,7 +219,7 @@ if test $host = $build; then ac_prefix=$ac_default_prefix fi echo $ac_n "checking for symlinks in ${ac_prefix}/include""... $ac_c" 1>&6 -echo "configure:211: checking for symlinks in ${ac_prefix}/include" >&5 +echo "configure:223: checking for symlinks in ${ac_prefix}/include" >&5 ac_message= if test -L ${ac_prefix}/include/net; then ac_message="$ac_message diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in index b522f3e08b..dfae5a1de3 100644 --- a/sysdeps/unix/sysv/linux/configure.in +++ b/sysdeps/unix/sysv/linux/configure.in @@ -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 ;; @@ -102,7 +105,7 @@ fi # in /lib and /etc. if test "$prefix" = "/usr" -o "$prefix" = "/usr/"; then # 64bit libraries on sparc go to /lib64 and not /lib - if test "$machine" = "sparc/sparc64"; then + if test "$machine" = "sparc/sparc64" -o "$machine" = "x86_64"; then libc_cv_slibdir="/lib64" if test "$libdir" = '${exec_prefix}/lib'; then libdir='${exec_prefix}/lib64'; @@ -166,6 +169,9 @@ case "$machine" in sparc*) ldd_rewrite_script=../sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed ;; + x86_64*) + ldd_rewrite_script=../sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed + ;; *) ;; esac