summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--Versions.def2
-rw-r--r--elf/elf.h21
-rw-r--r--shlib-versions2
-rw-r--r--sysdeps/unix/sysv/linux/configure14
-rw-r--r--sysdeps/unix/sysv/linux/configure.in8
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 <aj@suse.de>
+
+ * 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 <drepper@redhat.com>
* 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 <<EOF
-#line 96 "configure"
+#line 99 "configure"
#include "confdefs.h"
#include <linux/version.h>
#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