summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-03-05 13:03:35 +0000
committerJakub Jelinek <jakub@redhat.com>2005-03-05 13:03:35 +0000
commit2a626c2bd2bdea74d59553bd9fad9d17959b3aab (patch)
treef24419785fc8c7320bd33d92e9930eb7538eb5aa
parente6826c2b972f8e267228c885a1069576ef02d15b (diff)
* sysdeps/i386/dl-machine.h (ELF_MACHINE_NO_RELA): Define
unconditionally to (defined RTLD_BOOTSTRAP). * sysdeps/arm/dl-machine.h (ELF_MACHINE_NO_RELA): Likewise. linuxthreads/ * sysdeps/powerpc/tcb-offsets.sym (thread_offsetof): Rework for GCC 4.
-rw-r--r--ChangeLog6
-rw-r--r--linuxthreads/ChangeLog4
-rw-r--r--linuxthreads/sysdeps/powerpc/tcb-offsets.sym2
-rw-r--r--sysdeps/arm/dl-machine.h4
-rw-r--r--sysdeps/i386/dl-machine.h4
-rw-r--r--sysdeps/i386/i486/Makefile4
6 files changed, 17 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index b973d58b46..fdbd4521c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/i386/dl-machine.h (ELF_MACHINE_NO_RELA): Define
+ unconditionally to (defined RTLD_BOOTSTRAP).
+ * sysdeps/arm/dl-machine.h (ELF_MACHINE_NO_RELA): Likewise.
+
2005-03-01 H.J. Lu <hongjiu.lu@intel.com>
[BZ #776]
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 4cbcfbb7a3..d55879a479 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,7 @@
+2005-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/powerpc/tcb-offsets.sym (thread_offsetof): Rework for GCC 4.
+
2005-02-09 Daniel Jacobowitz <dan@codesourcery.com>
* descr.h (__pthread_find_self, thread_self): Mark as pure
diff --git a/linuxthreads/sysdeps/powerpc/tcb-offsets.sym b/linuxthreads/sysdeps/powerpc/tcb-offsets.sym
index b526b62336..7c5cca01ea 100644
--- a/linuxthreads/sysdeps/powerpc/tcb-offsets.sym
+++ b/linuxthreads/sysdeps/powerpc/tcb-offsets.sym
@@ -8,7 +8,7 @@
-- Abuse tls.h macros to derive offsets relative to the thread register.
# undef __thread_register
# define __thread_register ((void *) 0)
-# define thread_offsetof(mem) ((void *) &THREAD_SELF->p_##mem - (void *) 0)
+# define thread_offsetof(mem) ((ptrdiff_t) THREAD_SELF + offsetof (struct _pthread_descr_struct, p_##mem))
# else
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
index e8015ac5fe..7ddd81234b 100644
--- a/sysdeps/arm/dl-machine.h
+++ b/sysdeps/arm/dl-machine.h
@@ -353,9 +353,7 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rel *reloc,
/* ARM never uses Elf32_Rela relocations for the dynamic linker.
Prelinked libraries may use Elf32_Rela though. */
-#ifdef RTLD_BOOTSTRAP
-# define ELF_MACHINE_NO_RELA 1
-#endif
+#define ELF_MACHINE_NO_RELA (defined RTLD_BOOTSTRAP)
#ifdef RESOLVE
diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h
index a965a4a5fc..367a4fb1a8 100644
--- a/sysdeps/i386/dl-machine.h
+++ b/sysdeps/i386/dl-machine.h
@@ -301,9 +301,7 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rel *reloc,
/* The i386 never uses Elf32_Rela relocations for the dynamic linker.
Prelinked libraries may use Elf32_Rela though. */
-#ifdef RTLD_BOOTSTRAP
-# define ELF_MACHINE_NO_RELA 1
-#endif
+#define ELF_MACHINE_NO_RELA (defined RTLD_BOOTSTRAP)
#ifdef RESOLVE_MAP
diff --git a/sysdeps/i386/i486/Makefile b/sysdeps/i386/i486/Makefile
new file mode 100644
index 0000000000..930731a166
--- /dev/null
+++ b/sysdeps/i386/i486/Makefile
@@ -0,0 +1,4 @@
+# Temporary workaround for GCC4 PR debug/19345
+ifeq ($(subdir),string)
+CFLAGS-string-inlines.c += -g0
+endif