summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorbriggs <briggs@NetBSD.org>2005-03-08 15:36:10 +0000
committerbriggs <briggs@NetBSD.org>2005-03-08 15:36:10 +0000
commit851c74e4adcd089152fbbd64f7a5da8ed43f03b6 (patch)
tree39dd2fd54850e841abce615a2ccd1d1915a4b19a /gnu
parentb4e68c8648395ede89f371c178c86ec31a392e13 (diff)
Override SWITCH_TAKES_ARG() definition from sysv4.h to include
NetBSD options. Allows powerpc-*-netbsd* to accept "-R <arg>" when <arg> doesn't exist in the host environment (as all other NetBSD/ELF platforms do). As with MIPS and as before, accept -G NUM, too. The more portable way to pass arguments to the linker is, of course, still -Wl,-R,/some/path (note that there are two commas).
Diffstat (limited to 'gnu')
-rw-r--r--gnu/dist/gcc/gcc/config/rs6000/netbsd.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/gnu/dist/gcc/gcc/config/rs6000/netbsd.h b/gnu/dist/gcc/gcc/config/rs6000/netbsd.h
index bbaab55b621..0b02d47402b 100644
--- a/gnu/dist/gcc/gcc/config/rs6000/netbsd.h
+++ b/gnu/dist/gcc/gcc/config/rs6000/netbsd.h
@@ -20,6 +20,22 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+/* This defines which switch letters take arguments. On NetBSD, most
+ of the normal cases (defined by gcc.c) apply, and we also have -h*
+ and -z* options (for the linker) (coming from SVR4).
+ Copied from ../netbsd-elf.h and re{undef,defined} here to
+ override the powerpc sysv4.h definition.
+ netbsd-elf.h defines the default list + 'h' + 'z' + 'R'.
+ rs6000/sysv4.h defines the default list + 'G'. */
+
+#undef SWITCH_TAKES_ARG
+#define SWITCH_TAKES_ARG(CHAR) \
+ (DEFAULT_SWITCH_TAKES_ARG (CHAR) \
+ || (CHAR) == 'h' \
+ || (CHAR) == 'z' \
+ || (CHAR) == 'R' \
+ || (CHAR) == 'G')
+
#undef TARGET_OS_CPP_BUILTINS /* FIXME: sysv4.h should not define this! */
#define TARGET_OS_CPP_BUILTINS() \
do \