aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-01 23:44:35 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-01 23:44:35 +0000
commit13c3046411bee2b5dec8db03f3d2ee4fa79274bc (patch)
treebaab8efbfd13ebfebeb8f47b71216ea988044443
parentf37ef985f35a963f06b8112872899cb9d6811969 (diff)
* config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
* config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove. (CC1_SPEC): Don't handle -target. * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument options. * config/darwin.opt (Zallowable_client, Zbundle_loader, Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename, Zimage_base, Zinit, Zinstall_name, Zmultiply_defined, Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr, Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list, Zweak_reference_mismatches, client_name, compatibility_version, current_version, dylinker_install_name, pagezero_size, read_only_relocs, seg1addr, segs_read_only_addr, segs_read_write_addr, sub_library, sub_umbrella): New. * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove. * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove. * config/freebsd.opt: New. * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove. * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove. * config/rpath.opt: New. * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt. (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*): Use rpath.opt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166156 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog26
-rw-r--r--gcc/config.gcc4
-rw-r--r--gcc/config/alpha/alpha.h3
-rw-r--r--gcc/config/cris/cris.h12
-rw-r--r--gcc/config/darwin.h30
-rw-r--r--gcc/config/darwin.opt83
-rw-r--r--gcc/config/freebsd-spec.h8
-rw-r--r--gcc/config/freebsd.h6
-rw-r--r--gcc/config/freebsd.opt38
-rw-r--r--gcc/config/interix.h5
-rw-r--r--gcc/config/mips/iris6.h4
-rw-r--r--gcc/config/rpath.opt29
12 files changed, 180 insertions, 68 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0c2f666a467..1ca5b0be246 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,31 @@
2010-11-01 Joseph Myers <joseph@codesourcery.com>
+ * config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
+ * config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
+ (CC1_SPEC): Don't handle -target.
+ * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
+ options.
+ * config/darwin.opt (Zallowable_client, Zbundle_loader,
+ Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
+ Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
+ Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
+ Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
+ Zweak_reference_mismatches, client_name, compatibility_version,
+ current_version, dylinker_install_name, pagezero_size,
+ read_only_relocs, seg1addr, segs_read_only_addr,
+ segs_read_write_addr, sub_library, sub_umbrella): New.
+ * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
+ * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
+ * config/freebsd.opt: New.
+ * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
+ * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
+ * config/rpath.opt: New.
+ * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
+ (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
+ Use rpath.opt.
+
+2010-11-01 Joseph Myers <joseph@codesourcery.com>
+
* common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
* defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
(DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index b353fa00c20..64eaaefa3d2 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -528,6 +528,7 @@ case ${target} in
;;
esac
fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
+ extra_options="$extra_options rpath.opt freebsd.opt"
case ${target} in
*-*-freebsd[345].*)
:;;
@@ -727,6 +728,7 @@ alpha*-dec-osf5.1*)
tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf5"
tm_file="${tm_file} alpha/osf5.h"
tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1"
+ extra_options="${extra_options} rpath.opt"
extra_headers=va_list.h
use_gcc_stdint=provide
case ${enable_threads} in
@@ -1518,6 +1520,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
i[34567]86-*-interix3*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
tmake_file="${tmake_file} i386/t-interix"
+ extra_options="${extra_options} rpath.opt"
extra_objs=winnt.o
target_gtfiles="\$(srcdir)/config/i386/winnt.c"
if test x$enable_threads = xyes ; then
@@ -1784,6 +1787,7 @@ microblaze*-*-*)
mips-sgi-irix6.5*)
tm_file="elfos.h ${tm_file} mips/iris6.h"
tmake_file="mips/t-iris mips/t-iris6 mips/t-slibgcc-irix"
+ extra_options="${extra_options} rpath.opt"
target_cpu_default="MASK_ABICALLS"
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
# Only IRIX Development Foundation 1.3 for IRIX 6.5 provides stdint.h.
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index 7681b4ba5b5..5426a6414ec 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -96,9 +96,6 @@ along with GCC; see the file COPYING3. If not see
while (0)
#endif
-#define WORD_SWITCH_TAKES_ARG(STR) \
- (!strcmp (STR, "rpath") || DEFAULT_WORD_SWITCH_TAKES_ARG(STR))
-
/* Print subsidiary information on the compiler version in use. */
#define TARGET_VERSION
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index 776c44e2c81..a7b7e4d1e62 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -96,14 +96,6 @@ extern int cris_cpu_version;
/* Node: Driver */
-/* When using make with defaults.mak for Sun this will handily remove
- any "-target sun*" switches. */
-/* We need to override any previous definitions (linux.h) */
-#undef WORD_SWITCH_TAKES_ARG
-#define WORD_SWITCH_TAKES_ARG(STR) \
- (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \
- || !strcmp (STR, "target"))
-
/* Also provide canonical vN definitions when user specifies an alias.
Note that -melf overrides -maout. */
@@ -168,12 +160,10 @@ extern int cris_cpu_version;
" -D__CRIS_arch_tune=" CRIS_DEFAULT_TUNE "}}}}}"\
CRIS_ARCH_CPP_DEFAULT
-/* Remove those Sun-make "target" switches. */
/* Override previous definitions (linux.h). */
#undef CC1_SPEC
#define CC1_SPEC \
- "%{target*:}\
- %{metrax4:-march=v3}\
+ "%{metrax4:-march=v3}\
%{metrax100:-march=v8}\
%(cc1_subtarget)"
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index cd938cf6fbf..c488db22103 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -198,43 +198,13 @@ extern GTY(()) int darwin_ms_struct;
#undef WORD_SWITCH_TAKES_ARG
#define WORD_SWITCH_TAKES_ARG(STR) \
(DEFAULT_WORD_SWITCH_TAKES_ARG (STR) ? 1 : \
- !strcmp (STR, "Zallowable_client") ? 1 : \
- !strcmp (STR, "arch") ? 1 : \
- !strcmp (STR, "arch_only") ? 1 : \
- !strcmp (STR, "Zbundle_loader") ? 1 : \
- !strcmp (STR, "client_name") ? 1 : \
- !strcmp (STR, "compatibility_version") ? 1 : \
- !strcmp (STR, "current_version") ? 1 : \
- !strcmp (STR, "Zdylib_file") ? 1 : \
- !strcmp (STR, "Zexported_symbols_list") ? 1 : \
- !strcmp (STR, "Zimage_base") ? 1 : \
- !strcmp (STR, "Zinit") ? 1 : \
- !strcmp (STR, "Zinstall_name") ? 1 : \
- !strcmp (STR, "Zmultiplydefinedunused") ? 1 : \
- !strcmp (STR, "Zmultiply_defined") ? 1 : \
- !strcmp (STR, "precomp-trustfile") ? 1 : \
- !strcmp (STR, "read_only_relocs") ? 1 : \
!strcmp (STR, "sectcreate") ? 3 : \
!strcmp (STR, "sectorder") ? 3 : \
!strcmp (STR, "Zsegaddr") ? 2 : \
- !strcmp (STR, "Zsegs_read_only_addr") ? 1 : \
- !strcmp (STR, "Zsegs_read_write_addr") ? 1 : \
- !strcmp (STR, "Zseg_addr_table") ? 1 : \
- !strcmp (STR, "Zfn_seg_addr_table_filename") ? 1 :\
- !strcmp (STR, "seg1addr") ? 1 : \
!strcmp (STR, "segprot") ? 3 : \
- !strcmp (STR, "sub_library") ? 1 : \
- !strcmp (STR, "sub_umbrella") ? 1 : \
- !strcmp (STR, "Zumbrella") ? 1 : \
- !strcmp (STR, "Zunexported_symbols_list") ? 1 : \
- !strcmp (STR, "Zweak_reference_mismatches") ? 1 : \
- !strcmp (STR, "pagezero_size") ? 1 : \
- !strcmp (STR, "segs_read_only_addr") ? 1 : \
- !strcmp (STR, "segs_read_write_addr") ? 1 : \
!strcmp (STR, "sectalign") ? 3 : \
!strcmp (STR, "sectobjectsymbols") ? 2 : \
!strcmp (STR, "segcreate") ? 3 : \
- !strcmp (STR, "dylinker_install_name") ? 1 : \
0)
#define SUBTARGET_C_COMMON_OVERRIDE_OPTIONS do { \
diff --git a/gcc/config/darwin.opt b/gcc/config/darwin.opt
index afb122849f4..4435fea0987 100644
--- a/gcc/config/darwin.opt
+++ b/gcc/config/darwin.opt
@@ -1,6 +1,6 @@
; Processor-independent options for Darwin.
-; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
@@ -54,5 +54,86 @@ iframework
Target RejectNegative C ObjC C++ ObjC++ Joined Separate
-iframework <dir> Add <dir> to the end of the system framework include path
+Zallowable_client
+Driver Separate
+
+Zbundle_loader
+Driver Separate
+
+Zdylib_file
+Driver Separate
+
+Zexported_symbols_list
+Driver Separate
+
+Zfn_seg_addr_table_filename
+Driver Separate
+
+Zimage_base
+Driver Separate
+
+Zinit
+Driver Separate
+
+Zinstall_name
+Driver Separate
+
+Zmultiply_defined
+Driver Separate
+
+Zmultiplydefinedunused
+Driver Separate
+
+Zseg_addr_table
+Driver Separate
+
+Zsegs_read_only_addr
+Driver Separate
+
+Zsegs_read_write_addr
+Driver Separate
+
+Zumbrella
+Driver Separate
+
+Zunexported_symbols_list
+Driver Separate
+
+Zweak_reference_mismatches
+Driver Separate
+
+client_name
+Driver Separate
+
+compatibility_version
+Driver Separate
+
+current_version
+Driver Separate
+
+dylinker_install_name
+Driver Separate
+
+pagezero_size
+Driver Separate
+
+read_only_relocs
+Driver Separate
+
+seg1addr
+Driver Separate
+
+segs_read_only_addr
+Driver Separate
+
+segs_read_write_addr
+Driver Separate
+
+sub_library
+Driver Separate
+
+sub_umbrella
+Driver Separate
+
undefined
Driver Separate
diff --git a/gcc/config/freebsd-spec.h b/gcc/config/freebsd-spec.h
index 7e08e787007..00b7407b1f4 100644
--- a/gcc/config/freebsd-spec.h
+++ b/gcc/config/freebsd-spec.h
@@ -34,14 +34,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* In case we need to know. */
#define USING_CONFIG_FREEBSD_SPEC 1
-/* This defines which multi-letter switches take arguments. */
-
-#define FBSD_WORD_SWITCH_TAKES_ARG(STR) \
- (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \
- || !strcmp ((STR), "rpath") || !strcmp ((STR), "rpath-link") \
- || !strcmp ((STR), "soname") || !strcmp ((STR), "defsym") \
- || !strcmp ((STR), "assert") || !strcmp ((STR), "dynamic-linker"))
-
#define FBSD_TARGET_OS_CPP_BUILTINS() \
do \
{ \
diff --git a/gcc/config/freebsd.h b/gcc/config/freebsd.h
index 83811891cf3..1a7dac9630d 100644
--- a/gcc/config/freebsd.h
+++ b/gcc/config/freebsd.h
@@ -30,12 +30,6 @@ along with GCC; see the file COPYING3. If not see
/* In case we need to know. */
#define USING_CONFIG_FREEBSD 1
-/* This defines which switch words take arguments.
- We have --assert etc. */
-
-#undef WORD_SWITCH_TAKES_ARG
-#define WORD_SWITCH_TAKES_ARG(STR) (FBSD_WORD_SWITCH_TAKES_ARG(STR))
-
#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() FBSD_TARGET_OS_CPP_BUILTINS()
diff --git a/gcc/config/freebsd.opt b/gcc/config/freebsd.opt
new file mode 100644
index 00000000000..26dc9dfdaa5
--- /dev/null
+++ b/gcc/config/freebsd.opt
@@ -0,0 +1,38 @@
+; FreeBSD options.
+
+; Copyright (C) 2010
+; Free Software Foundation, Inc.
+;
+; This file is part of GCC.
+;
+; GCC is free software; you can redistribute it and/or modify it under
+; the terms of the GNU General Public License as published by the Free
+; Software Foundation; either version 3, or (at your option) any later
+; version.
+;
+; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+; WARRANTY; without even the implied warranty of MERCHANTABILITY or
+; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+; for more details.
+;
+; You should have received a copy of the GNU General Public License
+; along with GCC; see the file COPYING3. If not see
+; <http://www.gnu.org/licenses/>.
+
+; See the GCC internals manual (options.texi) for a description of this file's format.
+
+; Please try to keep this file in ASCII collating order.
+
+assert
+Driver Separate
+
+defsym
+Driver Separate
+
+rpath-link
+Driver Separate
+
+soname
+Driver Separate
+
+; This comment is to ensure we retain the blank line above.
diff --git a/gcc/config/interix.h b/gcc/config/interix.h
index 67698a92a51..658c534277a 100644
--- a/gcc/config/interix.h
+++ b/gcc/config/interix.h
@@ -58,11 +58,6 @@ for windows/multi thread */
#define STARTFILE_SPEC \
"%{!shared:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}} %{shared:crti%O%s}"
-#undef WORD_SWITCH_TAKES_ARG
-#define WORD_SWITCH_TAKES_ARG(STR) \
- (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \
- || !strcmp(STR, "rpath"))
-
#define STDC_0_IN_SYSTEM_HEADERS 1
diff --git a/gcc/config/mips/iris6.h b/gcc/config/mips/iris6.h
index 6fa8ffc0616..dd8eb1158af 100644
--- a/gcc/config/mips/iris6.h
+++ b/gcc/config/mips/iris6.h
@@ -146,10 +146,6 @@ along with GCC; see the file COPYING3. If not see
#undef DEFAULT_SIGNED_CHAR
#define DEFAULT_SIGNED_CHAR 0
-#define WORD_SWITCH_TAKES_ARG(STR) \
- (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \
- || strcmp (STR, "rpath") == 0)
-
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
diff --git a/gcc/config/rpath.opt b/gcc/config/rpath.opt
new file mode 100644
index 00000000000..c76e2fc598c
--- /dev/null
+++ b/gcc/config/rpath.opt
@@ -0,0 +1,29 @@
+; -rpath option to the driver.
+
+; Copyright (C) 2010
+; Free Software Foundation, Inc.
+;
+; This file is part of GCC.
+;
+; GCC is free software; you can redistribute it and/or modify it under
+; the terms of the GNU General Public License as published by the Free
+; Software Foundation; either version 3, or (at your option) any later
+; version.
+;
+; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+; WARRANTY; without even the implied warranty of MERCHANTABILITY or
+; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+; for more details.
+;
+; You should have received a copy of the GNU General Public License
+; along with GCC; see the file COPYING3. If not see
+; <http://www.gnu.org/licenses/>.
+
+; See the GCC internals manual (options.texi) for a description of this file's format.
+
+; Please try to keep this file in ASCII collating order.
+
+rpath
+Driver Separate
+
+; This comment is to ensure we retain the blank line above.