about summary refs log tree commit diff
path: root/sysdeps/ia64/dl-machine.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-03-29 19:20:17 +0000
committerUlrich Drepper <drepper@redhat.com>2003-03-29 19:20:17 +0000
commit266227abcba4f70af3a2f4cbc34384ee498a3a50 (patch)
treec804c3f252d5bd356c5fd538dacadf4c720e1646 /sysdeps/ia64/dl-machine.h
parentd8592d04fab67a5a553bd9fc5573f234897bc0af (diff)
downloadglibc-266227abcba4f70af3a2f4cbc34384ee498a3a50.tar.gz
glibc-266227abcba4f70af3a2f4cbc34384ee498a3a50.tar.xz
glibc-266227abcba4f70af3a2f4cbc34384ee498a3a50.zip
Update.
2003-03-27  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/ia64/dl-machine.h (RTLD_START): Wrap ".save rp, r0"
	directive into empty .prologue region to ensure that call-chain
	is terminated even for the first instruction.

	* sysdeps/ia64/elf/start.S (_start): Use ".save rp, r0" idiom
	to terminate call-chain right from the get-go.

	* sysdeps/unix/sysv/linux/ia64/fork.S (fork): Remove unnecessary
	stop bit between compare & branch.
Diffstat (limited to 'sysdeps/ia64/dl-machine.h')
-rw-r--r--sysdeps/ia64/dl-machine.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/sysdeps/ia64/dl-machine.h b/sysdeps/ia64/dl-machine.h
index be09ae81e6..d3cc0ca210 100644
--- a/sysdeps/ia64/dl-machine.h
+++ b/sysdeps/ia64/dl-machine.h
@@ -301,8 +301,10 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
 "_start:\n"								      \
 "0:	{ .mii\n"							      \
 "	  .prologue\n"							      \
-"	  .save ar.pfs, r32\n"						      \
 "	  .save rp, r0\n"						      \
+"	  .body\n"							      \
+"	  .prologue\n"							      \
+"	  .save ar.pfs, r32\n"						      \
 "	  alloc loc0 = ar.pfs, 0, 3, 4, 0\n"				      \
 "	  .body\n"							      \
 "	  mov r2 = ip\n"						      \
@@ -332,8 +334,10 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
 "	.proc _dl_start_user#\n"					      \
 "_dl_start_user:\n"							      \
 "	 .prologue\n"							      \
-"	 .save ar.pfs, r32\n"						      \
 "	 .save rp, r0\n"						      \
+"	  .body\n"							      \
+"	 .prologue\n"							      \
+"	 .save ar.pfs, r32\n"						      \
 "	 .body\n"							      \
 "	{ .mii\n"							      \
 "	  /* Save the pointer to the user entry point fptr in loc2.  */\n"    \