/*32and64-bitmillicode,originalauthorHewlett-PackardadaptedforgccbyPaulBame<bame@debian.org>andAlanModra<alan@linuxcare.com.au>.Copyright2001,2002,2003FreeSoftwareFoundation,Inc.ThisfileispartofGCCandisreleasedunderthetermsofoftheGNUGeneralPublicLicenseaspublishedbytheFreeSoftwareFoundation; either version 2, or (at your option) any later version.SeethefileCOPYINGinthetop-levelGCCsourcedirectoryforacopyofthelicense.*/#include "milli.h"#ifdef L_dyncallSUBSPA_MILLIATTR_DATAGSYM($$dyncall).export$$dyncall,millicode.proc.callinfomillicode.entrybb,>=,n%r22,30,LREF(1); branch if not plabel addressdepi0,31,2,%r22; clear the two least significant bitsldw4(%r22),%r19; load new LTP valueldw0(%r22),%r22; load address of targetLSYM(1)bv%r0(%r22); branch to the real targetstw%r2,-24(%r30); save return address into frame marker.exit.procend#endif