http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53803

Alan Modra <amodra at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID

--- Comment #1 from Alan Modra <amodra at gmail dot com> 2012-06-29 15:58:57 
UTC ---
In reply to question (1), if you get "hidden symbol _restgpr_31_x ... is
referenced by DSO" then the DSO (libc?) in question has been wrongly built. 
You can not have dynamic save/restore functions, so each shared library or
executable must use local copies of those functions.

In reply to observation (2) and (3), linking with -nostdlib means that you need
to really know what you're doing.  In this case you must link in some object or
static library that provides the save/restore functions if you use them (as in
-Os code), and, yes, linking against libgcc.a should do the trick.

In reply to question (2), it sounds like you need to write some more code, or
link against libgcc.a

In reply to question (3), the restgpr_*_x calls are a variant of the gpr
restore functions that tear down the stack frame and return, in addition to
restoring registers.

Reply via email to