[PATCH 2/2] MIPS: Use $a0 instead of $v0 for __syscall_error() argument

Rich Felker dalias at aerifal.cx
Thu Jun 7 00:02:01 UTC 2012


On Wed, Jun 06, 2012 at 03:11:33PM -0700, Kevin Cernekee wrote:
> On Wed, Jun 6, 2012 at 12:06 PM, Rich Felker <dalias at aerifal.cx> wrote:
> > Why would lazy binding ever be used for __syscall_error? Shouldn't
> > this be bound at link time via appropriate visibility or otherwise? I
> > can't think of any reason you'd want it to be possible to override
> > it...
> 
> Within libc.so itself, I believe that is accurate.  I haven't seen any
> errno anomalies involving functions that live inside libc.so.
> 
> But I also did not see anything that would provide special binding
> treatment for the case of librt.so functions calling libc.so's
> __syscall_error().  AFAICT __syscall_error() was treated as "just
> another libc export."
> 
> Is there a way to mark an individual symbol so that it always uses
> "BIND_NOW" semantics when satisfying another module's dependency?

It seems to me that just putting an extra local copy of
__syscall_error in librt and libpthread would be like a good idea, to
avoid the extra PLT indirection...

Rich


More information about the uClibc mailing list