aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/targmatch.sed25
1 files changed, 18 insertions, 7 deletions
diff --git a/bfd/targmatch.sed b/bfd/targmatch.sed
index f681aac..9effbd5 100644
--- a/bfd/targmatch.sed
+++ b/bfd/targmatch.sed
@@ -5,13 +5,24 @@ s/^#endif/KEEP #endif/
s/^[ ]*#.*$//
s/^KEEP #/#/
s/[ ]*\\$//
-s/[| ][| ]*\([^|() ][^|() ]*\)[ ]*\|/{ "\1", NULL },/g
+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/\(defined (HAVE_\)\([^)]*\)\(.*\n*.*\n*.*\n*.*\)/\1\2\3\
+\&\2 },\
+#endif/
+p
+s/.*\n*.*\n*.*\n*.*//g
+h