arflags cleanup

Erik Cederstrand erik at cederstrand.dk
Fri Nov 9 15:22:42 UTC 2012


Hello Warner,

Den 09/11/2012 kl. 15.36 skrev Warner Losh <imp at bsdimp.com>:

> On Nov 9, 2012, at 3:52 AM, Erik Cederstrand wrote:
> 
>> Hello toolchainers,
>> 
>> I'm attempting to clean up hardcoded ar(1) flags in the tree to use the global ARFLAGS in share/mk/sys.mk instead. I want to be able to add "-D" to ARFLAGS and have it used everywhere.
>> 
>> The patch changes some hardcoded flags from e.g. "cru" to the default "rl" or "rv" from sys.mk. Looking at the manpage for ar(1), I'm pretty sure this is safe, and my runtime tests haven't turned out any problems. Loosing the "u" flags means loosing a bit in performance in theory, but I have tested this to be negligible in a buildworld / kernel run. In a later iteration, maybe the default flags can be added a "u".
>> 
>> Are there any problems with this patch?
> 
> I don't like losing the 'c' flag.  Makes things in the build too whiny.
> Why purposely lose the 'u' flag that you know helps performance?
> Why move from cq to rl? This can be a big slow down...

I'd actually like to add both 'u' and 'c', I just didn't want to both clean up and change the default in the same patch. A followup patch could be:


Index: share/mk/sys.mk
===================================================================
--- share/mk/sys.mk	(revision 242822)
+++ share/mk/sys.mk	(working copy)
@@ -39,7 +39,7 @@
 .if defined(%POSIX)
 ARFLAGS		?=	-rv
 .else
-ARFLAGS		?=	rl
+ARFLAGS		?=	cru
 .endif
 RANLIB		?=	ranlib


('l' is obsolete).

> What data can you offer that the buildworld run time is negligible?  Even on slower platforms?

I don't have any slower platforms available, at least not your definition of slower :-)

Erik


More information about the freebsd-toolchain mailing list