Enable -z separate-code, -z common and -z text for more targets

Fix a mis-placed "fi".
diff --git a/ld/emultempl/elf.em b/ld/emultempl/elf.em
index 863657e..2e86572 100644
--- a/ld/emultempl/elf.em
+++ b/ld/emultempl/elf.em
@@ -1084,6 +1084,7 @@
 	link_info.relro = false;
 EOF
 fi
+fi
 fragment <<EOF
       else if (strcmp (optarg, "separate-code") == 0)
 	link_info.separate_code = true;
@@ -1100,7 +1101,6 @@
       else if (strcmp (optarg, "textoff") == 0)
 	link_info.textrel_check = textrel_check_none;
 EOF
-fi
 
 if test -n "$PARSE_AND_LIST_ARGS_CASE_Z" ; then
 fragment <<EOF
diff --git a/ld/testsuite/ld-elf/pr22393-1e.d b/ld/testsuite/ld-elf/pr22393-1e.d
index 51d74fa..55f7e9a 100644
--- a/ld/testsuite/ld-elf/pr22393-1e.d
+++ b/ld/testsuite/ld-elf/pr22393-1e.d
@@ -2,7 +2,7 @@
 #ld: -z separate-code
 #readelf: -l --wide
 #target: *-*-linux-gnu *-*-gnu* *-*-nacl* arm*-*-uclinuxfdpiceabi
-#xfail: h8300-*-* rx-*-linux*
+#xfail: rx-*-linux*
 
 #failif
 #...
diff --git a/ld/testsuite/ld-elf/pr22393-1f.d b/ld/testsuite/ld-elf/pr22393-1f.d
index 2a44955..bc61b63 100644
--- a/ld/testsuite/ld-elf/pr22393-1f.d
+++ b/ld/testsuite/ld-elf/pr22393-1f.d
@@ -2,7 +2,7 @@
 #ld: -z separate-code
 #readelf: -l --wide
 #target: *-*-linux-gnu *-*-gnu* *-*-nacl* arm*-*-uclinuxfdpiceabi
-#xfail: h8300-*-* rx-*-linux*
+#xfail: rx-*-linux*
 
 #failif
 #...
diff --git a/ld/testsuite/ld-elf/pr30508.d b/ld/testsuite/ld-elf/pr30508.d
index 325ff40..1692780 100644
--- a/ld/testsuite/ld-elf/pr30508.d
+++ b/ld/testsuite/ld-elf/pr30508.d
@@ -2,7 +2,7 @@
 #objcopy_linked_file: -R .foo
 #readelf: -lW
 #target: *-*-linux-gnu *-*-gnu* *-*-nacl* arm*-*-uclinuxfdpiceabi
-#xfail: h8300-*-* mips*-*-* rx-*-linux*
+#xfail: mips*-*-* rx-*-linux*
 
 #...
  Section to Segment mapping: