Patchwork Add ARM VxWorks options from specs to new arm/vxworks.opt

login
register
mail settings
Submitter Joseph S. Myers
Date Jan. 31, 2011, 11:56 p.m.
Message ID <Pine.LNX.4.64.1101312355260.16596@digraph.polyomino.org.uk>
Download mbox | patch
Permalink /patch/81250/
State New
Headers show

Comments

Joseph S. Myers - Jan. 31, 2011, 11:56 p.m.
In preparation for the driver only accepting options listed in .opt
files, and not other options that simply happen to match some spec,
this patch adds options from specs in arm/vxworks.h to a new
arm/vxworks.opt.

This sort of -t option - handled only in specs, and used in multilib
selection - is the sort that critically needs to go in .opt files for
multilib selection to be based on the gcc_options structure.  (These
options will also need in due course to set something in that
structure, for which adding Var entries will be the simplest
approach.)  There are other such cases for some other targets as well,
while the various options that are not used in multilib selection are
being added to .opt files not because that is directly needed for
multilib selection changes but because it allows driver errors for
options not in .opt files and so helps avoid accidental future
addition of multilib-relevant options (in forward-ported patches, say)
in specs only.  (Having all options in .opt files is potentially
useful in other ways as well.)

Tested building cc1 and xgcc for cross to arm-wrs-vxworks.  OK to
commit?

2011-01-31  Joseph Myers  <joseph@codesourcery.com>

	* config/arm/vxworks.opt: New.
	* config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
Nathan Sidwell - Feb. 1, 2011, 7:28 a.m.
On 01/31/11 23:56, Joseph S. Myers wrote:
> In preparation for the driver only accepting options listed in .opt
> files, and not other options that simply happen to match some spec,
> this patch adds options from specs in arm/vxworks.h to a new
> arm/vxworks.opt.
>
> This sort of -t option - handled only in specs, and used in multilib
> selection - is the sort that critically needs to go in .opt files for
> multilib selection to be based on the gcc_options structure.  (These
> options will also need in due course to set something in that
> structure, for which adding Var entries will be the simplest
> approach.)  There are other such cases for some other targets as well,
> while the various options that are not used in multilib selection are
> being added to .opt files not because that is directly needed for
> multilib selection changes but because it allows driver errors for
> options not in .opt files and so helps avoid accidental future
> addition of multilib-relevant options (in forward-ported patches, say)
> in specs only.  (Having all options in .opt files is potentially
> useful in other ways as well.)
>
> Tested building cc1 and xgcc for cross to arm-wrs-vxworks.  OK to
> commit?

ok
Nick Clifton - Feb. 1, 2011, 11:19 a.m.
Hi Joseph,

> 2011-01-31  Joseph Myers<joseph@codesourcery.com>
>
> 	* config/arm/vxworks.opt: New.
> 	* config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.

Approved - please apply.

Cheers
   Nick

Patch

Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc	(revision 169317)
+++ gcc/config.gcc	(working copy)
@@ -770,6 +770,7 @@  arc-*-elf*)
 	;;
 arm-wrs-vxworks)
 	tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
+	extra_options="${extra_options} arm/vxworks.opt"
 	tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
 	;;
 arm*-*-freebsd*)
Index: gcc/config/arm/vxworks.opt
===================================================================
--- gcc/config/arm/vxworks.opt	(revision 0)
+++ gcc/config/arm/vxworks.opt	(revision 0)
@@ -0,0 +1,60 @@ 
+; ARM VxWorks options.
+
+; Copyright (C) 2011
+; 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.
+
+t4
+Driver
+
+t4be
+Driver
+
+t4t
+Driver
+
+t4tbe
+Driver
+
+t5
+Driver
+
+t5be
+Driver
+
+t5t
+Driver
+
+t5tbe
+Driver
+
+tstrongarm
+Driver
+
+txscale
+Driver
+
+txscalebe
+Driver
+
+; This comment is to ensure we retain the blank line above.