2e9b04
# Generate OUTPUT_FORMAT line for .so files from the system linker output.
2e9b04
# Imported from glibc/Makerules.
2e9b04
2e9b04
/ld.*[ 	]-E[BL]/b f
2e9b04
/collect.*[ 	]-E[BL]/b f
2e9b04
/OUTPUT_FORMAT[^)]*$/{N
2e9b04
s/\n[	 ]*/ /
2e9b04
}
2e9b04
t o
2e9b04
: o
2e9b04
s/^.*OUTPUT_FORMAT(\([^,]*\), \1, \1).*$/OUTPUT_FORMAT(\1)/
2e9b04
t q
2e9b04
s/^.*OUTPUT_FORMAT(\([^,]*\), \([^,]*\), \([^,]*\)).*$/\1,\2,\3/
2e9b04
t s
2e9b04
s/^.*OUTPUT_FORMAT(\([^,)]*\).*$)/OUTPUT_FORMAT(\1)/
2e9b04
t q
2e9b04
d
2e9b04
: s
2e9b04
s/"//g
2e9b04
G
2e9b04
s/\n//
2e9b04
s/^\([^,]*\),\([^,]*\),\([^,]*\),B/OUTPUT_FORMAT(\2)/p
2e9b04
s/^\([^,]*\),\([^,]*\),\([^,]*\),L/OUTPUT_FORMAT(\3)/p
2e9b04
s/^\([^,]*\),\([^,]*\),\([^,]*\)/OUTPUT_FORMAT(\1)/p
2e9b04
/,/s|^|*** BUG in libc/scripts/output-format.sed *** |p
2e9b04
q
2e9b04
: q
2e9b04
s/"//g
2e9b04
p
2e9b04
q
2e9b04
: f
2e9b04
s/^.*[ 	]-E\([BL]\)[ 	].*$/,\1/
2e9b04
t h
2e9b04
s/^.*[ 	]-E\([BL]\)$/,\1/
2e9b04
t h
2e9b04
d
2e9b04
: h
2e9b04
h