[uClibc] Re: [uClibc-cvs] CVS uClibc/libc

Mike Frysinger vapier at gentoo.org
Fri Feb 4 06:35:39 UTC 2005


On Tuesday 25 January 2005 04:44 am, Peter Kjellerstedt wrote:

sorry for the delay, but lets get on with it ;)

> Could you not achieve the above with something like this
> much simpler construct:
>
> $(LIBNAME) ar-target: subdirs
>  $(AR) $(ARFLAGS) $(LIBNAME) `cat obj.*`
>  $(AR) m $(LIBNAME) `cat obj.string.generic
> obj.sysdeps.$(TARGET_ARCH)`
>  $(AR) dN 2 $(LIBNAME) `cat obj.*`
>    $(RANLIB) $(LIBNAME)

i'm kind of an ar newbie and i missed the 'm' operator in the man page :)

however, i'd prefer to just delete all duplicates and re-add the ones that are 
known to double up simple for sanity's sake ...

> Then a couple of related questions:
> 1) Why is obj.signal re-added?

there are some symbols in there that get defined in arch-specific dirs

> 2) Shouldn't obj.sysdeps.$(TARGET_ARCH) take precedence over
>    obj.sysdeps.common?

yes ... i noticed that before on a testing machine and i fixed it there, but i 
guess i forgot to propogate it back to the machine i was `cvs commit`ing 
on :)

> 3) Shouldn't obj.string.$(TARGET_ARCH) take precedence over
>    obj.string.generic which in turn should take precedence
>    over obj.string?

yes and no ... here's something weird i noticed about this ... if you enable 
wide char support, then you will get a bunch of wide char functions in 
obj.string ... the previous behavior of the Makefile was that obj.string 
trumps obj.string.$(ARCH) which trumps obj.string.generic ... that way if you 
enabled wide char support, all the wide char functions would be used ... 
however, if you dont enable wide char support, obj.string is empty

there's also the problem that if you dont enable arch-specific string support, 
obj.string.$(ARCH) wont exist and thus you cant try to `cat` it ;)

> 4) Will ar dN 2 handle triplets too, i.e., if there is three
>    versions of strcpy? I think not, which makes me believe it
>    needs to be executed twice...

hmm, no, i dont believe it will ... and doing a quick test over here shows 
that it doesnt ...

i'll commit something once svn comes back online and see if i cant get it 
right
-mike



More information about the uClibc mailing list