diff options
author | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2008-04-02 11:55:20 +0000 |
---|---|---|
committer | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2008-04-02 11:55:20 +0000 |
commit | 7c5d4001fb94aa2027530f79ac48918b15361a2b (patch) | |
tree | 2d07b83882bbb915c9c2e8f0f9097ee9f435b5fe /ports/sysdeps/m68k | |
parent | b3f36e492255400533794538574910135da10b92 (diff) | |
download | eglibc2-7c5d4001fb94aa2027530f79ac48918b15361a2b.tar.gz |
Merge changes between r5678 and r5759 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@5760 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'ports/sysdeps/m68k')
-rw-r--r-- | ports/sysdeps/m68k/dl-machine.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/ports/sysdeps/m68k/dl-machine.h b/ports/sysdeps/m68k/dl-machine.h index fad1ef9e0..08a439641 100644 --- a/ports/sysdeps/m68k/dl-machine.h +++ b/ports/sysdeps/m68k/dl-machine.h @@ -33,14 +33,16 @@ elf_machine_matches_host (const Elf32_Ehdr *ehdr) } -/* Return the link-time address of _DYNAMIC. Conveniently, this is the - first element of the GOT. This must be inlined in a function which - uses global data. */ +/* Return the link-time address of _DYNAMIC. + This must be inlined in a function which uses global data. */ static inline Elf32_Addr elf_machine_dynamic (void) { - register Elf32_Addr *got asm ("%a5"); - return *got; + Elf32_Addr addr; + + asm ("move.l _DYNAMIC@GOT.w(%%a5), %0" + : "=a" (addr)); + return addr; } |