From: Julian Seward Date: Sat, 21 Jul 2012 10:08:29 +0000 (+0000) Subject: ppc64-linux _start: don't assume ._start_in_C_linux -- the function X-Git-Tag: svn/VALGRIND_3_8_0~100 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1e2d0f70acdb02da3036a3204d181b8bbfb30bb4;p=thirdparty%2Fvalgrind.git 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. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12768 --- diff --git a/coregrind/m_main.c b/coregrind/m_main.c index 33df5f30bb..0c4819fa36 100644 --- a/coregrind/m_main.c +++ b/coregrind/m_main.c @@ -2740,7 +2740,14 @@ asm("\n" 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" );