This is the mail archive of the mailing list for the glibc 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] sysd-rules: Cut down the number of rtld-% pattern rules

On 09/14/2016 11:21 AM, Florian Weimer wrote:
> rtld only needs shared objects, so the other patterns are pointless and
> significantly increase the work make has to perform while identifying
> which pattern rule to apply.

Wow, that's 520 rules we could remove? If it works, it would be a great
reduction in the total rule count (~30% of the ~1500 rules).

> 2016-09-14  Florian Weimer  <>
> 	* scripts/sysd-rules.awk (BEGIN): Only generate rtld patterns for
> 	.os objects.
> diff --git a/scripts/sysd-rules.awk b/scripts/sysd-rules.awk
> index 69af400..c82e8fd 100644
> --- a/scripts/sysd-rules.awk
> +++ b/scripts/sysd-rules.awk
> @@ -50,6 +50,10 @@ BEGIN {
>          split(pattern, td, ":");
>          target_pattern = td[1];
>          dep_pattern = td[2];
> +        # rtld objects are always PIC.
> +        if (target_pattern ~ /^rtld/ && o != ".os") {
> +            continue;
> +        }
>          if (target_pattern == "%") {
>            command_suffix = "";
>          } else {

This looks good to me, all the *.os objects going into rtld-libc.a
are shared PIC objects involved in the final link of

Everything that needs to be non-PIC is compiled as s*.o and placed
directly into libc.a.

Therefore if you test the above on i686 and x86_64 and it shows no
ABI/API differences then I'd say just commit it.

This would be a really great improvement in compilation times. The
sysd-rules are really one of the limiting factor in 


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