This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Here's a reworked version of the patches for the generic files touched
by the x86-64 port.
I'm still not decided on the name of the linker but most probably will
use /lib64/ld-linux.so.2 (and decide this before the commit).
Ok to commit now?
Andreas
2001-09-19 Andreas Jaeger <aj@suse.de>
* Versions.def: Add missing versions 2.2.3 for libthread_db and
libthread.
* 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.
For linuxthreads:
2001-09-19 Andreas Jaeger <aj@suse.de>
* linuxthreads/shlib-versions: Add x86-64.
============================================================
Index: Versions.def
--- Versions.def 2001/08/21 20:32:21 1.34
+++ Versions.def 2001/09/19 10:41:38
@@ -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
============================================================
Index: shlib-versions
--- shlib-versions 2001/06/14 03:01:06 1.60
+++ shlib-versions 2001/09/19 10:41:38
@@ -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
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.5
# We use the ELF ABI standard name for the default.
.*-.*-.* ld=ld.so.1
============================================================
Index: sysdeps/unix/sysv/linux/configure.in
--- sysdeps/unix/sysv/linux/configure.in 2001/09/19 03:14:53 1.43
+++ sysdeps/unix/sysv/linux/configure.in 2001/09/19 10:41:38
@@ -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';
@@ -165,6 +168,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
;;
*)
;;
============================================================
Index: elf/elf.h
--- elf/elf.h 2001/09/05 04:54:11 1.100
+++ elf/elf.h 2001/09/19 10:41:38
@@ -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 */
============================================================
Index: linuxthreads/shlib-versions
--- linuxthreads/shlib-versions 2001/04/09 04:01:52 1.8
+++ linuxthreads/shlib-versions 2001/09/19 10:41:38
@@ -6,4 +6,5 @@ ia64.*-.*-linux.* libpthread=0 GLIBC_2.
hppa.*-.*-linux.* libpthread=0 GLIBC_2.2
s390x-.*-linux.* libpthread=0 GLIBC_2.2
cris-.*-linux.* libpthread=0 GLIBC_2.2
+x86_64-.*-linux.* libpthread=0 GLIBC_2.2.5
.*-.*-linux.* libpthread=0
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |