diff options
author | Roland McGrath <roland@gnu.org> | 2005-05-09 08:53:13 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2005-05-09 08:53:13 +0000 |
commit | c3d3643471d679bedabc6994f22d633552470b69 (patch) | |
tree | 4f2c4336b142fc7c41a96880e2498562d16875ac /sysdeps | |
parent | 4bf8665d5e1cfb8b28c1307b5bda5f84730caf34 (diff) | |
download | glibc-c3d3643471d679bedabc6994f22d633552470b69.tar.gz glibc-c3d3643471d679bedabc6994f22d633552470b69.tar.xz glibc-c3d3643471d679bedabc6994f22d633552470b69.zip |
2005-05-09 Alan Modra <amodra@bigpond.net.au>
* sysdeps/powerpc/powerpc64/dl-machine.h (RTLD_START): Use .pushsection/.popsection in place of .section/.previous.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/powerpc/powerpc64/dl-machine.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sysdeps/powerpc/powerpc64/dl-machine.h b/sysdeps/powerpc/powerpc64/dl-machine.h index 33fc1b6a9c..cec271bb3a 100644 --- a/sysdeps/powerpc/powerpc64/dl-machine.h +++ b/sysdeps/powerpc/powerpc64/dl-machine.h @@ -122,16 +122,16 @@ elf_machine_dynamic (void) `_dl_start' is the real entry point; its return value is the user program's entry point. */ #define RTLD_START \ - asm (".section \".text\"\n" \ + asm (".pushsection \".text\"\n" \ " .align 2\n" \ " .type " BODY_PREFIX "_start,@function\n" \ -" .section \".opd\",\"aw\"\n" \ +" .pushsection \".opd\",\"aw\"\n" \ " .align 3\n" \ " .globl _start\n" \ " " ENTRY_2(_start) "\n" \ "_start:\n" \ " " OPD_ENT(_start) "\n" \ -" .previous\n" \ +" .popsection\n" \ BODY_PREFIX "_start:\n" \ /* We start with the following on the stack, from top: \ argc (4 bytes); \ @@ -157,11 +157,11 @@ BODY_PREFIX "_start:\n" \ " .align 2\n" \ " " END_2(_start) "\n" \ " .globl _dl_start_user\n" \ -" .section \".opd\",\"aw\"\n" \ +" .pushsection \".opd\",\"aw\"\n" \ "_dl_start_user:\n" \ " " OPD_ENT(_dl_start_user) "\n" \ -" .previous\n" \ -" .section \".toc\",\"aw\"\n" \ +" .popsection\n" \ +" .pushsection \".toc\",\"aw\"\n" \ DL_STARTING_UP_DEF \ ".LC__rtld_global:\n" \ " .tc _rtld_global[TC],_rtld_global\n" \ @@ -171,7 +171,7 @@ DL_STARTING_UP_DEF \ " .tc _dl_argv_internal[TC],_dl_argv_internal\n" \ ".LC__dl_fini:\n" \ " .tc _dl_fini[TC],_dl_fini\n" \ -" .previous\n" \ +" .popsection\n" \ " .type " BODY_PREFIX "_dl_start_user,@function\n" \ " " ENTRY_2(_dl_start_user) "\n" \ /* Now, we do our main work of calling initialisation procedures. \ @@ -245,7 +245,7 @@ BODY_PREFIX "_dl_start_user:\n" \ ".LT__dl_start_user_name_end:\n" \ " .align 2\n" \ " " END_2(_dl_start_user) "\n" \ -" .previous"); +" .popsection"); /* Nonzero iff TYPE should not be allowed to resolve to one of the main executable's symbols, as for a COPY reloc. */ |