mirror of https://gitee.com/Nocallback/glibc.git
Browse Source
GNU ld and gold have supported --print-output-format since 2011. glibc requires binutils>=2.25 (2015), so if LD is GNU ld or gold, we can assume the option is supported. lld is by default a cross linker supporting multiple targets. It auto detects the file format and does not need OUTPUT_FORMAT. It does not support --print-output-format. By parsing objdump -f, we can support all the three linkers. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>maskray/stack_chk_guard
6 changed files with 3 additions and 77 deletions
@ -1,35 +0,0 @@ |
|||
/ld.*[ ]-E[BL]/b f |
|||
/collect.*[ ]-E[BL]/b f |
|||
/OUTPUT_FORMAT[^)]*$/{N |
|||
s/\n[ ]*/ / |
|||
} |
|||
t o |
|||
: o |
|||
s/^.*OUTPUT_FORMAT(\([^,]*\), \1, \1).*$/OUTPUT_FORMAT(\1)/ |
|||
t q |
|||
s/^.*OUTPUT_FORMAT(\([^,]*\), \([^,]*\), \([^,]*\)).*$/\1,\2,\3/ |
|||
t s |
|||
s/^.*OUTPUT_FORMAT(\([^,)]*\).*$)/OUTPUT_FORMAT(\1)/ |
|||
t q |
|||
d |
|||
: s |
|||
s/"//g |
|||
G |
|||
s/\n// |
|||
s/^\([^,]*\),\([^,]*\),\([^,]*\),B/OUTPUT_FORMAT(\2)/p |
|||
s/^\([^,]*\),\([^,]*\),\([^,]*\),L/OUTPUT_FORMAT(\3)/p |
|||
s/^\([^,]*\),\([^,]*\),\([^,]*\)/OUTPUT_FORMAT(\1)/p |
|||
/,/s|^|*** BUG in libc/scripts/output-format.sed *** |p |
|||
q |
|||
: q |
|||
s/"//g |
|||
p |
|||
q |
|||
: f |
|||
s/^.*[ ]-E\([BL]\)[ ].*$/,\1/ |
|||
t h |
|||
s/^.*[ ]-E\([BL]\)$/,\1/ |
|||
t h |
|||
d |
|||
: h |
|||
h |
|||
Loading…
Reference in new issue