summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils/bfd/targmatch.sed
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/binutils/bfd/targmatch.sed')
-rw-r--r--gnu/usr.bin/binutils/bfd/targmatch.sed27
1 files changed, 21 insertions, 6 deletions
diff --git a/gnu/usr.bin/binutils/bfd/targmatch.sed b/gnu/usr.bin/binutils/bfd/targmatch.sed
index 5bbd17e9ec9..2f40e723f2c 100644
--- a/gnu/usr.bin/binutils/bfd/targmatch.sed
+++ b/gnu/usr.bin/binutils/bfd/targmatch.sed
@@ -5,13 +5,28 @@ s/^#endif/KEEP #endif/
s/^[ ]*#.*$//
s/^KEEP #/#/
s/[ ]*\\$//
+t lab1
+ :lab1
s/[| ][| ]*\([^|() ][^|() ]*\)[ ]*|/{ "\1", NULL },/g
s/[| ][| ]*\([^|() ][^|() ]*\)[ ]*)/{ "\1",/g
-s/^[ ]*targ_defvec=\([^ ]*\)/#if !defined (SELECT_VECS) || defined (HAVE_\1)\
-\&\1\
-#else\
-UNSUPPORTED_TARGET\
-#endif\
-},/
+t lab2
+s/^[ ]*targ_defvec=\([^ ]*\)/#if !defined (SELECT_VECS) || defined (HAVE_\1)/
+t lab3
s/.*=.*//
s/;;//
+b
+ :lab2
+H
+d
+ :lab3
+G
+s/\n/%EOL%/g
+s/\(defined (HAVE_\)\([^)]*\)\(.*\)/\1\2\3\
+\&\2 },\
+#endif/
+s/%EOL%/\
+/g
+p
+s/.*//g
+s/\n//g
+h