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