|
From: <sv...@va...> - 2012-07-21 10:08:38
|
sewardj 2012-07-21 11:08:29 +0100 (Sat, 21 Jul 2012)
New Revision: 12768
Log:
ppc64-linux _start: don't assume ._start_in_C_linux -- the function
descriptor for _start_in_C_linux -- actually exists. Instead call the
entry point directly.
Modified files:
trunk/coregrind/m_main.c
Modified: trunk/coregrind/m_main.c (+8 -1)
===================================================================
--- trunk/coregrind/m_main.c 2012-07-21 00:40:35 -23:00 (rev 12767)
+++ trunk/coregrind/m_main.c 2012-07-21 11:08:29 +01:00 (rev 12768)
@@ -2740,7 +2740,14 @@
call _start_in_C_linux, passing it the initial SP. */
"\tmr 3,1\n"
"\tmr 1,16\n"
- "\tbl ._start_in_C_linux\n"
+ "\tlis 14, _start_in_C_linux@highest\n"
+ "\tori 14,14,_start_in_C_linux@higher\n"
+ "\tsldi 14,14,32\n"
+ "\toris 14,14,_start_in_C_linux@h\n"
+ "\tori 14,14,_start_in_C_linux@l\n"
+ "\tld 14,0(14)\n"
+ "\tmtctr 14\n"
+ "\tbctrl\n"
"\tnop\n"
"\ttrap\n"
);
|