summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-05-14 15:17:30 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-05-14 15:17:30 -0700
commit11de3a3371c18b6fe955d4b43071656baf4b8804 (patch)
tree5c103ab69b4e5642e8fd91ff389d5b0d17f273e0
parente02f153a1ab75b95e3991dd9dbd3b9220dc9c3ae (diff)
downloadglibc-11de3a3371c18b6fe955d4b43071656baf4b8804.tar.gz
Update elf_machine_load_address for x32
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/x86_64/dl-machine.h6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 6fbcc32a84..7c487bd6a9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2012-05-14 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/x86_64/dl-machine.h (elf_machine_load_address): Remove
+ the `q' suffix from lea and replace .quad with ASM_ADDR.
+
+2012-05-14 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (PTR_MANGLE): Remove
the `q' suffix from xor/rol instructions. Use $2*LP_SIZE+1
instead of $17.
diff --git a/sysdeps/x86_64/dl-machine.h b/sysdeps/x86_64/dl-machine.h
index 32814b14f7..9c27ecffd8 100644
--- a/sysdeps/x86_64/dl-machine.h
+++ b/sysdeps/x86_64/dl-machine.h
@@ -72,10 +72,10 @@ elf_machine_load_address (void)
load offset which is zero if the binary was loaded at the address
it is prelinked for. */
- asm ("leaq _dl_start(%%rip), %0\n\t"
- "subq 1f(%%rip), %0\n\t"
+ asm ("lea _dl_start(%%rip), %0\n\t"
+ "sub 1f(%%rip), %0\n\t"
".section\t.data.rel.ro\n"
- "1:\t.quad _dl_start\n\t"
+ "1:\t" ASM_ADDR " _dl_start\n\t"
".previous\n\t"
: "=r" (addr) : : "cc");