aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2005-05-09 08:53:13 +0000
committerRoland McGrath <roland@gnu.org>2005-05-09 08:53:13 +0000
commitc3d3643471d679bedabc6994f22d633552470b69 (patch)
tree4f2c4336b142fc7c41a96880e2498562d16875ac /sysdeps
parent4bf8665d5e1cfb8b28c1307b5bda5f84730caf34 (diff)
downloadglibc-c3d3643471d679bedabc6994f22d633552470b69.tar
glibc-c3d3643471d679bedabc6994f22d633552470b69.tar.gz
glibc-c3d3643471d679bedabc6994f22d633552470b69.tar.bz2
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.h16
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. */