aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/i386/i686/memcmp.S15
2 files changed, 12 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 3d41441f0b..0c8a9c3824 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-02-28 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/i386/i686/memcmp.S: Move table to .rodata. Patch by HJ Lu.
+
2004-02-27 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (dl_main): Adjust l->l_ld of the vDSO by l->l_addr.
diff --git a/sysdeps/i386/i686/memcmp.S b/sysdeps/i386/i686/memcmp.S
index 920ae72df3..f382e807fa 100644
--- a/sysdeps/i386/i686/memcmp.S
+++ b/sysdeps/i386/i686/memcmp.S
@@ -32,13 +32,13 @@
/* Load an entry in a jump table into EBX. TABLE is a jump table
with relative offsets. INDEX is a register contains the index
into the jump table. */
-#define LOAD_JUMP_TABLE_ENTRY(TABLE, INDEX) \
- /* We first load PC into EBX. */ \
- call __i686.get_pc_thunk.bx; \
- /* Get the address of the jump table. */ \
- addl $(TABLE - .), %ebx; \
- /* Get the entry and convert the relative offset to the \
- absolute address. */ \
+#define LOAD_JUMP_TABLE_ENTRY(TABLE, INDEX) \
+ /* We first load PC into EBX. */ \
+ call __i686.get_pc_thunk.bx; \
+ /* Get the address of the jump table. */ \
+ addl $(TABLE - .), %ebx; \
+ /* Get the entry and convert the relative offset to the \
+ absolute address. */ \
addl (%ebx,INDEX,4), %ebx
#ifdef HAVE_HIDDEN
@@ -351,6 +351,7 @@ L(set):
popl %esi
RETURN
+ .section .rodata
ALIGN (2)
L(table_32bytes) :
.long L(0bytes) - . + 0x0