This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 3/3, newlib] Allow locking routine to be retargeted


On Tue, 2017-01-31 at 17:19 +0000, Thomas Preudhomme wrote:
>  > 1. Why is the lock used by at_quick_exit() not required - I have
> no
>  > idea. The linking error (when I do not provide storage for this
> lock)
>  > about multiple definitions is visible only when I actually use the
>  > at_quick_exit() function.
> 
> That makes sense. If you don't use at_quick_exit then probably no
> symbol in the 
> corresponding object file is referenced and therefore the file is not
> linked in. 
> That's exactly why the "doubly defined error on missing symbol" work
> as 
> explained in the cover letter: file with dummy symbol is only linked
> in if it 
> solves an undefined reference.

This case seems a bit different, as it applies only to the
at_quick_exit() lock. In my code I have no references to "env" or "tz"
locks either, but I cannot drop these objects without the "multiple
definitions" error. Maybe my test is flawed, but browsing the assembly
output does not show any uses of __tz_lock(), __tz_unlock(),
__env_lock() or __env_unlock() functions (which are not present in the
output file), and these are the only places of newlib which use this
particular locks. I'll try later with a simpler project.

Regards,
FCh


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]