parent
6e5fcec72b
commit
e3f70cbec1
262
COPYING.LIB
262
COPYING.LIB
|
@ -1,127 +1,112 @@
|
|||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
[This is the first released version of the library GPL. It is
|
||||
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
||||
|
||||
Preamble
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations
|
||||
below.
|
||||
This license, the Library General Public License, applies to some
|
||||
specially designated Free Software Foundation software, and to any
|
||||
other libraries whose authors decide to use it. You can use it for
|
||||
your libraries, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if
|
||||
you distribute copies of the library, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
code. If you link a program with the library, you must provide
|
||||
complete object files to the recipients so that they can relink them
|
||||
with the library, after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
Our method of protecting your rights has two steps: (1) copyright
|
||||
the library, and (2) offer you this license which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
Also, for each distributor's protection, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
library. If the library is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original
|
||||
version, so that any problems introduced by others will not reflect on
|
||||
the original authors' reputations.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that companies distributing free
|
||||
software will individually obtain patent licenses, thus in effect
|
||||
transforming the program into proprietary software. To prevent this,
|
||||
we have made it clear that any patent must be licensed for everyone's
|
||||
free use or not licensed at all.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
Most GNU software, including some libraries, is covered by the ordinary
|
||||
GNU General Public License, which was designed for utility programs. This
|
||||
license, the GNU Library General Public License, applies to certain
|
||||
designated libraries. This license is quite different from the ordinary
|
||||
one; be sure to read it in full, and don't assume that anything in it is
|
||||
the same as in the ordinary license.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
The reason we have a separate public license for some libraries is that
|
||||
they blur the distinction we usually make between modifying or adding to a
|
||||
program and simply using it. Linking a program with a library, without
|
||||
changing the library, is in some sense simply using the library, and is
|
||||
analogous to running a utility program or application program. However, in
|
||||
a textual and legal sense, the linked executable is a combined work, a
|
||||
derivative of the original library, and the ordinary General Public License
|
||||
treats it as such.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
Because of this blurred distinction, using the ordinary General
|
||||
Public License for libraries did not effectively promote software
|
||||
sharing, because most developers did not use the libraries. We
|
||||
concluded that weaker conditions might promote sharing better.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it
|
||||
becomes a de-facto standard. To achieve this, non-free programs must
|
||||
be allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
However, unrestricted linking of non-free programs would deprive the
|
||||
users of those programs of all benefit from the free status of the
|
||||
libraries themselves. This Library General Public License is intended to
|
||||
permit developers of non-free programs to use free libraries, while
|
||||
preserving your freedom as a user of such programs to change the free
|
||||
libraries that are incorporated in them. (We have not seen how to achieve
|
||||
this as regards changes in header files, but we have achieved it as regards
|
||||
changes in the actual functions of the Library.) The hope is that this
|
||||
will lead to faster development of free libraries.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
former contains code derived from the library, while the latter only
|
||||
works together with the library.
|
||||
|
||||
Note that it is possible for a library to be covered by the ordinary
|
||||
General Public License rather than by this special one.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
0. This License Agreement applies to any software library which
|
||||
contains a notice placed by the copyright holder or other authorized
|
||||
party saying it may be distributed under the terms of this Library
|
||||
General Public License (also called "this License"). Each licensee is
|
||||
addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
|
@ -138,8 +123,8 @@ included without limitation in the term "modification".)
|
|||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control
|
||||
compilation and installation of the library.
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
|
@ -148,7 +133,7 @@ such a program is covered only if its contents constitute a work based
|
|||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
|
@ -270,7 +255,7 @@ distribute the object code for the work under the terms of Section 6.
|
|||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
6. As an exception to the Sections above, you may also compile or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
|
@ -297,31 +282,23 @@ of these things:
|
|||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
b) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at least
|
||||
three years, to give the same user the materials specified in
|
||||
Subsection 6a, above, for a charge no more than the cost of
|
||||
performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
c) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
d) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
the source code distributed need not include anything that is normally
|
||||
distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
@ -370,7 +347,7 @@ Library), the recipient automatically receives a license from the
|
|||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
|
@ -386,10 +363,9 @@ all those who receive copies directly or indirectly through you, then
|
|||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply, and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
|
@ -407,14 +383,14 @@ be a consequence of the rest of this License.
|
|||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License
|
||||
may add an explicit geographical distribution limitation excluding those
|
||||
countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
versions of the Library General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
|
@ -435,7 +411,7 @@ decision will be guided by the two goals of preserving the free status
|
|||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
|
@ -458,53 +434,49 @@ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
|||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
Appendix: How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms
|
||||
of the ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library.
|
||||
It is safest to attach them to the start of each source file to most
|
||||
effectively convey the exclusion of warranty; and each file should
|
||||
have at least the "copyright" line and a pointer to where the full
|
||||
notice is found.
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library 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
|
||||
Lesser General Public License for more details.
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
MA 02110-1301, USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or
|
||||
your school, if any, to sign a "copyright disclaimer" for the library,
|
||||
if necessary. Here is a sample; alter the names:
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James
|
||||
Random Hacker.
|
||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
|
||||
|
||||
|
|
627
MAINTAINERS
627
MAINTAINERS
|
@ -1,552 +1,121 @@
|
|||
Note
|
||||
====
|
||||
Please feel free to add, edit, delete this file.
|
||||
Please do not make ChangeLog entries.
|
||||
|
||||
This file contains information about people who are permitted to make
|
||||
changes to various parts of the compiler and associated libraries.
|
||||
COPYING, COPYING.LIB, README
|
||||
http://gnu.org.
|
||||
|
||||
Please do not contact the people in this file directly to report
|
||||
problems in GCC.
|
||||
Makefile.*; configure; configure.ac; src-release
|
||||
Any global maintainer can approve changes to these
|
||||
files, but they should be aware that they need to
|
||||
be kept in sync with their counterparts in the GCC
|
||||
repository. Also please notify the following of
|
||||
any committed patches:
|
||||
binutils@sourceware.org
|
||||
gdb-patches@sourceware.org
|
||||
|
||||
For general information about GCC, please visit:
|
||||
bfd/; binutils/; elfcpp/; gas/; gold/; gprof/; ld/; opcodes/; cpu/;
|
||||
BFD's part of include/
|
||||
|
||||
http://gcc.gnu.org
|
||||
binutils: http://sourceware.org/binutils/
|
||||
Patches to binutils@sourceware.org.
|
||||
Please notify the following of any interface changes:
|
||||
gdb-patches@sourceware.org
|
||||
|
||||
To report problems in GCC, please visit:
|
||||
cgen/; cgen parts of opcodes/, sim/ & include/
|
||||
cgen: http://sourceware.org/cgen/
|
||||
Patches to cgen@sourceware.org
|
||||
May need separate opcodes/ or sim/ approval for
|
||||
commits of regenerated files there.
|
||||
|
||||
http://gcc.gnu.org/bugs.html
|
||||
config.guess; config.sub; readline/support/config.{sub,guess}
|
||||
config: http://savannah.gnu.org/projects/config
|
||||
Patches to config-patches@gnu.org.
|
||||
Changes need to be done in tandem with the official CONFIG
|
||||
sources or submitted to the master file maintainer and brought
|
||||
in via a merge. When updating any of these files, please be
|
||||
sure to update all of them.
|
||||
Please notify the following of any committed patches:
|
||||
binutils@sourceware.org
|
||||
gdb-patches@sourceware.org
|
||||
|
||||
Maintainers
|
||||
===========
|
||||
depcomp; mkinstalldirs
|
||||
Send bug reports and patches to bug-automake@gnu.org.
|
||||
|
||||
Global Reviewers
|
||||
gdb/; readline/; sim/; GDB's part of include/
|
||||
GDB: http://www.gnu.org/software/gdb/
|
||||
Patches to gdb-patches@sourceware.org.
|
||||
See also gdb/MAINTAINERS and sim/MAINTAINERS.
|
||||
|
||||
Richard Earnshaw richard.earnshaw@arm.com
|
||||
Richard Guenther rguenther@suse.de
|
||||
Richard Henderson rth@redhat.com
|
||||
Jakub Jelinek jakub@redhat.com
|
||||
Geoffrey Keating geoffk@geoffk.org
|
||||
Richard Kenner kenner@nyu.edu
|
||||
Jeff Law law@redhat.com
|
||||
Michael Meissner gnu@the-meissners.org
|
||||
Jason Merrill jason@redhat.com
|
||||
David S. Miller davem@redhat.com
|
||||
Mark Mitchell mark@codesourcery.com
|
||||
Joseph Myers joseph@codesourcery.com
|
||||
Diego Novillo dnovillo@google.com
|
||||
Bernd Schmidt bernds@codesourcery.com
|
||||
Ian Lance Taylor ian@airs.com
|
||||
Jim Wilson wilson@tuliptree.org
|
||||
include/
|
||||
See binutils/, gdb/, sid/, gcc/, libiberty/ etc.
|
||||
|
||||
Note that while global reviewers can approve changes to any part of
|
||||
the compiler or associated libraries, they still need approval for
|
||||
their own patches from other maintainers or reviewers.
|
||||
intl/; config.rhost; libiberty/; libiberty's part of include/
|
||||
gcc: http://gcc.gnu.org
|
||||
Changes need to be done in tandem with the official GCC
|
||||
sources or submitted to the master file maintainer and brought
|
||||
in via a merge. Note: approved patches in gcc's libiberty or
|
||||
intl are automatically approved in this libiberty and intl also;
|
||||
feel free to merge them yourself if needed sooner than the next
|
||||
merge. Otherwise, changes are automatically merged, usually
|
||||
within a day.
|
||||
|
||||
CPU Port Maintainers (CPU alphabetical order)
|
||||
libdecnumber/
|
||||
See libiberty. The master copy of this directory is in the GCC
|
||||
repository.
|
||||
|
||||
alpha port Richard Henderson rth@redhat.com
|
||||
arm port Nick Clifton nickc@redhat.com
|
||||
arm port Richard Earnshaw richard.earnshaw@arm.com
|
||||
arm port Paul Brook paul@codesourcery.com
|
||||
arm port Ramana Radhakrishnan ramana.radhakrishnan@arm.com
|
||||
avr port Denis Chertykov chertykov@gmail.com
|
||||
avr port Anatoly Sokolov aesok@post.ru
|
||||
avr port Eric Weddington eric.weddington@atmel.com
|
||||
bfin port Bernd Schmidt bernds@codesourcery.com
|
||||
bfin port Jie Zhang jzhang918@gmail.com
|
||||
c6x port Bernd Schmidt bernds@codesourcery.com
|
||||
cris port Hans-Peter Nilsson hp@axis.com
|
||||
epiphany port Joern Rennecke joern.rennecke@embecosm.com
|
||||
fr30 port Nick Clifton nickc@redhat.com
|
||||
frv port Nick Clifton nickc@redhat.com
|
||||
frv port Alexandre Oliva aoliva@redhat.com
|
||||
h8 port Jeff Law law@redhat.com
|
||||
h8 port Kazu Hirata kazu@codesourcery.com
|
||||
hppa port Jeff Law law@redhat.com
|
||||
hppa port John David Anglin dave.anglin@nrc-cnrc.gc.ca
|
||||
i386 port Richard Henderson rth@redhat.com
|
||||
i386 port Jan Hubicka jh@suse.cz
|
||||
i386 port Uros Bizjak ubizjak@gmail.com
|
||||
ia64 port Jim Wilson wilson@tuliptree.org
|
||||
ia64 port Steve Ellcey sje@cup.hp.com
|
||||
iq2000 port Nick Clifton nickc@redhat.com
|
||||
lm32 port Sebastien Bourdeauducq sebastien@milkymist.org
|
||||
m32c port DJ Delorie dj@redhat.com
|
||||
m32r port Nick Clifton nickc@redhat.com
|
||||
m68k port (?) Jeff Law law@redhat.com
|
||||
m68k port Andreas Schwab schwab@linux-m68k.org
|
||||
m68k-motorola-sysv port Philippe De Muyter phdm@macqel.be
|
||||
mcore port Nick Clifton nickc@redhat.com
|
||||
mep port DJ Delorie dj@redhat.com
|
||||
microblaze Michael Eager eager@eagercon.com
|
||||
mips port Eric Christopher echristo@apple.com
|
||||
mips port Richard Sandiford rdsandiford@googlemail.com
|
||||
mmix port Hans-Peter Nilsson hp@bitrange.com
|
||||
mn10300 port Jeff Law law@redhat.com
|
||||
mn10300 port Alexandre Oliva aoliva@redhat.com
|
||||
moxie port Anthony Green green@moxielogic.com
|
||||
pdp11 port Paul Koning ni1d@arrl.net
|
||||
picochip port Hariharan Sandanagobalane hariharan.gcc@gmail.com
|
||||
picochip port Daniel Towner dant@picochip.com
|
||||
rl78 port DJ Delorie dj@redhat.com
|
||||
rs6000 port Geoff Keating geoffk@geoffk.org
|
||||
rs6000 port David Edelsohn dje.gcc@gmail.com
|
||||
rs6000 vector extns Aldy Hernandez aldyh@redhat.com
|
||||
rx port Nick Clifton nickc@redhat.com
|
||||
s390 port Hartmut Penner hpenner@de.ibm.com
|
||||
s390 port Ulrich Weigand uweigand@de.ibm.com
|
||||
s390 port Andreas Krebbel Andreas.Krebbel@de.ibm.com
|
||||
score port Chen Liqin liqin.gcc@gmail.com
|
||||
sh port Alexandre Oliva aoliva@redhat.com
|
||||
sh port Kaz Kojima kkojima@gcc.gnu.org
|
||||
sparc port Richard Henderson rth@redhat.com
|
||||
sparc port David S. Miller davem@redhat.com
|
||||
sparc port Eric Botcazou ebotcazou@libertysurf.fr
|
||||
spu port Trevor Smigiel trevor_smigiel@playstation.sony.com
|
||||
spu port David Edelsohn dje.gcc@gmail.com
|
||||
spu port Ulrich Weigand uweigand@de.ibm.com
|
||||
tilegx port Walter Lee walt@tilera.com
|
||||
tilepro port Walter Lee walt@tilera.com
|
||||
v850 port Nick Clifton nickc@redhat.com
|
||||
vax port Matt Thomas matt@3am-software.com
|
||||
x86-64 port Jan Hubicka jh@suse.cz
|
||||
xstormy16 port Nick Clifton nickc@redhat.com
|
||||
xtensa port Sterling Augustine augustine.sterling@gmail.com
|
||||
ltconfig; ltmain.sh; ltcf-*.sh
|
||||
libtool: http://www.gnu.org/software/libtool/
|
||||
Changes need to be done in tandem with the official LIBTOOL
|
||||
sources or submitted to the master file maintainer and brought
|
||||
in via a merge.
|
||||
|
||||
OS Port Maintainers (OS alphabetical order)
|
||||
move-if-change
|
||||
Send bug reports and patches to bug-gnulib@gnu.org.
|
||||
|
||||
darwin port Mike Stump mikestump@comcast.net
|
||||
darwin port Eric Christopher echristo@apple.com
|
||||
darwin port Stan Shebs stanshebs@earthlink.net
|
||||
DJGPP DJ Delorie dj@delorie.com
|
||||
freebsd Loren J. Rittle ljrittle@acm.org
|
||||
GNU/Hurd Thomas Schwinge thomas@schwinge.name
|
||||
hpux John David Anglin dave.anglin@nrc-cnrc.gc.ca
|
||||
hpux Steve Ellcey sje@cup.hp.com
|
||||
irix, osf, solaris Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
|
||||
netbsd Jason Thorpe thorpej@netbsd.org
|
||||
netbsd Krister Walfridsson krister.walfridsson@gmail.com
|
||||
sh-linux-gnu Kaz Kojima kkojima@gcc.gnu.org
|
||||
RTEMS Ports Joel Sherrill joel@oarcorp.com
|
||||
RTEMS Ports Ralf Corsepius ralf.corsepius@rtems.org
|
||||
VMS Douglas Rupp rupp@gnat.com
|
||||
VMS Tristan Gingold gingold@adacore.com
|
||||
VxWorks ports Nathan Sidwell nathan@codesourcery.com
|
||||
windows, cygwin, mingw Christopher Faylor cgf@gcc.gnu.org
|
||||
windows, cygwin, mingw Kai Tietz ktietz@redhat.com
|
||||
windows, cygwin, mingw Dave Korn dave.korn.cygwin@gmail.com
|
||||
symlink-tree
|
||||
gcc: http://gcc.gnu.org
|
||||
See libiberty.
|
||||
|
||||
Language Front Ends Maintainers
|
||||
newlib/; libgloss/
|
||||
http://sourceware.org/newlib/
|
||||
Patches to newlib@sourceware.org.
|
||||
|
||||
C front end/ISO C99 Joseph Myers joseph@codesourcery.com
|
||||
C front end/ISO C99 Richard Henderson rth@redhat.com
|
||||
Ada front end Geert Bosch bosch@gnat.com
|
||||
Ada front end Robert Dewar dewar@gnat.com
|
||||
Ada front end Arnaud Charlet charlet@act-europe.fr
|
||||
Ada front end Eric Botcazou ebotcazou@libertysurf.fr
|
||||
Fortran Paul Brook paul@codesourcery.com
|
||||
c++ Jason Merrill jason@redhat.com
|
||||
c++ Mark Mitchell mark@codesourcery.com
|
||||
c++ Nathan Sidwell nathan@codesourcery.com
|
||||
go Ian Lance Taylor ian@airs.com
|
||||
java Per Bothner per@bothner.com
|
||||
java Andrew Haley aph@redhat.com
|
||||
java Tom Tromey tromey@redhat.com
|
||||
objective-c/c++ Mike Stump mikestump@comcast.net
|
||||
objective-c/c++ Stan Shebs stanshebs@earthlink.net
|
||||
sid/; SID's part of cgen/
|
||||
sid: http://sourceware.org/sid/
|
||||
Patches to sid@sourceware.org
|
||||
|
||||
Various Maintainers
|
||||
texinfo/texinfo.tex
|
||||
texinfo: http://ftp.gnu.org.
|
||||
Latest version can be found on ftp://ftp.gnu.org and can be
|
||||
imported at any (reasonable) time.
|
||||
Please not use GCC's texinfo. Please do not import texinfo.
|
||||
|
||||
libcpp Per Bothner per@bothner.com
|
||||
libcpp All C and C++ front end maintainers
|
||||
fp-bit Ian Lance Taylor ian@airs.com
|
||||
libdecnumber Ben Elliston bje@gnu.org
|
||||
libgcc Ian Lance Taylor ian@airs.com
|
||||
libgcj Tom Tromey tromey@redhat.com
|
||||
libgcj Bryce McKinlay mckinlay@redhat.com
|
||||
libgo Ian Lance Taylor ian@airs.com
|
||||
libgomp Richard Henderson rth@redhat.com
|
||||
libgomp Jakub Jelinek jakub@redhat.com
|
||||
libiberty DJ Delorie dj@redhat.com
|
||||
libiberty Ian Lance Taylor ian@airs.com
|
||||
libffi testsuite Andreas Tobler andreast@gcc.gnu.org
|
||||
libobjc Nicola Pero nicola.pero@meta-innovation.com
|
||||
libobjc Andrew Pinski pinskia@gmail.com
|
||||
libquadmath Tobias Burnus burnus@net-b.de
|
||||
libquadmath Jakub Jelinek jakub@redhat.com
|
||||
loop discovery Michael Hayes m.hayes@elec.canterbury.ac.nz
|
||||
soft-fp Joseph Myers joseph@codesourcery.com
|
||||
scheduler (+ haifa) Jim Wilson wilson@tuliptree.org
|
||||
scheduler (+ haifa) Michael Meissner gnu@the-meissners.org
|
||||
scheduler (+ haifa) Jeff Law law@redhat.com
|
||||
scheduler (+ haifa) Vladimir Makarov vmakarov@redhat.com
|
||||
modulo-scheduler Ayal Zaks zaks@il.ibm.com
|
||||
reorg Jeff Law law@redhat.com
|
||||
caller-save.c Jeff Law law@redhat.com
|
||||
callgraph Jan Hubicka jh@suse.cz
|
||||
debugging code Jim Wilson wilson@tuliptree.org
|
||||
dwarf debugging code Jason Merrill jason@redhat.com
|
||||
c++ runtime libs Paolo Carlini paolo.carlini@oracle.com
|
||||
c++ runtime libs Gabriel Dos Reis gdr@integrable-solutions.net
|
||||
c++ runtime libs Ulrich Drepper drepper@redhat.com
|
||||
c++ runtime libs Benjamin Kosnik bkoz@redhat.com
|
||||
c++ runtime libs Loren J. Rittle ljrittle@acm.org
|
||||
c++ runtime libs Jonathan Wakely redi@gcc.gnu.org
|
||||
*synthetic multiply Torbjorn Granlund tege@swox.com
|
||||
*c-torture Torbjorn Granlund tege@swox.com
|
||||
fixincludes Bruce Korb bkorb@gnu.org
|
||||
*gimpl* Jakub Jelinek jakub@redhat.com
|
||||
*gimpl* Aldy Hernandez aldyh@redhat.com
|
||||
*gimpl* Jason Merrill jason@redhat.com
|
||||
gcse.c Jeff Law law@redhat.com
|
||||
global opt framework Jeff Law law@redhat.com
|
||||
jump.c David S. Miller davem@redhat.com
|
||||
web pages Gerald Pfeifer gerald@pfeifer.com
|
||||
config.sub/config.guess Ben Elliston config-patches@gnu.org
|
||||
basic block reordering Jason Eckhardt jle@rice.edu
|
||||
i18n Philipp Thomas pth@suse.de
|
||||
i18n Joseph Myers joseph@codesourcery.com
|
||||
diagnostic messages Gabriel Dos Reis gdr@integrable-solutions.net
|
||||
build machinery (*.in) Paolo Bonzini bonzini@gnu.org
|
||||
build machinery (*.in) DJ Delorie dj@redhat.com
|
||||
build machinery (*.in) Nathanael Nerode neroden@gcc.gnu.org
|
||||
build machinery (*.in) Alexandre Oliva aoliva@redhat.com
|
||||
build machinery (*.in) Ralf Wildenhues Ralf.Wildenhues@gmx.de
|
||||
docs co-maintainer Gerald Pfeifer gerald@pfeifer.com
|
||||
docs co-maintainer Joseph Myers joseph@codesourcery.com
|
||||
docstring relicensing Diego Novillo dnovillo@google.com
|
||||
docstring relicensing Gerald Pfeifer gerald@pfeifer.com
|
||||
docstring relicensing Joseph Myers joseph@codesourcery.com
|
||||
predict.def Jan Hubicka jh@suse.cz
|
||||
contrib/regression Geoff Keating geoffk@geoffk.org
|
||||
gcov Jan Hubicka jh@suse.cz
|
||||
gcov Nathan Sidwell nathan@codesourcery.com
|
||||
option handling Neil Booth neil@daikokuya.co.uk
|
||||
option handling Joseph Myers joseph@codesourcery.com
|
||||
middle-end Jeff Law law@redhat.com
|
||||
middle-end Roger Sayle roger@eyesopen.com
|
||||
middle-end Ian Lance Taylor ian@airs.com
|
||||
middle-end Diego Novillo dnovillo@google.com
|
||||
middle-end Richard Guenther rguenther@suse.de
|
||||
tree-ssa Diego Novillo dnovillo@google.com
|
||||
tree-ssa Andrew MacLeod amacleod@redhat.com
|
||||
PRE Daniel Berlin dberlin@dberlin.org
|
||||
code sinking Daniel Berlin dberlin@dberlin.org
|
||||
mudflap Frank Ch. Eigler fche@redhat.com
|
||||
tree browser/unparser Sebastian Pop sebastian.pop@amd.com
|
||||
scev, data dependence Daniel Berlin dberlin@dberlin.org
|
||||
scev, data dependence Sebastian Pop sebastian.pop@amd.com
|
||||
profile feedback Jan Hubicka jh@suse.cz
|
||||
type-safe vectors Nathan Sidwell nathan@codesourcery.com
|
||||
alias analysis Daniel Berlin dberlin@dberlin.org
|
||||
reload Ulrich Weigand uweigand@de.ibm.com
|
||||
reload Bernd Schmidt bernds@codesourcery.com
|
||||
dfp.c, related Ben Elliston bje@gnu.org
|
||||
RTL optimizers Eric Botcazou ebotcazou@libertysurf.fr
|
||||
RTL optimizers Richard Sandiford rdsandiford@googlemail.com
|
||||
auto-vectorizer Richard Guenther rguenther@suse.de
|
||||
auto-vectorizer Zdenek Dvorak ook@ucw.cz
|
||||
loop infrastructure Zdenek Dvorak ook@ucw.cz
|
||||
OpenMP Jakub Jelinek jakub@redhat.com
|
||||
testsuite Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
|
||||
testsuite Mike Stump mikestump@comcast.net
|
||||
register allocation Vladimir Makarov vmakarov@redhat.com
|
||||
tcl/; tix/; itcl/; tk/; libgui/
|
||||
insight: http://sourceware.org/insight/
|
||||
Contact insight@sourceware.org.
|
||||
|
||||
Note that individuals who maintain parts of the compiler need approval to
|
||||
check in changes outside of the parts of the compiler they maintain.
|
||||
winsup/
|
||||
cygwin: http://sourceware.org/cygwin
|
||||
Patches to cygwin-patches@cygwin.com.
|
||||
General discussion cygwin@cygwin.com.
|
||||
|
||||
Non-Algorithmic Maintainers
|
||||
config-ml.in; makefile.vms; mkdep; setup.com;
|
||||
etc/; utils/;
|
||||
Any global maintainer can approve changes to these
|
||||
files and directories.
|
||||
|
||||
loop optimizer Daniel Berlin dberlin@dberlin.org
|
||||
compile; depcomp; install-sh; missing; ylwrap;
|
||||
config/
|
||||
Any global maintainer can approve changes to these
|
||||
files and directories, but they should be aware
|
||||
that they need to be kept in sync with their
|
||||
counterparts in the GCC repository.
|
||||
|
||||
Note that individuals who maintain parts of the compiler as non-algorithmic
|
||||
maintainers need approval to check in algorithmic changes or changes
|
||||
outside of the parts of the compiler they maintain.
|
||||
modules file
|
||||
If you understand the file format (or can cut-and-paste existing
|
||||
entries), modify it. If it scares you, get someone who does
|
||||
understand it to help you. Be prepared to fix it if you do break it.
|
||||
|
||||
Reviewers
|
||||
|
||||
dataflow Paolo Bonzini bonzini@gnu.org
|
||||
dataflow Seongbae Park seongbae.park@gmail.com
|
||||
dataflow Kenneth Zadeck zadeck@naturalbridge.com
|
||||
driver Joseph Myers joseph@codesourcery.com
|
||||
Fortran Janne Blomqvist jb@gcc.gnu.org
|
||||
Fortran Tobias Burnus burnus@net-b.de
|
||||
Fortran Jerry DeLisle jvdelisle@gcc.gnu.org
|
||||
Fortran Erik Edelmann erik.edelmann@iki.fi
|
||||
Fortran Daniel Franke franke.daniel@gmail.com
|
||||
Fortran Steven G. Kargl sgk@troutmask.apl.washington.edu
|
||||
Fortran Thomas König tkoenig@gcc.gnu.org
|
||||
Fortran Daniel Kraft d@domob.eu
|
||||
Fortran Toon Moene toon@moene.org
|
||||
Fortran Mikael Morin mikael.morin@sfr.fr
|
||||
Fortran Brooks Moses brooks.moses@codesourcery.com
|
||||
Fortran Tobias Schlüter tobias.schlueter@physik.uni-muenchen.de
|
||||
Fortran Paul Thomas pault@gcc.gnu.org
|
||||
Fortran Janus Weil janus@gcc.gnu.org
|
||||
gengtype/GTY Laurynas Biveinis laurynas.biveinis@gmail.com
|
||||
Graphite Daniel Berlin dberlin@dberlin.org
|
||||
Graphite Tobias Grosser grosser@fim.uni-passau.de
|
||||
Graphite Sebastian Pop sebastian.pop@amd.com
|
||||
libcpp Tom Tromey tromey@redhat.com
|
||||
loop optimizer Zdenek Dvorak ook@ucw.cz
|
||||
LTO Diego Novillo dnovillo@google.com
|
||||
LTO Richard Guenther rguenther@suse.de
|
||||
LTO plugin Cary Coutant ccoutant@google.com
|
||||
Plugin Diego Novillo dnovillo@google.com
|
||||
Plugin Le-Chun Wu lcwu@google.com
|
||||
register allocation Peter Bergner bergner@vnet.ibm.com
|
||||
register allocation Kenneth Zadeck zadeck@naturalbridge.com
|
||||
register allocation Seongbae Park seongbae.park@gmail.com
|
||||
selective scheduling Andrey Belevantsev abel@ispras.ru
|
||||
|
||||
Note that while reviewers can approve changes to parts of the compiler
|
||||
that they maintain, they still need approval for their own patches
|
||||
from other maintainers or reviewers.
|
||||
|
||||
Write After Approval (last name alphabetical order)
|
||||
|
||||
Mark G. Adams mark.g.adams@sympatico.ca
|
||||
Raksit Ashok raksit@google.com
|
||||
Matt Austern austern@google.com
|
||||
David Ayers ayers@fsfe.org
|
||||
Giovanni Bajo giovannibajo@gcc.gnu.org
|
||||
Simon Baldwin simonb@google.com
|
||||
Scott Bambrough scottb@netwinder.org
|
||||
Wolfgang Bangerth bangerth@dealii.org
|
||||
Tejas Belagod tejas.belagod@arm.com
|
||||
Andrey Belevantsev abel@ispras.ru
|
||||
Jon Beniston jon@beniston.com
|
||||
Peter Bergner bergner@vnet.ibm.com
|
||||
Jan Beulich jbeulich@novell.com
|
||||
David Billinghurst David.Billinghurst@riotinto.com
|
||||
Tomas Bily tbily@suse.cz
|
||||
Eric Blake ericb@gcc.gnu.org
|
||||
Phil Blundell pb@futuretv.com
|
||||
Hans Boehm hboehm@gcc.gnu.org
|
||||
Segher Boessenkool segher@kernel.crashing.org
|
||||
Ian Bolton ian.bolton@arm.com
|
||||
Andrea Bona andrea.bona@st.com
|
||||
Paolo Bonzini bonzini@gnu.org
|
||||
Neil Booth neil@daikokuya.co.uk
|
||||
Steven Bosscher steven@gcc.gnu.org
|
||||
Robert Bowdidge bowdidge@apple.com
|
||||
Joel Brobecker brobecker@gnat.com
|
||||
Dave Brolley brolley@redhat.com
|
||||
Julian Brown julian@codesourcery.com
|
||||
Christian Bruel christian.bruel@st.com
|
||||
Kevin Buettner kevinb@redhat.com
|
||||
Andrew Cagney cagney@redhat.com
|
||||
Daniel Carrera dcarrera@gmail.com
|
||||
Stephane Carrez stcarrez@nerim.fr
|
||||
Gabriel Charette gchare@google.com
|
||||
Chandra Chavva cchavva@redhat.com
|
||||
Fabien Chêne fabien@gcc.gnu.org
|
||||
Bin Cheng bin.cheng@arm.com
|
||||
Harshit Chopra harshit@google.com
|
||||
William Cohen wcohen@redhat.com
|
||||
Josh Conner jconner@apple.com
|
||||
R. Kelley Cook kcook@gcc.gnu.org
|
||||
Christian Cornelssen ccorn@cs.tu-berlin.de
|
||||
François-Xavier Coudert fxcoudert@gcc.gnu.org
|
||||
Cary Coutant ccoutant@google.com
|
||||
Ian Dall ian@beware.dropbear.id.au
|
||||
David Daney david.daney@caviumnetworks.com
|
||||
Bud Davis jmdavis@link.com
|
||||
Chris Demetriou cgd@google.com
|
||||
Sameera Deshpande sameera.deshpande@arm.com
|
||||
François Dumont fdumont@gcc.gnu.org
|
||||
Benoit Dupont de Dinechin benoit.dupont-de-dinechin@st.com
|
||||
Michael Eager eager@eagercon.com
|
||||
Phil Edwards pme@gcc.gnu.org
|
||||
Mohan Embar gnustuff@thisiscool.com
|
||||
Oleg Endo olegendo@gcc.gnu.org
|
||||
Revital Eres eres@il.ibm.com
|
||||
Marc Espie espie@cvs.openbsd.org
|
||||
Rafael Ávila de Espíndola espindola@google.com
|
||||
Ansgar Esztermann ansgar@thphy.uni-duesseldorf.de
|
||||
Doug Evans dje@google.com
|
||||
Chris Fairles cfairles@gcc.gnu.org
|
||||
Changpeng Fang changpeng.fang@amd.com
|
||||
Li Feng nemokingdom@gmail.com
|
||||
Thomas Fitzsimmons fitzsim@redhat.com
|
||||
Brian Ford ford@vss.fsi.com
|
||||
John Freeman jfreeman08@gmail.com
|
||||
Nathan Froyd froydnj@gcc.gnu.org
|
||||
Chao-ying Fu fu@mips.com
|
||||
Gary Funck gary@intrepid.com
|
||||
Pompapathi V Gadad Pompapathi.V.Gadad@nsc.com
|
||||
Kaveh Ghazi ghazi@gcc.gnu.org
|
||||
Matthew Gingell gingell@gnat.com
|
||||
Tristan Gingold gingold@adacore.com
|
||||
Anthony Green green@redhat.com
|
||||
Doug Gregor doug.gregor@gmail.com
|
||||
Matthew Gretton-Dann matthew.gretton-dann@arm.com
|
||||
Jon Grimm jgrimm2@us.ibm.com
|
||||
Laurent Guerby laurent@guerby.net
|
||||
Xuepeng Guo terry.guo@arm.com
|
||||
Wei Guozhi carrot@google.com
|
||||
Mostafa Hagog hagog@gcc.gnu.org
|
||||
Olivier Hainque hainque@act-europe.fr
|
||||
Stuart Hastings stuart@apple.com
|
||||
Pat Haugen pthaugen@us.ibm.com
|
||||
Mark Heffernan meheff@google.com
|
||||
George Helffrich george@gcc.gnu.org
|
||||
Fergus Henderson fjh@cs.mu.oz.au
|
||||
Stuart Henderson shenders@gcc.gnu.org
|
||||
Matthew Hiller hiller@redhat.com
|
||||
Manfred Hollstein mh@suse.com
|
||||
Falk Hueffner falk@debian.org
|
||||
Andrew John Hughes gnu_andrew@member.fsf.org
|
||||
Andy Hutchinson hutchinsonandy@aim.com
|
||||
Bernardo Innocenti bernie@develer.com
|
||||
Balaji V. Iyer bviyer@gmail.com
|
||||
Daniel Jacobowitz drow@false.org
|
||||
Andreas Jaeger aj@suse.de
|
||||
Harsha Jagasia harsha.jagasia@amd.com
|
||||
Fariborz Jahanian fjahanian@apple.com
|
||||
Martin Jambor mjambor@suse.cz
|
||||
Andrew Jenner andrew@codesourcery.com
|
||||
Janis Johnson janisjo@codesourcery.com
|
||||
Teresa Johnson tejohnson@google.com
|
||||
Kean Johnston jkj@sco.com
|
||||
Phillip Jordan phillip.m.jordan@gmail.com
|
||||
Tim Josling tej@melbpc.org.au
|
||||
Victor Kaplansky victork@il.ibm.com
|
||||
Brendan Kehoe brendan@zen.org
|
||||
Matthias Klose doko@debian.org
|
||||
Andi Kleen andi@firstfloor.org
|
||||
Jeff Knaggs jknaggs@redhat.com
|
||||
Michael Koch konqueror@gmx.de
|
||||
Matt Kraai kraai@ftbfs.org
|
||||
Jan Kratochvil jan.kratochvil@redhat.com
|
||||
Venkataramanan Kumar venkataramanan.kumar@amd.com
|
||||
Maxim Kuvyrkov maxim@codesourcery.com
|
||||
Doug Kwan dougkwan@google.com
|
||||
Scott Robert Ladd scott.ladd@coyotegulch.com
|
||||
Razya Ladelsky razya@gcc.gnu.org
|
||||
Thierry Lafage thierry.lafage@inria.fr
|
||||
Aaron W. LaFramboise aaronavay62@aaronwl.com
|
||||
Rask Ingemann Lambertsen ccc94453@vip.cybercity.dk
|
||||
Asher Langton langton2@llnl.gov
|
||||
Chris Lattner sabre@nondot.org
|
||||
Terry Laurenzo tlaurenzo@gmail.com
|
||||
Georg-Johann Lay avr@gjlay.de
|
||||
Marc Lehmann pcg@goof.com
|
||||
James Lemke jwlemke@codesourcery.com
|
||||
Kriang Lerdsuwanakij lerdsuwa@users.sourceforge.net
|
||||
Jiangning Liu jiangning.liu@arm.com
|
||||
Sa Liu saliu@de.ibm.com
|
||||
Ralph Loader rcl@ihug.co.nz
|
||||
Gabor Loki loki@inf.u-szeged.hu
|
||||
Sandra Loosemore sandra@codesourcery.com
|
||||
Manuel López-Ibáñez manu@gcc.gnu.org
|
||||
Martin v. Löwis loewis@informatik.hu-berlin.de
|
||||
H.J. Lu hjl.tools@gmail.com
|
||||
Xinliang David Li davidxl@google.com
|
||||
Luis Machado luisgpm@br.ibm.com
|
||||
Ziga Mahkovec ziga.mahkovec@klika.si
|
||||
Simon Martin simartin@users.sourceforge.net
|
||||
Ranjit Mathew rmathew@hotmail.com
|
||||
Michael Matz matz@suse.de
|
||||
Greg McGary gkm@gnu.org
|
||||
Adam Megacz adam@xwt.org
|
||||
Bingfeng Mei bmei@broadcom.com
|
||||
Jim Meyering jim@meyering.net
|
||||
Martin Michlmayr tbm@cyrius.com
|
||||
Lee Millward lee.millward@gmail.com
|
||||
Alan Modra amodra@gmail.com
|
||||
Alexander Monakov amonakov@ispras.ru
|
||||
Catherine Moore clm@codesourcery.com
|
||||
James A. Morrison phython@gcc.gnu.org
|
||||
Dirk Mueller dmueller@suse.de
|
||||
Phil Muldoon pmuldoon@redhat.com
|
||||
Quentin Neill quentin.neill.gnu@gmail.com
|
||||
Adam Nemet adambnemet@gmail.com
|
||||
Thomas Neumann tneumann@users.sourceforge.net
|
||||
Dan Nicolaescu dann@ics.uci.edu
|
||||
Dorit Nuzman dorit@il.ibm.com
|
||||
David O'Brien obrien@FreeBSD.org
|
||||
Carlos O'Donell carlos@codesourcery.com
|
||||
Peter O'Gorman pogma@thewrittenword.com
|
||||
Andrea Ornstein andrea.ornstein@st.com
|
||||
Seongbae Park seongbae.park@gmail.com
|
||||
Devang Patel dpatel@apple.com
|
||||
Fernando Pereira pronesto@gmail.com
|
||||
Kaushik Phatak kaushik.phatak@kpitcummins.com
|
||||
Nicolas Pitre nico@cam.org
|
||||
Paul Pluzhnikov ppluzhnikov@google.com
|
||||
Antoniu Pop antoniu.pop@gmail.com
|
||||
Vladimir Prus vladimir@codesourcery.com
|
||||
Yao Qi yao@codesourcery.com
|
||||
Jerry Quinn jlquinn@optonline.net
|
||||
Ramana Radhakrishnan ramana.radhakrishnan@arm.com
|
||||
Easwaran Raman eraman@google.com
|
||||
Rolf Rasmussen rolfwr@gcc.gnu.org
|
||||
Volker Reichelt v.reichelt@netcologne.de
|
||||
Bernhard Reutner-Fischer rep.dot.nop@gmail.com
|
||||
Tom Rix trix@redhat.com
|
||||
Craig Rodrigues rodrigc@gcc.gnu.org
|
||||
Erven Rohou erven.rohou@inria.fr
|
||||
Ira Rosen irar@il.ibm.com
|
||||
Maciej W. Rozycki macro@linux-mips.org
|
||||
Silvius Rus rus@google.com
|
||||
Matthew Sachs msachs@apple.com
|
||||
Iain Sandoe iains@gcc.gnu.org
|
||||
Duncan Sands baldrick@gcc.gnu.org
|
||||
William Schmidt wschmidt@linux.vnet.ibm.com
|
||||
Dodji Seketeli dodji@gcc.gnu.org
|
||||
Svein Seldal svein@dev.seldal.com
|
||||
Thiemo Seufer ths@networkno.de
|
||||
Marcus Shawcroft marcus.shawcroft@arm.com
|
||||
Johannes Singler singler@kit.edu
|
||||
Franz Sirl franz.sirl-kernel@lauterbach.com
|
||||
Jan Sjodin jan.sjodin@amd.com
|
||||
Edward Smith-Rowland 3dw4rd@verizon.net
|
||||
Jayant Sonar jayant.sonar@kpitcummins.com
|
||||
Michael Sokolov msokolov@ivan.Harhan.ORG
|
||||
Richard Stallman rms@gnu.org
|
||||
Basile Starynkevitch basile@starynkevitch.net
|
||||
Jakub Staszak kuba@et.pl
|
||||
Graham Stott graham.stott@btinternet.com
|
||||
Andrew Stubbs ams@codesourcery.com
|
||||
Mike Stump mikestump@comcast.net
|
||||
Jeff Sturm jsturm@gcc.gnu.org
|
||||
Gabriele Svelto gabriele.svelto@st.com
|
||||
Sriraman Tallam tmsriram@google.com
|
||||
Chung-Lin Tang cltang@codesourcery.com
|
||||
Samuel Tardieu sam@rfc1149.net
|
||||
Kresten Krab Thorup krab@gcc.gnu.org
|
||||
Caroline Tice ctice@apple.com
|
||||
Konrad Trifunovic konrad.trifunovic@inria.fr
|
||||
David Ung davidu@mips.com
|
||||
Neil Vachharajani nvachhar@gmail.com
|
||||
Kris Van Hees kris.van.hees@oracle.com
|
||||
Tom de Vries tom@codesourcery.com
|
||||
Nenad Vukicevic nenad@intrepid.com
|
||||
Feng Wang fengwang@nudt.edu.cn
|
||||
Stephen M. Webb stephen.webb@bregmasoft.com
|
||||
John Wehle john@feith.com
|
||||
Florian Weimer fw@deneb.enyo.de
|
||||
Zack Weinberg zackw@panix.com
|
||||
Mark Wielaard mark@gcc.gnu.org
|
||||
Ollie Wild aaw@google.com
|
||||
Kevin Williams kevin.williams@inria.fr
|
||||
Carlo Wood carlo@alinoe.com
|
||||
Le-Chun Wu lcwu@google.com
|
||||
Mingjie Xing mingjie.xing@gmail.com
|
||||
Canqun Yang canqun@nudt.edu.cn
|
||||
Jeffrey Yasskin jyasskin@google.com
|
||||
Joey Ye joey.ye@arm.com
|
||||
David Yuste david.yuste@gmail.com
|
||||
Kirill Yukhin kirill.yukhin@gmail.com
|
||||
Kenneth Zadeck zadeck@naturalbridge.com
|
||||
Yufeng Zhang yufeng.zhang@arm.com
|
||||
Shujing Zhao pearly.zhao@oracle.com
|
||||
Jon Ziegler jonz@apple.com
|
||||
Roman Zippel zippel@linux-m68k.org
|
||||
Josef Zlomek josef.zlomek@email.cz
|
||||
|
||||
Bug database only accounts
|
||||
|
||||
James Dennett jdennett@acm.org
|
||||
Christian Ehrhardt ehrhardt@mathematik.uni-ulm.de
|
||||
Dara Hazeghi dhazeghi@yahoo.com
|
||||
/* Local variables: */
|
||||
/* change-log-default-name: "/dev/null" */
|
||||
/* End: */
|
||||
|
|
18
Makefile.def
18
Makefile.def
|
@ -26,8 +26,16 @@ AutoGen definitions Makefile.tpl;
|
|||
// that recursive target in its Makefile.
|
||||
|
||||
build_modules= { module= libiberty; };
|
||||
build_modules= { module= intl; };
|
||||
build_modules= { module= bison; };
|
||||
build_modules= { module= flex; };
|
||||
// Flex is weird - in order to build it you need a working flex
|
||||
// executable... The problem here is that the top level makefile
|
||||
// will setup the FLEX and LEX environment variables to be the
|
||||
// flex executable that we are trying to build (and which has not
|
||||
// been created yet). The solution is to override these two
|
||||
// variables when configuring and building flex and to hope that
|
||||
// a working alternative is somewhere in the user's PATH.
|
||||
build_modules= { module= flex; extra_configure_flags='LEX="flex"'; extra_make_flags='LEX=flex FLEX=flex'; };
|
||||
build_modules= { module= m4; };
|
||||
build_modules= { module= texinfo; };
|
||||
build_modules= { module= fixincludes; };
|
||||
|
@ -96,7 +104,7 @@ host_modules= { module= m4; };
|
|||
host_modules= { module= readline; };
|
||||
host_modules= { module= sid; };
|
||||
host_modules= { module= sim; };
|
||||
host_modules= { module= texinfo; no_install= true; };
|
||||
host_modules= { module= texinfo; };
|
||||
host_modules= { module= zlib; no_install=true; no_check=true; bootstrap=true; };
|
||||
host_modules= { module= gdb; };
|
||||
host_modules= { module= expect; };
|
||||
|
@ -274,8 +282,8 @@ flags_to_pass = { flag= LEAN ; };
|
|||
|
||||
// Build modules
|
||||
dependencies = { module=all-build-bison; on=all-build-texinfo; };
|
||||
dependencies = { module=all-build-bison; on=all-build-intl; };
|
||||
dependencies = { module=all-build-flex; on=all-build-texinfo; };
|
||||
dependencies = { module=all-build-flex; on=all-build-bison; };
|
||||
dependencies = { module=all-build-flex; on=all-build-m4; };
|
||||
dependencies = { module=all-build-libiberty; on=all-build-texinfo; };
|
||||
dependencies = { module=all-build-m4; on=all-build-texinfo; };
|
||||
|
@ -366,6 +374,8 @@ dependencies = { module=configure-opcodes; on=configure-libiberty; hard=true; };
|
|||
dependencies = { module=all-opcodes; on=all-libiberty; };
|
||||
|
||||
dependencies = { module=configure-binutils; on=configure-intl; };
|
||||
dependencies = { module=configure-binutils; on=all-build-flex; };
|
||||
dependencies = { module=configure-binutils; on=all-build-flex; };
|
||||
dependencies = { module=all-binutils; on=all-libiberty; };
|
||||
dependencies = { module=all-binutils; on=all-opcodes; };
|
||||
dependencies = { module=all-binutils; on=all-bfd; };
|
||||
|
@ -384,6 +394,8 @@ dependencies = { module=install-opcodes; on=install-bfd; };
|
|||
dependencies = { module=install-strip-opcodes; on=install-strip-bfd; };
|
||||
|
||||
dependencies = { module=configure-gas; on=configure-intl; };
|
||||
dependencies = { module=configure-gas; on=all-build-flex; };
|
||||
dependencies = { module=configure-gas; on=all-build-flex; };
|
||||
dependencies = { module=all-gas; on=all-libiberty; };
|
||||
dependencies = { module=all-gas; on=all-opcodes; };
|
||||
dependencies = { module=all-gas; on=all-bfd; };
|
||||
|
|
249
Makefile.in
249
Makefile.in
|
@ -990,6 +990,7 @@ all:
|
|||
.PHONY: all-build
|
||||
|
||||
all-build: maybe-all-build-libiberty
|
||||
all-build: maybe-all-build-intl
|
||||
all-build: maybe-all-build-bison
|
||||
all-build: maybe-all-build-flex
|
||||
all-build: maybe-all-build-m4
|
||||
|
@ -2578,7 +2579,7 @@ configure-build-libiberty:
|
|||
libsrcdir="$$s/libiberty"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
|
||||
$(BUILD_CONFIGARGS) --quiet --build=${build_alias} --host=${build_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif build-libiberty
|
||||
|
@ -2609,6 +2610,62 @@ all-build-libiberty: configure-build-libiberty
|
|||
|
||||
|
||||
|
||||
.PHONY: configure-build-intl maybe-configure-build-intl
|
||||
maybe-configure-build-intl:
|
||||
@if gcc-bootstrap
|
||||
configure-build-intl: stage_current
|
||||
@endif gcc-bootstrap
|
||||
@if build-intl
|
||||
maybe-configure-build-intl: configure-build-intl
|
||||
configure-build-intl:
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
test ! -f $(BUILD_SUBDIR)/intl/Makefile || exit 0; \
|
||||
$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/intl ; \
|
||||
$(BUILD_EXPORTS) \
|
||||
echo Configuring in $(BUILD_SUBDIR)/intl; \
|
||||
cd "$(BUILD_SUBDIR)/intl" || exit 1; \
|
||||
case $(srcdir) in \
|
||||
/* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
|
||||
*) topdir=`echo $(BUILD_SUBDIR)/intl/ | \
|
||||
sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
|
||||
esac; \
|
||||
srcdiroption="--srcdir=$${topdir}/intl"; \
|
||||
libsrcdir="$$s/intl"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(BUILD_CONFIGARGS) --quiet --build=${build_alias} --host=${build_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif build-intl
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.PHONY: all-build-intl maybe-all-build-intl
|
||||
maybe-all-build-intl:
|
||||
@if gcc-bootstrap
|
||||
all-build-intl: stage_current
|
||||
@endif gcc-bootstrap
|
||||
@if build-intl
|
||||
TARGET-build-intl=all
|
||||
maybe-all-build-intl: all-build-intl
|
||||
all-build-intl: configure-build-intl
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(BUILD_EXPORTS) \
|
||||
(cd $(BUILD_SUBDIR)/intl && \
|
||||
$(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_BUILD_FLAGS) \
|
||||
$(TARGET-build-intl))
|
||||
@endif build-intl
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.PHONY: configure-build-bison maybe-configure-build-bison
|
||||
maybe-configure-build-bison:
|
||||
@if gcc-bootstrap
|
||||
|
@ -2634,7 +2691,7 @@ configure-build-bison:
|
|||
libsrcdir="$$s/bison"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
|
||||
$(BUILD_CONFIGARGS) --quiet --build=${build_alias} --host=${build_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif build-bison
|
||||
|
@ -2690,8 +2747,8 @@ configure-build-flex:
|
|||
libsrcdir="$$s/flex"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
$(BUILD_CONFIGARGS) --quiet --build=${build_alias} --host=${build_alias} \
|
||||
--target=${target_alias} $${srcdiroption} LEX="flex" \
|
||||
|| exit 1
|
||||
@endif build-flex
|
||||
|
||||
|
@ -2713,7 +2770,7 @@ all-build-flex: configure-build-flex
|
|||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(BUILD_EXPORTS) \
|
||||
(cd $(BUILD_SUBDIR)/flex && \
|
||||
$(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_BUILD_FLAGS) \
|
||||
$(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_BUILD_FLAGS) LEX=flex FLEX=flex \
|
||||
$(TARGET-build-flex))
|
||||
@endif build-flex
|
||||
|
||||
|
@ -2746,7 +2803,7 @@ configure-build-m4:
|
|||
libsrcdir="$$s/m4"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
|
||||
$(BUILD_CONFIGARGS) --quiet --build=${build_alias} --host=${build_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif build-m4
|
||||
|
@ -2802,7 +2859,7 @@ configure-build-texinfo:
|
|||
libsrcdir="$$s/texinfo"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
|
||||
$(BUILD_CONFIGARGS) --quiet --build=${build_alias} --host=${build_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif build-texinfo
|
||||
|
@ -2858,7 +2915,7 @@ configure-build-fixincludes:
|
|||
libsrcdir="$$s/fixincludes"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
|
||||
$(BUILD_CONFIGARGS) --quiet --build=${build_alias} --host=${build_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif build-fixincludes
|
||||
|
@ -2917,7 +2974,7 @@ configure-bfd:
|
|||
srcdiroption="--srcdir=$${topdir}/bfd"; \
|
||||
libsrcdir="$$s/bfd"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif bfd
|
||||
|
@ -3798,7 +3855,7 @@ configure-opcodes:
|
|||
srcdiroption="--srcdir=$${topdir}/opcodes"; \
|
||||
libsrcdir="$$s/opcodes"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif opcodes
|
||||
|
@ -4679,7 +4736,7 @@ configure-binutils:
|
|||
srcdiroption="--srcdir=$${topdir}/binutils"; \
|
||||
libsrcdir="$$s/binutils"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif binutils
|
||||
|
@ -5561,7 +5618,7 @@ configure-bison:
|
|||
srcdiroption="--srcdir=$${topdir}/bison"; \
|
||||
libsrcdir="$$s/bison"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif bison
|
||||
|
@ -6004,7 +6061,7 @@ configure-cgen:
|
|||
srcdiroption="--srcdir=$${topdir}/cgen"; \
|
||||
libsrcdir="$$s/cgen"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif cgen
|
||||
|
@ -6444,7 +6501,7 @@ configure-dejagnu:
|
|||
srcdiroption="--srcdir=$${topdir}/dejagnu"; \
|
||||
libsrcdir="$$s/dejagnu"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif dejagnu
|
||||
|
@ -6884,7 +6941,7 @@ configure-etc:
|
|||
srcdiroption="--srcdir=$${topdir}/etc"; \
|
||||
libsrcdir="$$s/etc"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif etc
|
||||
|
@ -7324,7 +7381,7 @@ configure-fastjar:
|
|||
srcdiroption="--srcdir=$${topdir}/fastjar"; \
|
||||
libsrcdir="$$s/fastjar"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif fastjar
|
||||
|
@ -7767,7 +7824,7 @@ configure-fixincludes:
|
|||
srcdiroption="--srcdir=$${topdir}/fixincludes"; \
|
||||
libsrcdir="$$s/fixincludes"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif fixincludes
|
||||
|
@ -8191,7 +8248,7 @@ configure-flex:
|
|||
srcdiroption="--srcdir=$${topdir}/flex"; \
|
||||
libsrcdir="$$s/flex"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif flex
|
||||
|
@ -8633,7 +8690,7 @@ configure-gas:
|
|||
srcdiroption="--srcdir=$${topdir}/gas"; \
|
||||
libsrcdir="$$s/gas"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif gas
|
||||
|
@ -9514,7 +9571,7 @@ configure-gcc:
|
|||
srcdiroption="--srcdir=$${topdir}/gcc"; \
|
||||
libsrcdir="$$s/gcc"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif gcc
|
||||
|
@ -10395,7 +10452,7 @@ configure-gmp:
|
|||
srcdiroption="--srcdir=$${topdir}/gmp"; \
|
||||
libsrcdir="$$s/gmp"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=none-${host_vendor}-${host_os} \
|
||||
--target=none-${host_vendor}-${host_os} $${srcdiroption} --disable-shared \
|
||||
|| exit 1
|
||||
@endif gmp
|
||||
|
@ -11270,7 +11327,7 @@ configure-mpfr:
|
|||
srcdiroption="--srcdir=$${topdir}/mpfr"; \
|
||||
libsrcdir="$$s/mpfr"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} --disable-shared @extra_mpfr_configure_flags@ \
|
||||
|| exit 1
|
||||
@endif mpfr
|
||||
|
@ -12145,7 +12202,7 @@ configure-mpc:
|
|||
srcdiroption="--srcdir=$${topdir}/mpc"; \
|
||||
libsrcdir="$$s/mpc"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} --disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@ \
|
||||
|| exit 1
|
||||
@endif mpc
|
||||
|
@ -13020,7 +13077,7 @@ configure-ppl:
|
|||
srcdiroption="--srcdir=$${topdir}/ppl"; \
|
||||
libsrcdir="$$s/ppl"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} --disable-shared --with-libgmp-prefix=$$r/$(HOST_SUBDIR)/gmp/ --with-libgmpxx-prefix=$$r/$(HOST_SUBDIR)/gmp/ \
|
||||
|| exit 1
|
||||
@endif ppl
|
||||
|
@ -13895,7 +13952,7 @@ configure-cloog:
|
|||
srcdiroption="--srcdir=$${topdir}/cloog"; \
|
||||
libsrcdir="$$s/cloog"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} --disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp --with-ppl \
|
||||
|| exit 1
|
||||
@endif cloog
|
||||
|
@ -14770,7 +14827,7 @@ configure-libelf:
|
|||
srcdiroption="--srcdir=$${topdir}/libelf"; \
|
||||
libsrcdir="$$s/libelf"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} --disable-shared \
|
||||
|| exit 1
|
||||
@endif libelf
|
||||
|
@ -15645,7 +15702,7 @@ configure-gold:
|
|||
srcdiroption="--srcdir=$${topdir}/gold"; \
|
||||
libsrcdir="$$s/gold"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif gold
|
||||
|
@ -16527,7 +16584,7 @@ configure-gprof:
|
|||
srcdiroption="--srcdir=$${topdir}/gprof"; \
|
||||
libsrcdir="$$s/gprof"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif gprof
|
||||
|
@ -16966,7 +17023,7 @@ configure-intl:
|
|||
srcdiroption="--srcdir=$${topdir}/intl"; \
|
||||
libsrcdir="$$s/intl"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif intl
|
||||
|
@ -17848,7 +17905,7 @@ configure-tcl:
|
|||
srcdiroption="--srcdir=$${topdir}/tcl"; \
|
||||
libsrcdir="$$s/tcl"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif tcl
|
||||
|
@ -18273,7 +18330,7 @@ configure-itcl:
|
|||
srcdiroption="--srcdir=$${topdir}/itcl"; \
|
||||
libsrcdir="$$s/itcl"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif itcl
|
||||
|
@ -18712,7 +18769,7 @@ configure-ld:
|
|||
srcdiroption="--srcdir=$${topdir}/ld"; \
|
||||
libsrcdir="$$s/ld"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif ld
|
||||
|
@ -19593,7 +19650,7 @@ configure-libcpp:
|
|||
srcdiroption="--srcdir=$${topdir}/libcpp"; \
|
||||
libsrcdir="$$s/libcpp"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif libcpp
|
||||
|
@ -20474,7 +20531,7 @@ configure-libdecnumber:
|
|||
srcdiroption="--srcdir=$${topdir}/libdecnumber"; \
|
||||
libsrcdir="$$s/libdecnumber"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif libdecnumber
|
||||
|
@ -21356,7 +21413,7 @@ configure-libgui:
|
|||
srcdiroption="--srcdir=$${topdir}/libgui"; \
|
||||
libsrcdir="$$s/libgui"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif libgui
|
||||
|
@ -21795,7 +21852,7 @@ configure-libiberty:
|
|||
srcdiroption="--srcdir=$${topdir}/libiberty"; \
|
||||
libsrcdir="$$s/libiberty"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} @extra_host_libiberty_configure_flags@ \
|
||||
|| exit 1
|
||||
@endif libiberty
|
||||
|
@ -22683,7 +22740,7 @@ configure-libiconv:
|
|||
srcdiroption="--srcdir=$${topdir}/libiconv"; \
|
||||
libsrcdir="$$s/libiconv"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} --disable-shared \
|
||||
|| exit 1
|
||||
@endif libiconv
|
||||
|
@ -23060,7 +23117,7 @@ configure-m4:
|
|||
srcdiroption="--srcdir=$${topdir}/m4"; \
|
||||
libsrcdir="$$s/m4"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif m4
|
||||
|
@ -23500,7 +23557,7 @@ configure-readline:
|
|||
srcdiroption="--srcdir=$${topdir}/readline"; \
|
||||
libsrcdir="$$s/readline"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif readline
|
||||
|
@ -23940,7 +23997,7 @@ configure-sid:
|
|||
srcdiroption="--srcdir=$${topdir}/sid"; \
|
||||
libsrcdir="$$s/sid"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif sid
|
||||
|
@ -24380,7 +24437,7 @@ configure-sim:
|
|||
srcdiroption="--srcdir=$${topdir}/sim"; \
|
||||
libsrcdir="$$s/sim"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif sim
|
||||
|
@ -24820,7 +24877,7 @@ configure-texinfo:
|
|||
srcdiroption="--srcdir=$${topdir}/texinfo"; \
|
||||
libsrcdir="$$s/texinfo"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif texinfo
|
||||
|
@ -24870,7 +24927,13 @@ maybe-install-texinfo:
|
|||
@if texinfo
|
||||
maybe-install-texinfo: install-texinfo
|
||||
|
||||
install-texinfo:
|
||||
install-texinfo: installdirs
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
(cd $(HOST_SUBDIR)/texinfo && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) install)
|
||||
|
||||
@endif texinfo
|
||||
|
||||
|
@ -24879,7 +24942,13 @@ maybe-install-strip-texinfo:
|
|||
@if texinfo
|
||||
maybe-install-strip-texinfo: install-strip-texinfo
|
||||
|
||||
install-strip-texinfo:
|
||||
install-strip-texinfo: installdirs
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
(cd $(HOST_SUBDIR)/texinfo && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) install-strip)
|
||||
|
||||
@endif texinfo
|
||||
|
||||
|
@ -25247,7 +25316,7 @@ configure-zlib:
|
|||
srcdiroption="--srcdir=$${topdir}/zlib"; \
|
||||
libsrcdir="$$s/zlib"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif zlib
|
||||
|
@ -26111,7 +26180,7 @@ configure-gdb:
|
|||
srcdiroption="--srcdir=$${topdir}/gdb"; \
|
||||
libsrcdir="$$s/gdb"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif gdb
|
||||
|
@ -26551,7 +26620,7 @@ configure-expect:
|
|||
srcdiroption="--srcdir=$${topdir}/expect"; \
|
||||
libsrcdir="$$s/expect"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif expect
|
||||
|
@ -26991,7 +27060,7 @@ configure-guile:
|
|||
srcdiroption="--srcdir=$${topdir}/guile"; \
|
||||
libsrcdir="$$s/guile"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif guile
|
||||
|
@ -27431,7 +27500,7 @@ configure-tk:
|
|||
srcdiroption="--srcdir=$${topdir}/tk"; \
|
||||
libsrcdir="$$s/tk"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif tk
|
||||
|
@ -27871,7 +27940,7 @@ configure-libtermcap:
|
|||
srcdiroption="--srcdir=$${topdir}/libtermcap"; \
|
||||
libsrcdir="$$s/libtermcap"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif libtermcap
|
||||
|
@ -28245,7 +28314,7 @@ configure-utils:
|
|||
srcdiroption="--srcdir=$${topdir}/utils"; \
|
||||
libsrcdir="$$s/utils"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif utils
|
||||
|
@ -28679,7 +28748,7 @@ configure-gnattools:
|
|||
srcdiroption="--srcdir=$${topdir}/gnattools"; \
|
||||
libsrcdir="$$s/gnattools"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif gnattools
|
||||
|
@ -29118,7 +29187,7 @@ configure-lto-plugin:
|
|||
srcdiroption="--srcdir=$${topdir}/lto-plugin"; \
|
||||
libsrcdir="$$s/lto-plugin"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
|
||||
$(HOST_CONFIGARGS) --quiet --build=${build_alias} --host=${host_alias} \
|
||||
--target=${target_alias} $${srcdiroption} --enable-shared \
|
||||
|| exit 1
|
||||
@endif lto-plugin
|
||||
|
@ -30026,7 +30095,7 @@ configure-target-libstdc++-v3:
|
|||
libsrcdir="$$s/libstdc++-v3"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libstdc++-v3
|
||||
|
@ -31010,7 +31079,7 @@ configure-target-libmudflap:
|
|||
libsrcdir="$$s/libmudflap"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libmudflap
|
||||
|
@ -31467,7 +31536,7 @@ configure-target-libssp:
|
|||
libsrcdir="$$s/libssp"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libssp
|
||||
|
@ -31924,7 +31993,7 @@ configure-target-newlib:
|
|||
libsrcdir="$$s/newlib"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-newlib
|
||||
|
@ -32380,7 +32449,7 @@ configure-target-libgcc:
|
|||
libsrcdir="$$s/libgcc"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libgcc
|
||||
|
@ -33359,7 +33428,7 @@ configure-target-libquadmath:
|
|||
libsrcdir="$$s/libquadmath"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libquadmath
|
||||
|
@ -33816,7 +33885,7 @@ configure-target-libgfortran:
|
|||
libsrcdir="$$s/libgfortran"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libgfortran
|
||||
|
@ -34273,7 +34342,7 @@ configure-target-libobjc:
|
|||
libsrcdir="$$s/libobjc"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libobjc
|
||||
|
@ -34730,7 +34799,7 @@ configure-target-libgo:
|
|||
libsrcdir="$$s/libgo"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libgo
|
||||
|
@ -35187,7 +35256,7 @@ configure-target-libtermcap:
|
|||
libsrcdir="$$s/libtermcap"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libtermcap
|
||||
|
@ -35579,7 +35648,7 @@ configure-target-winsup:
|
|||
libsrcdir="$$s/winsup"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-winsup
|
||||
|
@ -36036,7 +36105,7 @@ configure-target-libgloss:
|
|||
libsrcdir="$$s/libgloss"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libgloss
|
||||
|
@ -36488,7 +36557,7 @@ configure-target-libffi:
|
|||
libsrcdir="$$s/libffi"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libffi
|
||||
|
@ -36945,7 +37014,7 @@ configure-target-libjava:
|
|||
libsrcdir="$$s/libjava"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} $(EXTRA_CONFIGARGS_LIBJAVA) \
|
||||
|| exit 1
|
||||
@endif target-libjava
|
||||
|
@ -37402,7 +37471,7 @@ configure-target-zlib:
|
|||
libsrcdir="$$s/zlib"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-zlib
|
||||
|
@ -37859,7 +37928,7 @@ configure-target-boehm-gc:
|
|||
libsrcdir="$$s/boehm-gc"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-boehm-gc
|
||||
|
@ -38316,7 +38385,7 @@ configure-target-rda:
|
|||
libsrcdir="$$s/rda"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-rda
|
||||
|
@ -38773,7 +38842,7 @@ configure-target-libada:
|
|||
libsrcdir="$$s/libada"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libada
|
||||
|
@ -39229,7 +39298,7 @@ configure-target-libgomp:
|
|||
libsrcdir="$$s/libgomp"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libgomp
|
||||
|
@ -40213,7 +40282,7 @@ configure-target-libitm:
|
|||
libsrcdir="$$s/libitm"; \
|
||||
rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
$(TARGET_CONFIGARGS) --quiet --build=${build_alias} --host=${target_alias} \
|
||||
--target=${target_alias} $${srcdiroption} \
|
||||
|| exit 1
|
||||
@endif target-libitm
|
||||
|
@ -42757,8 +42826,8 @@ configure-target-libitm: maybe-all-gcc
|
|||
# prebootstrap dependencies, prebootstrap modules are gathered in
|
||||
# a hash table.
|
||||
all-build-bison: maybe-all-build-texinfo
|
||||
all-build-bison: maybe-all-build-intl
|
||||
all-build-flex: maybe-all-build-texinfo
|
||||
all-build-flex: maybe-all-build-bison
|
||||
all-build-flex: maybe-all-build-m4
|
||||
all-build-libiberty: maybe-all-build-texinfo
|
||||
all-build-m4: maybe-all-build-texinfo
|
||||
|
@ -43148,6 +43217,22 @@ configure-stage3-binutils: maybe-configure-stage3-intl
|
|||
configure-stage4-binutils: maybe-configure-stage4-intl
|
||||
configure-stageprofile-binutils: maybe-configure-stageprofile-intl
|
||||
configure-stagefeedback-binutils: maybe-configure-stagefeedback-intl
|
||||
configure-binutils: maybe-all-build-flex
|
||||
|
||||
configure-stage1-binutils: maybe-all-build-flex
|
||||
configure-stage2-binutils: maybe-all-build-flex
|
||||
configure-stage3-binutils: maybe-all-build-flex
|
||||
configure-stage4-binutils: maybe-all-build-flex
|
||||
configure-stageprofile-binutils: maybe-all-build-flex
|
||||
configure-stagefeedback-binutils: maybe-all-build-flex
|
||||
configure-binutils: maybe-all-build-flex
|
||||
|
||||
configure-stage1-binutils: maybe-all-build-flex
|
||||
configure-stage2-binutils: maybe-all-build-flex
|
||||
configure-stage3-binutils: maybe-all-build-flex
|
||||
configure-stage4-binutils: maybe-all-build-flex
|
||||
configure-stageprofile-binutils: maybe-all-build-flex
|
||||
configure-stagefeedback-binutils: maybe-all-build-flex
|
||||
all-binutils: maybe-all-libiberty
|
||||
|
||||
all-stage1-binutils: maybe-all-stage1-libiberty
|
||||
|
@ -43208,6 +43293,22 @@ configure-stage3-gas: maybe-configure-stage3-intl
|
|||
configure-stage4-gas: maybe-configure-stage4-intl
|
||||
configure-stageprofile-gas: maybe-configure-stageprofile-intl
|
||||
configure-stagefeedback-gas: maybe-configure-stagefeedback-intl
|
||||
configure-gas: maybe-all-build-flex
|
||||
|
||||
configure-stage1-gas: maybe-all-build-flex
|
||||
configure-stage2-gas: maybe-all-build-flex
|
||||
configure-stage3-gas: maybe-all-build-flex
|
||||
configure-stage4-gas: maybe-all-build-flex
|
||||
configure-stageprofile-gas: maybe-all-build-flex
|
||||
configure-stagefeedback-gas: maybe-all-build-flex
|
||||
configure-gas: maybe-all-build-flex
|
||||
|
||||
configure-stage1-gas: maybe-all-build-flex
|
||||
configure-stage2-gas: maybe-all-build-flex
|
||||
configure-stage3-gas: maybe-all-build-flex
|
||||
configure-stage4-gas: maybe-all-build-flex
|
||||
configure-stageprofile-gas: maybe-all-build-flex
|
||||
configure-stagefeedback-gas: maybe-all-build-flex
|
||||
all-gas: maybe-all-libiberty
|
||||
|
||||
all-stage1-gas: maybe-all-stage1-libiberty
|
||||
|
|
|
@ -1007,7 +1007,7 @@ configure-[+prefix+][+module+]: [+ IF bootstrap +][+ ELSE +]
|
|||
libsrcdir="$$s/[+module+]"; \
|
||||
[+ IF no-config-site +]rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file [+ ENDIF +]$(SHELL) $${libsrcdir}/configure \
|
||||
[+args+] --build=${build_alias} --host=[+host_alias+] \
|
||||
[+args+] --quiet --build=${build_alias} --host=[+host_alias+] \
|
||||
--target=[+target_alias+] $${srcdiroption} [+extra_configure_flags+] \
|
||||
|| exit 1
|
||||
@endif [+prefix+][+module+]
|
||||
|
|
56
README
56
README
|
@ -1,17 +1,47 @@
|
|||
This directory contains the GNU Compiler Collection (GCC).
|
||||
README for GNU development tools
|
||||
|
||||
The GNU Compiler Collection is free software. See the files whose
|
||||
names start with COPYING for copying permission. The manuals, and
|
||||
some of the runtime libraries, are under different terms; see the
|
||||
individual source files for details.
|
||||
This directory contains various GNU compilers, assemblers, linkers,
|
||||
debuggers, etc., plus their support routines, definitions, and documentation.
|
||||
|
||||
The directory INSTALL contains copies of the installation information
|
||||
as HTML and plain text. The source of this information is
|
||||
gcc/doc/install.texi. The installation information includes details
|
||||
of what is included in the GCC sources and what files GCC installs.
|
||||
If you are receiving this as part of a GDB release, see the file gdb/README.
|
||||
If with a binutils release, see binutils/README; if with a libg++ release,
|
||||
see libg++/README, etc. That'll give you info about this
|
||||
package -- supported targets, how to use it, how to report bugs, etc.
|
||||
|
||||
See the file gcc/doc/gcc.texi (together with other files that it
|
||||
includes) for usage and porting information. An online readable
|
||||
version of the manual is in the files gcc/doc/gcc.info*.
|
||||
It is now possible to automatically configure and build a variety of
|
||||
tools with one command. To build all of the tools contained herein,
|
||||
run the ``configure'' script here, e.g.:
|
||||
|
||||
See http://gcc.gnu.org/bugs/ for how to report bugs usefully.
|
||||
./configure
|
||||
make
|
||||
|
||||
To install them (by default in /usr/local/bin, /usr/local/lib, etc),
|
||||
then do:
|
||||
make install
|
||||
|
||||
(If the configure script can't determine your type of computer, give it
|
||||
the name as an argument, for instance ``./configure sun4''. You can
|
||||
use the script ``config.sub'' to test whether a name is recognized; if
|
||||
it is, config.sub translates it to a triplet specifying CPU, vendor,
|
||||
and OS.)
|
||||
|
||||
If you have more than one compiler on your system, it is often best to
|
||||
explicitly set CC in the environment before running configure, and to
|
||||
also set CC when running make. For example (assuming sh/bash/ksh):
|
||||
|
||||
CC=gcc ./configure
|
||||
make
|
||||
|
||||
A similar example using csh:
|
||||
|
||||
setenv CC gcc
|
||||
./configure
|
||||
make
|
||||
|
||||
Much of the code and documentation enclosed is copyright by
|
||||
the Free Software Foundation, Inc. See the file COPYING or
|
||||
COPYING.LIB in the various directories, for a description of the
|
||||
GNU General Public License terms under which you can copy the files.
|
||||
|
||||
REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
|
||||
on where and how to report problems.
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
2012-06-14 Release Manager
|
||||
|
||||
* GCC 4.7.1 released.
|
||||
|
||||
2012-03-22 Release Manager
|
||||
|
||||
* GCC 4.7.0 released.
|
||||
|
|
|
@ -9518,7 +9518,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
|
|||
;;
|
||||
|
||||
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
|
||||
freebsd2.*)
|
||||
freebsd2*)
|
||||
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=yes
|
||||
|
@ -10434,7 +10434,7 @@ freebsd* | dragonfly*)
|
|||
objformat=`/usr/bin/objformat`
|
||||
else
|
||||
case $host_os in
|
||||
freebsd[23].*) objformat=aout ;;
|
||||
freebsd[123]*) objformat=aout ;;
|
||||
*) objformat=elf ;;
|
||||
esac
|
||||
fi
|
||||
|
@ -10452,7 +10452,7 @@ freebsd* | dragonfly*)
|
|||
esac
|
||||
shlibpath_var=LD_LIBRARY_PATH
|
||||
case $host_os in
|
||||
freebsd2.*)
|
||||
freebsd2*)
|
||||
shlibpath_overrides_runpath=yes
|
||||
;;
|
||||
freebsd3.[01]* | freebsdelf3.[01]*)
|
||||
|
@ -12342,7 +12342,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
|
|||
esac
|
||||
;;
|
||||
|
||||
freebsd2.*)
|
||||
freebsd[12]*)
|
||||
# C++ shared libraries reported to be fairly broken before
|
||||
# switch to ELF
|
||||
ld_shlibs_CXX=no
|
||||
|
@ -14117,7 +14117,7 @@ freebsd* | dragonfly*)
|
|||
objformat=`/usr/bin/objformat`
|
||||
else
|
||||
case $host_os in
|
||||
freebsd[23].*) objformat=aout ;;
|
||||
freebsd[123]*) objformat=aout ;;
|
||||
*) objformat=elf ;;
|
||||
esac
|
||||
fi
|
||||
|
@ -14135,7 +14135,7 @@ freebsd* | dragonfly*)
|
|||
esac
|
||||
shlibpath_var=LD_LIBRARY_PATH
|
||||
case $host_os in
|
||||
freebsd2.*)
|
||||
freebsd2*)
|
||||
shlibpath_overrides_runpath=yes
|
||||
;;
|
||||
freebsd3.[01]* | freebsdelf3.[01]*)
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
# 2011 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2011-10-29'
|
||||
timestamp='2011-06-03'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
|
@ -250,18 +250,14 @@ case $basic_machine in
|
|||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||
| am33_2.0 \
|
||||
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
|
||||
| be32 | be64 \
|
||||
| arc | arm | arm[bl]e | arme[lb] | armv[23456] | armv[3456][lb] | avr | avr32 \
|
||||
| bfin \
|
||||
| c4x | clipper \
|
||||
| d10v | d30v | dlx | dsp16xx \
|
||||
| epiphany \
|
||||
| fido | fr30 | frv \
|
||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| hexagon \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| le32 | le64 \
|
||||
| lm32 \
|
||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||
| maxq | mb | microblaze | mcore | mep | metag \
|
||||
|
@ -295,7 +291,7 @@ case $basic_machine in
|
|||
| pdp10 | pdp11 | pj | pjl \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
||||
| pyramid \
|
||||
| rl78 | rx \
|
||||
| rx \
|
||||
| score \
|
||||
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| sh64 | sh64le \
|
||||
|
@ -361,7 +357,6 @@ case $basic_machine in
|
|||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||
| avr-* | avr32-* \
|
||||
| be32-* | be64-* \
|
||||
| bfin-* | bs2000-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
||||
| clipper-* | craynv-* | cydra-* \
|
||||
|
@ -370,10 +365,8 @@ case $basic_machine in
|
|||
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
||||
| h8300-* | h8500-* \
|
||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||
| hexagon-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
| ip2k-* | iq2000-* \
|
||||
| le32-* | le64-* \
|
||||
| lm32-* \
|
||||
| m32c-* | m32r-* | m32rle-* \
|
||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
|
@ -407,7 +400,7 @@ case $basic_machine in
|
|||
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
|
||||
| pyramid-* \
|
||||
| rl78-* | romp-* | rs6000-* | rx-* \
|
||||
| romp-* | rs6000-* | rx-* \
|
||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
||||
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
||||
|
@ -820,10 +813,6 @@ case $basic_machine in
|
|||
basic_machine=i370-ibm
|
||||
os=-mvs
|
||||
;;
|
||||
nacl)
|
||||
basic_machine=le32-unknown
|
||||
os=-nacl
|
||||
;;
|
||||
ncr3000)
|
||||
basic_machine=i486-ncr
|
||||
os=-sysv4
|
||||
|
|
|
@ -1,50 +1,3 @@
|
|||
2012-06-14 Release Manager
|
||||
|
||||
* GCC 4.7.1 released.
|
||||
|
||||
2012-03-22 Release Manager
|
||||
|
||||
* GCC 4.7.0 released.
|
||||
|
||||
2012-01-22 Douglas B Rupp <rupp@gnat.com>
|
||||
|
||||
* config/mh-interix: Remove as unneeded.
|
||||
* config/picflag.m4 (i[[34567]]86-*-interix3*):
|
||||
Change triplet to i[[34567]]86-*-interix[[3-9]]*.
|
||||
|
||||
2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||||
|
||||
PR bootstrap/51734
|
||||
* picflag.m4: Remove s390 case statement.
|
||||
|
||||
2011-12-20 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
* warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in
|
||||
expr call.
|
||||
|
||||
2011-12-19 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
PR bootstrap/51388
|
||||
* warnings.m4 (ACX_PROG_CC_WARNING_OPTS)
|
||||
(ACX_PROG_CC_WARNING_ALMOST_PEDANTIC): Run the test without the
|
||||
no- prefix.
|
||||
|
||||
2011-12-18 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* acx.m4 (Test for GNAT): Update comment and add quotes in final test.
|
||||
|
||||
2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
|
||||
|
||||
* weakref.m4: New file.
|
||||
|
||||
2011-11-09 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* asmcfi.m4: New file.
|
||||
|
||||
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* mh-interix (LIBGCC2_DEBUG_CFLAGS): Remove.
|
||||
|
||||
2011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* picflag.m4: New file.
|
||||
|
@ -53,15 +6,6 @@
|
|||
|
||||
* elf.m4 (target_elf): Remove *-netware*.
|
||||
|
||||
2011-07-06 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* mt-alphaieee (GOCFLAGS_FOR_TARGET): Add -mieee.
|
||||
|
||||
2011-06-15 Mike Stump <mikestump@comcast.net>
|
||||
|
||||
PR target/49461
|
||||
* mh-darwin: Turn off -pie on darwin11 and later.
|
||||
|
||||
2011-04-20 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* bootstrap-lto.mk: Remove obsolete requirement.
|
||||
|
|
|
@ -356,9 +356,9 @@ m4_define([AC_CHECK_HEADER],m4_defn([_AC_CHECK_HEADER_OLD]))
|
|||
ac_c_preproc_warn_flag=yes])# AC_PROG_CPP_WERROR
|
||||
|
||||
# Test for GNAT.
|
||||
# We require the gnatbind & gnatmake programs, as well as a compiler driver
|
||||
# that understands Ada. We use the user's CC setting, already found, and
|
||||
# possibly add $1 to the command-line parameters.
|
||||
# We require the gnatbind program, and a compiler driver that
|
||||
# understands Ada. We use the user's CC setting, already found,
|
||||
# and possibly add $1 to the command-line parameters.
|
||||
#
|
||||
# Sets the shell variable have_gnat to yes or no as appropriate, and
|
||||
# substitutes GNATBIND and GNATMAKE.
|
||||
|
@ -387,7 +387,7 @@ if test x"$errors" = x && test -f conftest.$ac_objext; then
|
|||
fi
|
||||
rm -f conftest.*])
|
||||
|
||||
if test "x$GNATBIND" != xno && test "x$GNATMAKE" != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
|
||||
if test x$GNATBIND != xno && test x$GNATMAKE != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
|
||||
have_gnat=yes
|
||||
else
|
||||
have_gnat=no
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
# The -mdynamic-no-pic ensures that the compiler executable is built without
|
||||
# position-independent-code -- the usual default on Darwin. This fix speeds
|
||||
# compiles by 3-5%.
|
||||
BOOT_CFLAGS += -mdynamic-no-pic
|
||||
|
||||
# Ensure we don't try and use -pie, as it is incompatible with pch.
|
||||
BOOT_LDFLAGS += `case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
|
||||
BOOT_CFLAGS += -mdynamic-no-pic
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
CFLAGS_FOR_TARGET += -mieee
|
||||
CXXFLAGS_FOR_TARGET += -mieee
|
||||
GOCFLAGS_FOR_TARGET += -mieee
|
||||
|
|
|
@ -19,7 +19,7 @@ case "${$2}" in
|
|||
;;
|
||||
i[[34567]]86-*-cygwin* | i[[34567]]86-*-mingw* | x86_64-*-mingw*)
|
||||
;;
|
||||
i[[34567]]86-*-interix[[3-9]]*)
|
||||
i[[34567]]86-*-interix3*)
|
||||
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
|
||||
# Instead, we relocate shared libraries at runtime.
|
||||
;;
|
||||
|
@ -51,6 +51,9 @@ case "${$2}" in
|
|||
m68k-*-*)
|
||||
$1=-fpic
|
||||
;;
|
||||
s390*-*-*)
|
||||
$1=-fpic
|
||||
;;
|
||||
# FIXME: Override -fPIC default in libgcc only?
|
||||
sh-*-linux* | sh[[2346lbe]]*-*-linux*)
|
||||
$1=-fpic
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Autoconf include file defining macros related to compile-time warnings.
|
||||
|
||||
# Copyright 2004, 2005, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
# Copyright 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
|
||||
#This file is part of GCC.
|
||||
|
||||
|
@ -28,13 +28,7 @@ AC_SUBST(acx_Var)dnl
|
|||
m4_expand_once([acx_Var=
|
||||
],m4_quote(acx_Var=))dnl
|
||||
save_CFLAGS="$CFLAGS"
|
||||
for real_option in $1; do
|
||||
# Do the check with the no- prefix removed since gcc silently
|
||||
# accepts any -Wno-* option on purpose
|
||||
case $real_option in
|
||||
-Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;;
|
||||
*) option=$real_option ;;
|
||||
esac
|
||||
for option in $1; do
|
||||
AS_VAR_PUSHDEF([acx_Woption], [acx_cv_prog_cc_warning_$option])
|
||||
AC_CACHE_CHECK([whether $CC supports $option], acx_Woption,
|
||||
[CFLAGS="$option"
|
||||
|
@ -43,14 +37,14 @@ for real_option in $1; do
|
|||
[AS_VAR_SET(acx_Woption, no)])
|
||||
])
|
||||
AS_IF([test AS_VAR_GET(acx_Woption) = yes],
|
||||
[acx_Var="$acx_Var${acx_Var:+ }$real_option"])
|
||||
[acx_Var="$acx_Var${acx_Var:+ }$option"])
|
||||
AS_VAR_POPDEF([acx_Woption])dnl
|
||||
done
|
||||
CFLAGS="$save_CFLAGS"
|
||||
m4_popdef([acx_Var])dnl
|
||||
])# ACX_PROG_CC_WARNING_OPTS
|
||||
|
||||
# ACX_PROG_CC_WARNING_ALMOST_PEDANTIC(WARNINGS, [VARIABLE = WARN_PEDANTIC])
|
||||
# ACX_PROG_CC_WARNING_ALMOST_PEDANTIC(WARNINGS, [VARIABLE = WARN_PEDANTIC)
|
||||
# Append to VARIABLE "-pedantic" + the argument, if the compiler is GCC
|
||||
# and accepts all of those options simultaneously, otherwise to nothing.
|
||||
AC_DEFUN([ACX_PROG_CC_WARNING_ALMOST_PEDANTIC],
|
||||
|
@ -59,14 +53,11 @@ m4_pushdef([acx_Var], [m4_default([$2], [WARN_PEDANTIC])])dnl
|
|||
AC_SUBST(acx_Var)dnl
|
||||
m4_expand_once([acx_Var=
|
||||
],m4_quote(acx_Var=))dnl
|
||||
# Do the check with the no- prefix removed from the warning options
|
||||
# since gcc silently accepts any -Wno-* option on purpose
|
||||
m4_pushdef([acx_Woptions], [m4_bpatsubst([$1], [-Wno-], [-W])])dnl
|
||||
AS_VAR_PUSHDEF([acx_Pedantic], [acx_cv_prog_cc_pedantic_]acx_Woptions)dnl
|
||||
AS_VAR_PUSHDEF([acx_Pedantic], [acx_cv_prog_cc_pedantic_$1])dnl
|
||||
AS_IF([test "$GCC" = yes],
|
||||
[AC_CACHE_CHECK([whether $CC supports -pedantic ]acx_Woptions, acx_Pedantic,
|
||||
[AC_CACHE_CHECK([whether $CC supports -pedantic $1], acx_Pedantic,
|
||||
[save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="-pedantic acx_Woptions"
|
||||
CFLAGS="-pedantic $1"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
|
||||
[AS_VAR_SET(acx_Pedantic, yes)],
|
||||
[AS_VAR_SET(acx_Pedantic, no)])
|
||||
|
@ -75,7 +66,6 @@ AS_IF([test AS_VAR_GET(acx_Pedantic) = yes],
|
|||
[acx_Var="$acx_Var${acx_Var:+ }-pedantic $1"])
|
||||
])
|
||||
AS_VAR_POPDEF([acx_Pedantic])dnl
|
||||
m4_popdef([acx_Woptions])dnl
|
||||
m4_popdef([acx_Var])dnl
|
||||
])# ACX_PROG_CC_WARNING_ALMOST_PEDANTIC
|
||||
|
||||
|
|
|
@ -2642,6 +2642,20 @@ topsrcdir=$srcpwd
|
|||
|
||||
extra_host_args=
|
||||
|
||||
# This is a hack to get around the mis-configuring of libintl.a
|
||||
# support in GNUPro 05r1. In theory this should not be necessary
|
||||
# but test building native toolchains under Solaris and Cygwin
|
||||
# before permanently removing it.
|
||||
case "$ac_configure_args" in
|
||||
*--with-included-gettext=* )
|
||||
;;
|
||||
*--disable-nls* )
|
||||
;;
|
||||
* )
|
||||
ac_configure_args="$ac_configure_args --with-included-gettext"
|
||||
;;
|
||||
esac
|
||||
|
||||
### To add a new directory to the tree, first choose whether it is a target
|
||||
### or a host dependent tool. Then put it into the appropriate list
|
||||
### (library or tools, host or target), doing a dependency sort.
|
||||
|
@ -2659,7 +2673,7 @@ extra_host_args=
|
|||
# these library is used by various programs built for the build
|
||||
# environment
|
||||
#
|
||||
build_libs="build-libiberty"
|
||||
build_libs="build-libiberty build-intl"
|
||||
|
||||
# these tools are built for the build environment
|
||||
build_tools="build-texinfo build-flex build-bison build-m4 build-fixincludes"
|
||||
|
@ -2674,7 +2688,7 @@ host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp li
|
|||
# binutils, gas and ld appear in that order because it makes sense to run
|
||||
# "make check" in that particular order.
|
||||
# If --enable-gold is used, "gold" may replace "ld".
|
||||
host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools"
|
||||
host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools"
|
||||
|
||||
# libgcj represents the runtime libraries only used by gcj.
|
||||
libgcj="target-libffi \
|
||||
|
@ -2862,7 +2876,7 @@ else
|
|||
fi
|
||||
|
||||
case "${ENABLE_GOLD}" in
|
||||
yes|default)
|
||||
yes|default|both)
|
||||
# Check for ELF target.
|
||||
is_elf=no
|
||||
case "${target}" in
|
||||
|
@ -2913,7 +2927,7 @@ case "${ENABLE_LD}" in
|
|||
as_fn_error "either gold or ld can be the default ld" "$LINENO" 5
|
||||
fi
|
||||
;;
|
||||
yes)
|
||||
yes|both)
|
||||
;;
|
||||
no)
|
||||
if test x${ENABLE_GOLD} != xyes; then
|
||||
|
@ -3098,6 +3112,9 @@ case "${target}" in
|
|||
# for explicit misaligned loads.
|
||||
noconfigdirs="$noconfigdirs target-libssp"
|
||||
;;
|
||||
*-*-tpf*)
|
||||
noconfigdirs="$noconfigdirs target-libssp"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Disable libstdc++-v3 for some systems.
|
||||
|
@ -3261,6 +3278,9 @@ case "${target}" in
|
|||
rs6000-*-aix*)
|
||||
noconfigdirs="$noconfigdirs ${libgcj}"
|
||||
;;
|
||||
mep-*-*)
|
||||
configdirs="$configdirs sid"
|
||||
;;
|
||||
mips*-*-irix6*)
|
||||
# Linking libjava exceeds command-line length limits on at least
|
||||
# IRIX 6.2, but not on IRIX 6.5.
|
||||
|
@ -3268,6 +3288,12 @@ case "${target}" in
|
|||
# <oldham@codesourcery.com>
|
||||
noconfigdirs="$noconfigdirs ${libgcj}"
|
||||
;;
|
||||
mips*-*-*)
|
||||
noconfigdirs="$noconfigdirs ${libgcj} target-libssp"
|
||||
;;
|
||||
xstormy16*-*-*)
|
||||
configdirs="$configdirs sid"
|
||||
;;
|
||||
*-*-lynxos*)
|
||||
noconfigdirs="$noconfigdirs ${libgcj}"
|
||||
;;
|
||||
|
@ -3453,6 +3479,9 @@ case "${target}" in
|
|||
tic54x-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss gdb"
|
||||
;;
|
||||
cr16-*-*)
|
||||
noconfigdirs="$noconfigdirs gdb"
|
||||
;;
|
||||
d10v-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
;;
|
||||
|
@ -3667,6 +3696,9 @@ fi
|
|||
*-mingw*)
|
||||
host_makefile_frag="config/mh-mingw"
|
||||
;;
|
||||
*-interix*)
|
||||
host_makefile_frag="config/mh-interix"
|
||||
;;
|
||||
hppa*-hp-hpux10*)
|
||||
host_makefile_frag="config/mh-pa-hpux10"
|
||||
;;
|
||||
|
@ -4973,7 +5005,7 @@ fi
|
|||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_cc_gcc_supports_ada" >&5
|
||||
$as_echo "$acx_cv_cc_gcc_supports_ada" >&6; }
|
||||
|
||||
if test "x$GNATBIND" != xno && test "x$GNATMAKE" != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
|
||||
if test x$GNATBIND != xno && test x$GNATMAKE != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
|
||||
have_gnat=yes
|
||||
else
|
||||
have_gnat=no
|
||||
|
@ -5191,9 +5223,9 @@ if test "x$with_mpfr_lib" != x; then
|
|||
gmplibs="-L$with_mpfr_lib $gmplibs"
|
||||
fi
|
||||
if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
|
||||
gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
|
||||
gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
|
||||
extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
|
||||
gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir $gmplibs"
|
||||
gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr/src -I$$s/mpfr/src '"$gmpinc"
|
||||
extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr/src --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir"
|
||||
# Do not test the mpfr version. Assume that it is sufficient, since
|
||||
# it is in the source tree, and the library has not been built yet
|
||||
# but it would be included on the link line in the version check below
|
||||
|
@ -6841,6 +6873,10 @@ case "${target}" in
|
|||
extra_arflags_for_target=" -X32_64"
|
||||
extra_nmflags_for_target=" -B -X32_64"
|
||||
;;
|
||||
*-*-darwin[3-9]*)
|
||||
# ranlib before Darwin10 requires the -c flag to look at common symbols.
|
||||
extra_ranlibflags_for_target=" -c"
|
||||
;;
|
||||
esac
|
||||
|
||||
alphaieee_frag=/dev/null
|
||||
|
@ -6998,7 +7034,9 @@ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
|
|||
# Do not nest @if/@endif pairs, because configure will not warn you at all.
|
||||
|
||||
case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
|
||||
yes:both:*\ gold\ *:*,c++,* | \
|
||||
yes:yes:*\ gold\ *:*,c++,*) ;;
|
||||
yes:both:*\ gold\ *:* | \
|
||||
yes:yes:*\ gold\ *:*)
|
||||
as_fn_error "in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages" "$LINENO" 5
|
||||
;;
|
||||
|
@ -7576,9 +7614,6 @@ fi
|
|||
done
|
||||
test -n "$YACC" || YACC="$MISSING bison -y"
|
||||
|
||||
case " $build_configdirs " in
|
||||
*" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
|
||||
esac
|
||||
|
||||
for ac_prog in bison
|
||||
do
|
||||
|
@ -7623,9 +7658,6 @@ fi
|
|||
done
|
||||
test -n "$BISON" || BISON="$MISSING bison"
|
||||
|
||||
case " $build_configdirs " in
|
||||
*" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
|
||||
esac
|
||||
|
||||
for ac_prog in gm4 gnum4 m4
|
||||
do
|
||||
|
@ -7670,9 +7702,6 @@ fi
|
|||
done
|
||||
test -n "$M4" || M4="$MISSING m4"
|
||||
|
||||
case " $build_configdirs " in
|
||||
*" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
|
||||
esac
|
||||
|
||||
for ac_prog in flex lex
|
||||
do
|
||||
|
@ -7717,10 +7746,6 @@ fi
|
|||
done
|
||||
test -n "$LEX" || LEX="$MISSING flex"
|
||||
|
||||
case " $build_configdirs " in
|
||||
*" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
|
||||
*" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
|
||||
esac
|
||||
|
||||
for ac_prog in flex
|
||||
do
|
||||
|
@ -7765,9 +7790,6 @@ fi
|
|||
done
|
||||
test -n "$FLEX" || FLEX="$MISSING flex"
|
||||
|
||||
case " $build_configdirs " in
|
||||
*" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
|
||||
esac
|
||||
|
||||
for ac_prog in makeinfo
|
||||
do
|
||||
|
|
68
configure.ac
68
configure.ac
|
@ -108,6 +108,20 @@ topsrcdir=$srcpwd
|
|||
|
||||
extra_host_args=
|
||||
|
||||
# This is a hack to get around the mis-configuring of libintl.a
|
||||
# support in GNUPro 05r1. In theory this should not be necessary
|
||||
# but test building native toolchains under Solaris and Cygwin
|
||||
# before permanently removing it.
|
||||
case "$ac_configure_args" in
|
||||
*--with-included-gettext=* )
|
||||
;;
|
||||
*--disable-nls* )
|
||||
;;
|
||||
* )
|
||||
ac_configure_args="$ac_configure_args --with-included-gettext"
|
||||
;;
|
||||
esac
|
||||
|
||||
### To add a new directory to the tree, first choose whether it is a target
|
||||
### or a host dependent tool. Then put it into the appropriate list
|
||||
### (library or tools, host or target), doing a dependency sort.
|
||||
|
@ -125,7 +139,7 @@ extra_host_args=
|
|||
# these library is used by various programs built for the build
|
||||
# environment
|
||||
#
|
||||
build_libs="build-libiberty"
|
||||
build_libs="build-libiberty build-intl"
|
||||
|
||||
# these tools are built for the build environment
|
||||
build_tools="build-texinfo build-flex build-bison build-m4 build-fixincludes"
|
||||
|
@ -140,7 +154,7 @@ host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp li
|
|||
# binutils, gas and ld appear in that order because it makes sense to run
|
||||
# "make check" in that particular order.
|
||||
# If --enable-gold is used, "gold" may replace "ld".
|
||||
host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools"
|
||||
host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools"
|
||||
|
||||
# libgcj represents the runtime libraries only used by gcj.
|
||||
libgcj="target-libffi \
|
||||
|
@ -306,7 +320,7 @@ AC_ARG_ENABLE(gold,
|
|||
ENABLE_GOLD=$enableval,
|
||||
ENABLE_GOLD=no)
|
||||
case "${ENABLE_GOLD}" in
|
||||
yes|default)
|
||||
yes|default|both)
|
||||
# Check for ELF target.
|
||||
is_elf=no
|
||||
case "${target}" in
|
||||
|
@ -355,7 +369,7 @@ case "${ENABLE_LD}" in
|
|||
AC_MSG_ERROR([either gold or ld can be the default ld])
|
||||
fi
|
||||
;;
|
||||
yes)
|
||||
yes|both)
|
||||
;;
|
||||
no)
|
||||
if test x${ENABLE_GOLD} != xyes; then
|
||||
|
@ -524,6 +538,9 @@ case "${target}" in
|
|||
# for explicit misaligned loads.
|
||||
noconfigdirs="$noconfigdirs target-libssp"
|
||||
;;
|
||||
*-*-tpf*)
|
||||
noconfigdirs="$noconfigdirs target-libssp"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Disable libstdc++-v3 for some systems.
|
||||
|
@ -687,6 +704,9 @@ case "${target}" in
|
|||
rs6000-*-aix*)
|
||||
noconfigdirs="$noconfigdirs ${libgcj}"
|
||||
;;
|
||||
mep-*-*)
|
||||
configdirs="$configdirs sid"
|
||||
;;
|
||||
mips*-*-irix6*)
|
||||
# Linking libjava exceeds command-line length limits on at least
|
||||
# IRIX 6.2, but not on IRIX 6.5.
|
||||
|
@ -694,6 +714,12 @@ case "${target}" in
|
|||
# <oldham@codesourcery.com>
|
||||
noconfigdirs="$noconfigdirs ${libgcj}"
|
||||
;;
|
||||
mips*-*-*)
|
||||
noconfigdirs="$noconfigdirs ${libgcj} target-libssp"
|
||||
;;
|
||||
xstormy16*-*-*)
|
||||
configdirs="$configdirs sid"
|
||||
;;
|
||||
*-*-lynxos*)
|
||||
noconfigdirs="$noconfigdirs ${libgcj}"
|
||||
;;
|
||||
|
@ -879,6 +905,9 @@ case "${target}" in
|
|||
tic54x-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss gdb"
|
||||
;;
|
||||
cr16-*-*)
|
||||
noconfigdirs="$noconfigdirs gdb"
|
||||
;;
|
||||
d10v-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
;;
|
||||
|
@ -1074,6 +1103,9 @@ case "${host}" in
|
|||
*-mingw*)
|
||||
host_makefile_frag="config/mh-mingw"
|
||||
;;
|
||||
*-interix*)
|
||||
host_makefile_frag="config/mh-interix"
|
||||
;;
|
||||
hppa*-hp-hpux10*)
|
||||
host_makefile_frag="config/mh-pa-hpux10"
|
||||
;;
|
||||
|
@ -1279,9 +1311,9 @@ if test "x$with_mpfr_lib" != x; then
|
|||
gmplibs="-L$with_mpfr_lib $gmplibs"
|
||||
fi
|
||||
if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
|
||||
gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
|
||||
gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
|
||||
extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
|
||||
gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir $gmplibs"
|
||||
gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr/src -I$$s/mpfr/src '"$gmpinc"
|
||||
extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr/src --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir"
|
||||
# Do not test the mpfr version. Assume that it is sufficient, since
|
||||
# it is in the source tree, and the library has not been built yet
|
||||
# but it would be included on the link line in the version check below
|
||||
|
@ -2299,6 +2331,10 @@ case "${target}" in
|
|||
extra_arflags_for_target=" -X32_64"
|
||||
extra_nmflags_for_target=" -B -X32_64"
|
||||
;;
|
||||
*-*-darwin[[3-9]]*)
|
||||
# ranlib before Darwin10 requires the -c flag to look at common symbols.
|
||||
extra_ranlibflags_for_target=" -c"
|
||||
;;
|
||||
esac
|
||||
|
||||
alphaieee_frag=/dev/null
|
||||
|
@ -2456,7 +2492,9 @@ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
|
|||
# Do not nest @if/@endif pairs, because configure will not warn you at all.
|
||||
|
||||
case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
|
||||
yes:both:*\ gold\ *:*,c++,* | \
|
||||
yes:yes:*\ gold\ *:*,c++,*) ;;
|
||||
yes:both:*\ gold\ *:* | \
|
||||
yes:yes:*\ gold\ *:*)
|
||||
AC_MSG_ERROR([in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages])
|
||||
;;
|
||||
|
@ -2991,30 +3029,14 @@ AC_SUBST(WINDRES_FOR_BUILD)
|
|||
MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
|
||||
|
||||
AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
|
||||
case " $build_configdirs " in
|
||||
*" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
|
||||
esac
|
||||
|
||||
AC_CHECK_PROGS([BISON], [bison], [$MISSING bison])
|
||||
case " $build_configdirs " in
|
||||
*" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
|
||||
esac
|
||||
|
||||
AC_CHECK_PROGS([M4], [gm4 gnum4 m4], [$MISSING m4])
|
||||
case " $build_configdirs " in
|
||||
*" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
|
||||
esac
|
||||
|
||||
AC_CHECK_PROGS([LEX], [flex lex], [$MISSING flex])
|
||||
case " $build_configdirs " in
|
||||
*" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
|
||||
*" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
|
||||
esac
|
||||
|
||||
AC_CHECK_PROGS([FLEX], [flex], [$MISSING flex])
|
||||
case " $build_configdirs " in
|
||||
*" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
|
||||
esac
|
||||
|
||||
AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
|
||||
case " $build_configdirs " in
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
2012-06-14 Release Manager
|
||||
|
||||
* GCC 4.7.1 released.
|
||||
|
||||
2012-03-22 Release Manager
|
||||
|
||||
* GCC 4.7.0 released.
|
||||
|
|
|
@ -1,8 +1,28 @@
|
|||
2012-06-14 Release Manager
|
||||
2011-06-27 Release Manager
|
||||
|
||||
* GCC 4.7.1 released.
|
||||
* GCC 4.3.6 released.
|
||||
|
||||
2012-03-22 Release Manager
|
||||
2010-05-22 Release Manager
|
||||
|
||||
* GCC 4.3.5 released.
|
||||
|
||||
2009-08-04 Release Manager
|
||||
|
||||
* GCC 4.3.4 released.
|
||||
|
||||
2009-01-24 Release Manager
|
||||
|
||||
* GCC 4.3.3 released.
|
||||
|
||||
2008-08-27 Release Manager
|
||||
|
||||
* GCC 4.3.2 released.
|
||||
|
||||
2008-06-06 Release Manager
|
||||
|
||||
* GCC 4.3.1 released.
|
||||
|
||||
2008-03-05 Release Manager
|
||||
|
||||
* GCC 4.7.0 released.
|
||||
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
2012-06-14 Release Manager
|
||||
|
||||
* GCC 4.7.1 released.
|
||||
|
||||
2012-03-22 Release Manager
|
||||
|
||||
* GCC 4.7.0 released.
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
2012-06-14 Release Manager
|
||||
|
||||
* GCC 4.7.1 released.
|
||||
|
||||
2012-03-26 David Edelsohn <dje.gcc@gmail.com>
|
||||
|
||||
* inclhack.def (aix_malloc): New.
|
||||
|
|
|
@ -4563,15 +4563,9 @@ $as_echo "$ac_cv_path_SED" >&6; }
|
|||
|
||||
WARN_CFLAGS=
|
||||
save_CFLAGS="$CFLAGS"
|
||||
for real_option in -W -Wall -Wwrite-strings -Wstrict-prototypes \
|
||||
for option in -W -Wall -Wwrite-strings -Wstrict-prototypes \
|
||||
-Wmissing-prototypes -Wold-style-definition \
|
||||
-Wmissing-format-attribute -Wno-overlength-strings; do
|
||||
# Do the check with the no- prefix removed since gcc silently
|
||||
# accepts any -Wno-* option on purpose
|
||||
case $real_option in
|
||||
-Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;;
|
||||
*) option=$real_option ;;
|
||||
esac
|
||||
as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh`
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
|
||||
|
@ -4603,22 +4597,20 @@ eval ac_res=\$$as_acx_Woption
|
|||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
$as_echo "$ac_res" >&6; }
|
||||
if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then :
|
||||
WARN_CFLAGS="$WARN_CFLAGS${WARN_CFLAGS:+ }$real_option"
|
||||
WARN_CFLAGS="$WARN_CFLAGS${WARN_CFLAGS:+ }$option"
|
||||
fi
|
||||
done
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
WARN_PEDANTIC=
|
||||
# Do the check with the no- prefix removed from the warning options
|
||||
# since gcc silently accepts any -Wno-* option on purpose
|
||||
if test "$GCC" = yes; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic -Wlong-long" >&5
|
||||
$as_echo_n "checking whether $CC supports -pedantic -Wlong-long... " >&6; }
|
||||
if test "${acx_cv_prog_cc_pedantic__Wlong_long+set}" = set; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic -Wno-long-long" >&5
|
||||
$as_echo_n "checking whether $CC supports -pedantic -Wno-long-long... " >&6; }
|
||||
if test "${acx_cv_prog_cc_pedantic__Wno_long_long+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="-pedantic -Wlong-long"
|
||||
CFLAGS="-pedantic -Wno-long-long"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -4631,16 +4623,16 @@ main ()
|
|||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
acx_cv_prog_cc_pedantic__Wlong_long=yes
|
||||
acx_cv_prog_cc_pedantic__Wno_long_long=yes
|
||||
else
|
||||
acx_cv_prog_cc_pedantic__Wlong_long=no
|
||||
acx_cv_prog_cc_pedantic__Wno_long_long=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
CFLAGS="$save_CFLAGS"
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_prog_cc_pedantic__Wlong_long" >&5
|
||||
$as_echo "$acx_cv_prog_cc_pedantic__Wlong_long" >&6; }
|
||||
if test $acx_cv_prog_cc_pedantic__Wlong_long = yes; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_prog_cc_pedantic__Wno_long_long" >&5
|
||||
$as_echo "$acx_cv_prog_cc_pedantic__Wno_long_long" >&6; }
|
||||
if test $acx_cv_prog_cc_pedantic__Wno_long_long = yes; then :
|
||||
WARN_PEDANTIC="$WARN_PEDANTIC${WARN_PEDANTIC:+ }-pedantic -Wno-long-long"
|
||||
fi
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
4.7.2
|
||||
4.6.4
|
||||
|
|
1534
gcc/ChangeLog
1534
gcc/ChangeLog
File diff suppressed because it is too large
Load Diff
|
@ -616,6 +616,8 @@ build_tooldir = $(exec_prefix)/$(target_noncanonical)
|
|||
# Directory in which the compiler finds target-independent g++ includes.
|
||||
gcc_gxx_include_dir = @gcc_gxx_include_dir@
|
||||
gcc_gxx_include_dir_add_sysroot = @gcc_gxx_include_dir_add_sysroot@
|
||||
# Directory in which the compiler finds target-independent C includes.
|
||||
gcc_c_include_dir = @gcc_c_include_dir@
|
||||
# Directory to search for site-specific includes.
|
||||
local_includedir = $(local_prefix)/include
|
||||
includedir = $(prefix)/include
|
||||
|
@ -3986,7 +3988,7 @@ PREPROCESSOR_DEFINES = \
|
|||
-DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
|
||||
-DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \
|
||||
-DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
|
||||
-DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
|
||||
-DTOOL_INCLUDE_DIR=\"$(gcc_c_include_dir)\" \
|
||||
-DNATIVE_SYSTEM_HEADER_DIR=\"$(NATIVE_SYSTEM_HEADER_DIR)\" \
|
||||
-DPREFIX=\"$(prefix)/\" \
|
||||
-DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
|
||||
|
@ -5124,6 +5126,60 @@ check-parallel-% : site.exp
|
|||
fi ; \
|
||||
$(RUNTEST) --tool $(check_p_tool) $(RUNTESTFLAGS) $$runtestflags)
|
||||
|
||||
check-gcc-plumhall: check-gcc-plumhall-07
|
||||
|
||||
check-gcc-plumhall-07: testsuite/site.exp
|
||||
-rootme=`${PWD_COMMAND}`; export rootme; \
|
||||
srcdir=`cd ${srcdir}; ${PWD_COMMAND}` ; export srcdir ; \
|
||||
cd testsuite; \
|
||||
EXPECT=${EXPECT} ; export EXPECT ; \
|
||||
if [ -f $${rootme}/../expect/expect ] ; then \
|
||||
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \
|
||||
export TCL_LIBRARY ; fi ; \
|
||||
$(RUNTEST) --tool gcc --directory gcc_plumhall.07a $(RUNTESTFLAGS)
|
||||
|
||||
check-gcc-plumhall-04: testsuite/site.exp
|
||||
-rootme=`${PWD_COMMAND}`; export rootme; \
|
||||
srcdir=`cd ${srcdir}; ${PWD_COMMAND}` ; export srcdir ; \
|
||||
cd testsuite; \
|
||||
EXPECT=${EXPECT} ; export EXPECT ; \
|
||||
if [ -f $${rootme}/../expect/expect ] ; then \
|
||||
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \
|
||||
export TCL_LIBRARY ; fi ; \
|
||||
$(RUNTEST) --tool gcc --directory gcc_plumhall.04a $(RUNTESTFLAGS)
|
||||
|
||||
check-gcc-plumhall-03: testsuite/site.exp
|
||||
-rootme=`${PWD_COMMAND}`; export rootme; \
|
||||
srcdir=`cd ${srcdir}; ${PWD_COMMAND}` ; export srcdir ; \
|
||||
cd testsuite; \
|
||||
EXPECT=${EXPECT} ; export EXPECT ; \
|
||||
if [ -f $${rootme}/../expect/expect ] ; then \
|
||||
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \
|
||||
export TCL_LIBRARY ; fi ; \
|
||||
$(RUNTEST) --tool gcc --directory gcc_plumhall.03a $(RUNTESTFLAGS)
|
||||
|
||||
check-gcc-plumhall-99: testsuite/site.exp
|
||||
-rootme=`${PWD_COMMAND}`; export rootme; \
|
||||
srcdir=`cd ${srcdir}; ${PWD_COMMAND}` ; export srcdir ; \
|
||||
cd testsuite; \
|
||||
EXPECT=${EXPECT} ; export EXPECT ; \
|
||||
if [ -f $${rootme}/../expect/expect ] ; then \
|
||||
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \
|
||||
export TCL_LIBRARY ; fi ; \
|
||||
$(RUNTEST) --tool gcc --directory gcc_plumhall.99b $(RUNTESTFLAGS)
|
||||
|
||||
check-g++-plumhall: check-g++-plumhall-99
|
||||
|
||||
check-g++-plumhall-99: testsuite/site.exp
|
||||
-rootme=`${PWD_COMMAND}`; export rootme; \
|
||||
srcdir=`cd ${srcdir}; ${PWD_COMMAND}` ; export srcdir ; \
|
||||
cd testsuite; \
|
||||
EXPECT=${EXPECT} ; export EXPECT ; \
|
||||
if [ -f $${rootme}/../expect/expect ] ; then \
|
||||
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \
|
||||
export TCL_LIBRARY ; fi ; \
|
||||
$(RUNTEST) --tool g++ --directory g++_plumhall.99 $(RUNTESTFLAGS)
|
||||
|
||||
# QMTest targets
|
||||
|
||||
# The path to qmtest.
|
||||
|
|
|
@ -47,44 +47,41 @@
|
|||
|
||||
2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR ada/53592
|
||||
* gcc-interface/gigi.h (maybe_vector_array): Make static inline.
|
||||
* gcc-interface/utils.c (maybe_vector_array): Delete.
|
||||
* gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
|
||||
array object as addressable if it has vector type and is on the LHS.
|
||||
* gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
|
||||
(build_variant_list): Adjust to above renaming.
|
||||
(gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name
|
||||
to the type of the variant containers.
|
||||
(create_variant_part_from): Likewise. Give a unique name to the type
|
||||
of the variant part.
|
||||
|
||||
2012-06-14 Jakub Jelinek <jakub@redhat.com>
|
||||
2012-03-01 Release Manager
|
||||
|
||||
* gcc-interface/Makefile.in (gnatlib-shared-default): Append
|
||||
$(PICFLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to submake.
|
||||
* GCC 4.6.3 released.
|
||||
|
||||
2012-06-14 Release Manager
|
||||
2012-01-21 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* GCC 4.7.1 released.
|
||||
PR ada/46192
|
||||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
|
||||
renaming, preserve the volatileness through the indirection, if any.
|
||||
|
||||
2012-06-13 Eric Botcazou <ebotcazou@adacore.com>
|
||||
2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
Revert
|
||||
2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
|
||||
* gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
|
||||
|
||||
* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
|
||||
(gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
|
||||
calling convention
|
||||
(get_minimal_subprog_decl): Likewise.
|
||||
(gnat_first_param_is_class): New predicate.
|
||||
2012-01-02 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
2012-06-12 Olivier Hainque <hainque@adacore.com>
|
||||
* gnatvsn.ads (Current_Year): Bump to 2011.
|
||||
|
||||
* gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove
|
||||
$(PIC_FLAG_FOR_TARGET).
|
||||
(gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
|
||||
GNATLIBCFLAGS_FOR_C passed to gnatlib.
|
||||
(gnatlib-shared-win32): Likewise.
|
||||
(gnatlib-shared-darwin): Likewise.
|
||||
(gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to
|
||||
gnatlib-shared-win32.
|
||||
2011-12-08 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
|
||||
PR tree-optimization/51315
|
||||
Backport from mainline
|
||||
2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promote
|
||||
the alignment if this doesn't prevent BLKmode access to the object.
|
||||
|
||||
2011-11-13 Iain Sandoe <iains@gcc.gnu.org>
|
||||
|
||||
* gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
|
||||
(build_variant_list): Adjust to above renaming.
|
||||
|
|
|
@ -111,11 +111,10 @@ NO_REORDER_ADAFLAGS = -fno-toplevel-reorder
|
|||
GNATLIBFLAGS = -W -Wall -gnatpg -nostdinc
|
||||
GNATLIBCFLAGS = -g -O2
|
||||
PICFLAG_FOR_TARGET = @PICFLAG_FOR_TARGET@
|
||||
|
||||
# Pretend that _Unwind_GetIPInfo is available for the target by default. This
|
||||
# should be autodetected during the configuration of libada and passed down to
|
||||
# here, but we need something for --disable-libada and hope for the best.
|
||||
GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) \
|
||||
GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET) \
|
||||
-fexceptions -DIN_RTS -DHAVE_GETIPINFO
|
||||
ALL_ADAFLAGS = $(CFLAGS) $(ADA_CFLAGS) $(ADAFLAGS)
|
||||
THREAD_KIND = native
|
||||
|
@ -2597,7 +2596,7 @@ gnatlib-shared-default:
|
|||
$(MAKE) $(FLAGS_TO_PASS) \
|
||||
GNATLIBFLAGS="$(GNATLIBFLAGS)" \
|
||||
GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
|
||||
GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \
|
||||
GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
|
||||
MULTISUBDIR="$(MULTISUBDIR)" \
|
||||
THREAD_KIND="$(THREAD_KIND)" \
|
||||
gnatlib
|
||||
|
@ -2643,9 +2642,8 @@ gnatlib-shared-dual:
|
|||
gnatlib-shared-dual-win32:
|
||||
$(MAKE) $(FLAGS_TO_PASS) \
|
||||
GNATLIBFLAGS="$(GNATLIBFLAGS)" \
|
||||
GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
|
||||
GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
|
||||
GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
|
||||
PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \
|
||||
MULTISUBDIR="$(MULTISUBDIR)" \
|
||||
THREAD_KIND="$(THREAD_KIND)" \
|
||||
gnatlib-shared-win32
|
||||
|
@ -2668,7 +2666,7 @@ gnatlib-shared-win32:
|
|||
$(MAKE) $(FLAGS_TO_PASS) \
|
||||
GNATLIBFLAGS="$(GNATLIBFLAGS)" \
|
||||
GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
|
||||
GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \
|
||||
GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
|
||||
MULTISUBDIR="$(MULTISUBDIR)" \
|
||||
THREAD_KIND="$(THREAD_KIND)" \
|
||||
gnatlib
|
||||
|
@ -2691,7 +2689,7 @@ gnatlib-shared-darwin:
|
|||
$(MAKE) $(FLAGS_TO_PASS) \
|
||||
GNATLIBFLAGS="$(GNATLIBFLAGS)" \
|
||||
GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
|
||||
GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET) -fno-common" \
|
||||
GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) -fno-common" \
|
||||
MULTISUBDIR="$(MULTISUBDIR)" \
|
||||
THREAD_KIND="$(THREAD_KIND)" \
|
||||
gnatlib
|
||||
|
|
|
@ -144,6 +144,7 @@ enum alias_set_op
|
|||
|
||||
static void relate_alias_sets (tree, tree, enum alias_set_op);
|
||||
|
||||
static bool gnat_first_param_is_class (Entity_Id) ATTRIBUTE_UNUSED;
|
||||
static bool allocatable_size_p (tree, bool);
|
||||
static void prepend_one_attribute_to (struct attrib **,
|
||||
enum attr_type, tree, tree, Node_Id);
|
||||
|
|
|
@ -768,6 +768,10 @@ extern tree remove_conversions (tree exp, bool true_address);
|
|||
likewise return an expression pointing to the underlying array. */
|
||||
extern tree maybe_unconstrained_array (tree exp);
|
||||
|
||||
/* If EXP's type is a VECTOR_TYPE, return EXP converted to the associated
|
||||
TYPE_REPRESENTATIVE_ARRAY. */
|
||||
extern tree maybe_vector_array (tree exp);
|
||||
|
||||
/* Return an expression that does an unchecked conversion of EXPR to TYPE.
|
||||
If NOTRUNC_P is true, truncation operations should be suppressed. */
|
||||
extern tree unchecked_convert (tree type, tree expr, bool notrunc_p);
|
||||
|
@ -1013,17 +1017,3 @@ extern void enumerate_modes (void (*f) (const char *, int, int, int, int, int,
|
|||
|
||||
/* Convenient shortcuts. */
|
||||
#define VECTOR_TYPE_P(TYPE) (TREE_CODE (TYPE) == VECTOR_TYPE)
|
||||
|
||||
/* If EXP's type is a VECTOR_TYPE, return EXP converted to the associated
|
||||
TYPE_REPRESENTATIVE_ARRAY. */
|
||||
|
||||
static inline tree
|
||||
maybe_vector_array (tree exp)
|
||||
{
|
||||
tree etype = TREE_TYPE (exp);
|
||||
|
||||
if (VECTOR_TYPE_P (etype))
|
||||
exp = convert (TYPE_REPRESENTATIVE_ARRAY (etype), exp);
|
||||
|
||||
return exp;
|
||||
}
|
||||
|
|
|
@ -5226,12 +5226,7 @@ gnat_to_gnu (Node_Id gnat_node)
|
|||
|
||||
/* Convert vector inputs to their representative array type, to fit
|
||||
what the code below expects. */
|
||||
if (VECTOR_TYPE_P (TREE_TYPE (gnu_array_object)))
|
||||
{
|
||||
if (present_in_lhs_or_actual_p (gnat_node))
|
||||
gnat_mark_addressable (gnu_array_object);
|
||||
gnu_array_object = maybe_vector_array (gnu_array_object);
|
||||
}
|
||||
gnu_array_object = maybe_vector_array (gnu_array_object);
|
||||
|
||||
gnu_array_object = maybe_unconstrained_array (gnu_array_object);
|
||||
|
||||
|
|
|
@ -4479,6 +4479,20 @@ maybe_unconstrained_array (tree exp)
|
|||
|
||||
return exp;
|
||||
}
|
||||
|
||||
/* If EXP's type is a VECTOR_TYPE, return EXP converted to the associated
|
||||
TYPE_REPRESENTATIVE_ARRAY. */
|
||||
|
||||
tree
|
||||
maybe_vector_array (tree exp)
|
||||
{
|
||||
tree etype = TREE_TYPE (exp);
|
||||
|
||||
if (VECTOR_TYPE_P (etype))
|
||||
exp = convert (TYPE_REPRESENTATIVE_ARRAY (etype), exp);
|
||||
|
||||
return exp;
|
||||
}
|
||||
|
||||
/* Return true if EXPR is an expression that can be folded as an operand
|
||||
of a VIEW_CONVERT_EXPR. See ada-tree.h for a complete rationale. */
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- S p e c --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -92,7 +92,7 @@ package Gnatvsn is
|
|||
Verbose_Library_Version : constant String := "GNAT Lib v" & Library_Version;
|
||||
-- Version string stored in e.g. ALI files
|
||||
|
||||
Current_Year : constant String := "2012";
|
||||
Current_Year : constant String := "2011";
|
||||
-- Used in printing copyright messages
|
||||
|
||||
end Gnatvsn;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- $Revision: 1.2 $
|
||||
-- $Revision: 1.13 $
|
||||
-- --
|
||||
-- Copyright (C) 1991-2003, Florida State University --
|
||||
-- Copyright (C) 2008-2011, Free Software Foundation, Inc. --
|
||||
|
|
|
@ -256,12 +256,7 @@ enum bb_flags
|
|||
df_set_bb_dirty, but not cleared by df_analyze, so it can be used
|
||||
to test whether a block has been modified prior to a df_analyze
|
||||
call. */
|
||||
BB_MODIFIED = 1 << 12,
|
||||
|
||||
/* Set on blocks that are in a transaction. This is calculated on
|
||||
demand, and is available after calling
|
||||
compute_transaction_bits(). */
|
||||
BB_IN_TRANSACTION = 1 << 13
|
||||
BB_MODIFIED = 1 << 12
|
||||
};
|
||||
|
||||
/* Dummy flag for convenience in the hot/cold partitioning code. */
|
||||
|
@ -792,7 +787,6 @@ extern basic_block alloc_block (void);
|
|||
extern void alloc_aux_for_blocks (int);
|
||||
extern void clear_aux_for_blocks (void);
|
||||
extern void free_aux_for_blocks (void);
|
||||
extern void alloc_aux_for_edge (edge, int);
|
||||
extern void alloc_aux_for_edges (int);
|
||||
extern void clear_aux_for_edges (void);
|
||||
extern void free_aux_for_edges (void);
|
||||
|
|
|
@ -3160,7 +3160,7 @@ expand_builtin_memcpy (tree exp, rtx target)
|
|||
/* Copy word part most expediently. */
|
||||
dest_addr = emit_block_move_hints (dest_mem, src_mem, len_rtx,
|
||||
CALL_EXPR_TAILCALL (exp)
|
||||
? BLOCK_OP_TAILCALL : BLOCK_OP_NORMAL,
|
||||
? BLOCK_OP_TAILCALL : BLOCK_OP_BUILTIN,
|
||||
expected_align, expected_size);
|
||||
|
||||
if (dest_addr == 0)
|
||||
|
|
|
@ -6,181 +6,7 @@
|
|||
|
||||
2012-06-14 Release Manager
|
||||
|
||||
* GCC 4.7.1 released.
|
||||
|
||||
2012-03-23 William Bader <williambader@hotmail.com>
|
||||
|
||||
PR c/52682
|
||||
* c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
|
||||
|
||||
2012-03-22 Release Manager
|
||||
|
||||
* GCC 4.7.0 released.
|
||||
|
||||
2012-02-13 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/52215
|
||||
* c-common.c (sync_resolve_params): Don't decide whether to convert
|
||||
or not based on TYPE_SIZE comparison, convert whenever arg_type
|
||||
is unsigned INTEGER_TYPE.
|
||||
|
||||
2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c/52118
|
||||
* c.opt ([Wunused-local-typedefs]): Fix description.
|
||||
|
||||
2012-01-24 Mike Stump <mikestump@comcast.net>
|
||||
|
||||
* c-common.c (c_common_type_for_mode): Match signed/unsigned types
|
||||
exactly.
|
||||
|
||||
2012-01-18 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* c-opts.c (c_common_post_options): Reset LTO flags if
|
||||
we are about to generate a PCH.
|
||||
|
||||
2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/51777
|
||||
* c-pretty-print.c (pp_c_integer_constant): For unsigned constants
|
||||
use pp_unsigned_wide_integer.
|
||||
|
||||
2012-01-10 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/51806
|
||||
* c-opts.c (c_common_handle_option): Move -Werror handling
|
||||
to language independent code.
|
||||
|
||||
2012-01-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/51764
|
||||
* c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
|
||||
from common.opt.
|
||||
|
||||
2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/51316
|
||||
* c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
|
||||
of array types with an unknown bound.
|
||||
|
||||
2011-12-20 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* c-common.c (flag_isoc99): Update comment to refer to C11.
|
||||
(flag_isoc1x): Change to flag_isoc11.
|
||||
* c-common.h (flag_isoc99): Update comment to refer to C11.
|
||||
(flag_isoc1x): Change to flag_isoc11.
|
||||
* c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
|
||||
C11.
|
||||
* c-opts.c (set_std_c1x): Change to set_std_c11.
|
||||
(c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
|
||||
Call set_std_c11.
|
||||
(set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
|
||||
(set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
|
||||
* c.opt (std=c1x): Change to std=c11. Document as non-draft
|
||||
standard.
|
||||
(std=c1x, std=iso9899:2011): Add as aliases of std=c11.
|
||||
(std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
|
||||
(std=gnu1x): Make alias of std=gnu11.
|
||||
|
||||
2011-12-19 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/51228
|
||||
* c-common.c (handle_transparent_union_attribute): Check the first
|
||||
field if the type is complete.
|
||||
|
||||
2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
|
||||
PR libstdc++/51365
|
||||
* c-common.c (RID_IS_FINAL): Add.
|
||||
* c-common.h (RID_IS_FINAL): Add.
|
||||
|
||||
2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
|
||||
|
||||
* c.opt (fgnu-runtime): Provide full description.
|
||||
(fnext-runtime): Likewise.
|
||||
* c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
|
||||
|
||||
2011-11-28 Andrew MacLeod <amacleod@redhat.com>
|
||||
|
||||
* c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
|
||||
predefines in one place. Add LOCK_FREE predefines.
|
||||
(c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
|
||||
new func.
|
||||
|
||||
2011-11-24 Andrew MacLeod <amacleod@redhat.com>
|
||||
|
||||
PR c/51256
|
||||
* c-common.c (get_atomic_generic_size): Check for various error
|
||||
conditions
|
||||
(resolve_overloaded_atomic_exchange,
|
||||
resolve_overloaded_atomic_compare_exchange,
|
||||
resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
|
||||
error_mark_node for error conditions.
|
||||
|
||||
2011-11-08 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/51010
|
||||
c-family/
|
||||
|
||||
2011-11-07 Richard Henderson <rth@redhat.com>
|
||||
Aldy Hernandez <aldyh@redhat.com>
|
||||
Torvald Riegel <triegel@redhat.com>
|
||||
|
||||
Merged from transactional-memory.
|
||||
|
||||
* c-common.c (handle_tm_wrap_attribute,
|
||||
handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
|
||||
(struct c_common_reswords): Added __transaction* keywords.
|
||||
(struct c_common_attribute_table): Added transaction* and tm_regparm
|
||||
attributes.
|
||||
* c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
|
||||
masks.
|
||||
(parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
|
||||
find_tm_attribute): Declare.
|
||||
|
||||
2011-11-07 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/35688
|
||||
* c-common.c, c-common.h: Revert yesterday's changes.
|
||||
|
||||
2011-11-06 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/35688
|
||||
* c-common.c (decl_has_visibility_attr): Split out from...
|
||||
(c_determine_visibility): ...here.
|
||||
* c-common.h: Declare it.
|
||||
|
||||
2011-11-06 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* c-common.c (c_common_reswords): Add _Alignas and _Alignof.
|
||||
(c_sizeof_or_alignof_type): Diagnose alignof applied to a function
|
||||
type.
|
||||
(check_user_alignment): New. Split out of
|
||||
handle_aligned_attribute. Disallow integer constants with
|
||||
noninteger types. Conditionally allow zero.
|
||||
(handle_aligned_attribute): Use check_user_alignment.
|
||||
* c-common.h (RID_ALIGNAS, check_user_alignment): New.
|
||||
|
||||
2011-11-06 Andrew MacLeod <amacleod@redhat.com>
|
||||
Richard Henderson <rth@redhat.com>
|
||||
|
||||
Merged from cxx-mem-model.
|
||||
|
||||
* c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
|
||||
* c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
|
||||
parameters that are the same type size.
|
||||
(get_atomic_generic_size): New. Find size of generic
|
||||
atomic function parameters and do typechecking.
|
||||
(add_atomic_size_parameter): New. Insert size into parameter list.
|
||||
(resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
|
||||
either __atomic_exchange_n or external library call.
|
||||
(resolve_overloaded_atomic_compare_exchange): Restructure
|
||||
__atomic_compare_exchange to either _n variant or external library call.
|
||||
(resolve_overloaded_atomic_load): Restructure __atomic_load to either
|
||||
__atomic_load_n or an external library call.
|
||||
(resolve_overloaded_atomic_store): Restructure __atomic_store to either
|
||||
__atomic_store_n or an external library call.
|
||||
(resolve_overloaded_builtin): Handle new __atomic builtins.
|
||||
* GCC 4.6.3 released.
|
||||
|
||||
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
|
|
|
@ -814,10 +814,10 @@ free_aux_for_blocks (void)
|
|||
clear_aux_for_blocks ();
|
||||
}
|
||||
|
||||
/* Allocate a memory edge of SIZE as E->aux. The obstack must
|
||||
/* Allocate a memory edge of SIZE as BB->aux. The obstack must
|
||||
be first initialized by alloc_aux_for_edges. */
|
||||
|
||||
void
|
||||
static void
|
||||
alloc_aux_for_edge (edge e, int size)
|
||||
{
|
||||
/* Verify that aux field is clear. */
|
||||
|
|
12
gcc/cfgrtl.c
12
gcc/cfgrtl.c
|
@ -1224,21 +1224,21 @@ force_nonfallthru_and_redirect (edge e, basic_block target, rtx jump_label)
|
|||
}
|
||||
|
||||
/* If e->src ends with asm goto, see if any of the ASM_OPERANDS_LABELs
|
||||
don't point to the target or fallthru label. */
|
||||
don't point to target label. */
|
||||
if (JUMP_P (BB_END (e->src))
|
||||
&& target != EXIT_BLOCK_PTR
|
||||
&& e->dest == target
|
||||
&& (e->flags & EDGE_FALLTHRU)
|
||||
&& (note = extract_asm_operands (PATTERN (BB_END (e->src)))))
|
||||
{
|
||||
int i, n = ASM_OPERANDS_LABEL_LENGTH (note);
|
||||
|
||||
for (i = 0; i < n; ++i)
|
||||
{
|
||||
if (XEXP (ASM_OPERANDS_LABEL (note, i), 0) == BB_HEAD (e->dest))
|
||||
XEXP (ASM_OPERANDS_LABEL (note, i), 0) = block_label (target);
|
||||
if (XEXP (ASM_OPERANDS_LABEL (note, i), 0) == BB_HEAD (target))
|
||||
if (XEXP (ASM_OPERANDS_LABEL (note, i), 0) == BB_HEAD (target))
|
||||
{
|
||||
asm_goto_edge = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (EDGE_COUNT (e->src->succs) >= 2 || abnormal_edge_flags || asm_goto_edge)
|
||||
|
|
|
@ -1258,7 +1258,7 @@ main (int argc, char **argv)
|
|||
/* Try to discover a valid linker/nm/strip to use. */
|
||||
|
||||
/* Maybe we know the right file to use (if not cross). */
|
||||
ld_file_name = 0;
|
||||
ld_file_name = NULL;
|
||||
#ifdef DEFAULT_LINKER
|
||||
if (access (DEFAULT_LINKER, X_OK) == 0)
|
||||
ld_file_name = DEFAULT_LINKER;
|
||||
|
@ -1288,6 +1288,26 @@ main (int argc, char **argv)
|
|||
? full_plugin_ld_suffix
|
||||
: full_ld_suffix);
|
||||
|
||||
if (ld_file_name == NULL)
|
||||
{
|
||||
#define LD_NEW_PREFIX "../ld/"
|
||||
struct prefix_list l = { LD_NEW_PREFIX, NULL };
|
||||
struct path_prefix p = { NULL, sizeof LD_NEW_PREFIX, "in-build-tree-linker" };
|
||||
|
||||
p.plist = & l;
|
||||
ld_file_name = find_a_file (& p, "ld-new" );
|
||||
}
|
||||
|
||||
if (ld_file_name == NULL && use_plugin)
|
||||
{
|
||||
/* Configure will set PLUGIN_LD to the in-build-tree name of the plugin
|
||||
supporting linker. If we are running from an installed set of binaries
|
||||
however then we need to search for the built linker, not the in-tree linker. */
|
||||
ld_file_name = find_a_file (& cpath, ld_suffix);
|
||||
if (ld_file_name == NULL)
|
||||
ld_file_name = find_a_file (& path, full_ld_suffix);
|
||||
}
|
||||
|
||||
#ifdef REAL_NM_FILE_NAME
|
||||
nm_file_name = find_a_file (&path, REAL_NM_FILE_NAME);
|
||||
if (nm_file_name == 0)
|
||||
|
|
|
@ -1411,7 +1411,7 @@ Disable partioning and streaming
|
|||
|
||||
; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
|
||||
flto-compression-level=
|
||||
Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)
|
||||
Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(0)
|
||||
-flto-compression-level=<number> Use zlib compression level <number> for IL
|
||||
|
||||
flto-report
|
||||
|
|
|
@ -891,6 +891,16 @@ arm*-*-uclinux*) # ARM ucLinux
|
|||
arm*-*-ecos-elf)
|
||||
tm_file="dbxelf.h elfos.h newlib-stdint.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h"
|
||||
tmake_file="arm/t-arm arm/t-arm-elf"
|
||||
case ${target} in
|
||||
armv6*)
|
||||
with_arch=armv6j
|
||||
tmake_file="arm/t-arm arm/t-arm-elf-no-hardfp"
|
||||
;;
|
||||
armv5*)
|
||||
with_arch=armv5te
|
||||
tmake_file="arm/t-arm arm/t-arm-elf-no-hardfp"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
|
||||
# The BPABI long long divmod functions return a 128-bit value in
|
||||
|
@ -940,8 +950,7 @@ avr-*-rtems*)
|
|||
extra_objs="avr-devices.o avr-log.o"
|
||||
;;
|
||||
avr-*-*)
|
||||
tm_file="elfos.h avr/elf.h avr/avr.h dbxelf.h avr/avr-stdint.h"
|
||||
tmake_file="avr/t-avr avr/t-multilib"
|
||||
tm_file="avr/avr.h dbxelf.h avr/avr-stdint.h"
|
||||
use_gcc_stdint=wrap
|
||||
extra_gcc_objs="driver-avr.o avr-devices.o"
|
||||
extra_objs="avr-devices.o avr-log.o"
|
||||
|
@ -2193,6 +2202,7 @@ s390x-ibm-tpf*)
|
|||
out_file=s390/s390.c
|
||||
thread_file='tpf'
|
||||
extra_options="${extra_options} s390/tpf.opt"
|
||||
extra_headers=../../../libgcc/unwind-pe.h
|
||||
;;
|
||||
score-*-elf)
|
||||
gas=yes
|
||||
|
@ -2335,7 +2345,7 @@ sh-*-elf* | sh[12346l]*-*-elf* | \
|
|||
sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
|
||||
sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;
|
||||
sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
|
||||
*) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
|
||||
*) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single,m2a-single-only ;;
|
||||
esac
|
||||
if test x$with_fp = xno; then
|
||||
sh_multilibs="`echo $sh_multilibs|sed -e s/m4/sh4-nofpu/ -e s/,m4-[^,]*//g -e s/,m[23]e// -e s/m2a,m2a-single/m2a-nofpu/ -e s/m5-..m....,//g`"
|
||||
|
|
|
@ -2026,6 +2026,9 @@ arm_option_override (void)
|
|||
global_options.x_param_values,
|
||||
global_options_set.x_param_values);
|
||||
|
||||
/* This doesn't work at the moment. */
|
||||
flag_stack_protect = 0;
|
||||
|
||||
/* Register global variables with the garbage collector. */
|
||||
arm_add_gc_roots ();
|
||||
}
|
||||
|
|
|
@ -63,61 +63,62 @@
|
|||
;; Note: sin and cos are no-longer used.
|
||||
;; Unspec enumerators for Neon are defined in neon.md.
|
||||
|
||||
(define_c_enum "unspec" [
|
||||
UNSPEC_SIN ; `sin' operation (MODE_FLOAT):
|
||||
; operand 0 is the result,
|
||||
; operand 1 the parameter.
|
||||
UNPSEC_COS ; `cos' operation (MODE_FLOAT):
|
||||
; operand 0 is the result,
|
||||
; operand 1 the parameter.
|
||||
UNSPEC_PUSH_MULT ; `push multiple' operation:
|
||||
; operand 0 is the first register,
|
||||
; subsequent registers are in parallel (use ...)
|
||||
; expressions.
|
||||
UNSPEC_PIC_SYM ; A symbol that has been treated properly for pic
|
||||
; usage, that is, we will add the pic_register
|
||||
; value to it before trying to dereference it.
|
||||
UNSPEC_PIC_BASE ; Add PC and all but the last operand together,
|
||||
; The last operand is the number of a PIC_LABEL
|
||||
; that points at the containing instruction.
|
||||
UNSPEC_PRLG_STK ; A special barrier that prevents frame accesses
|
||||
; being scheduled before the stack adjustment insn.
|
||||
UNSPEC_PROLOGUE_USE ; As USE insns are not meaningful after reload,
|
||||
; this unspec is used to prevent the deletion of
|
||||
; instructions setting registers for EH handling
|
||||
; and stack frame generation. Operand 0 is the
|
||||
; register to "use".
|
||||
UNSPEC_CHECK_ARCH ; Set CCs to indicate 26-bit or 32-bit mode.
|
||||
UNSPEC_WSHUFH ; Used by the intrinsic form of the iWMMXt WSHUFH instruction.
|
||||
UNSPEC_WACC ; Used by the intrinsic form of the iWMMXt WACC instruction.
|
||||
UNSPEC_TMOVMSK ; Used by the intrinsic form of the iWMMXt TMOVMSK instruction.
|
||||
UNSPEC_WSAD ; Used by the intrinsic form of the iWMMXt WSAD instruction.
|
||||
UNSPEC_WSADZ ; Used by the intrinsic form of the iWMMXt WSADZ instruction.
|
||||
UNSPEC_WMACS ; Used by the intrinsic form of the iWMMXt WMACS instruction.
|
||||
UNSPEC_WMACU ; Used by the intrinsic form of the iWMMXt WMACU instruction.
|
||||
UNSPEC_WMACSZ ; Used by the intrinsic form of the iWMMXt WMACSZ instruction.
|
||||
UNSPEC_WMACUZ ; Used by the intrinsic form of the iWMMXt WMACUZ instruction.
|
||||
UNSPEC_CLRDI ; Used by the intrinsic form of the iWMMXt CLRDI instruction.
|
||||
UNSPEC_WMADDS ; Used by the intrinsic form of the iWMMXt WMADDS instruction.
|
||||
UNSPEC_WMADDU ; Used by the intrinsic form of the iWMMXt WMADDU instruction.
|
||||
UNSPEC_TLS ; A symbol that has been treated properly for TLS usage.
|
||||
UNSPEC_PIC_LABEL ; A label used for PIC access that does not appear in the
|
||||
; instruction stream.
|
||||
UNSPEC_PIC_OFFSET ; A symbolic 12-bit OFFSET that has been treated
|
||||
; correctly for PIC usage.
|
||||
UNSPEC_GOTSYM_OFF ; The offset of the start of the GOT from a
|
||||
; a given symbolic address.
|
||||
UNSPEC_THUMB1_CASESI ; A Thumb1 compressed dispatch-table call.
|
||||
UNSPEC_RBIT ; rbit operation.
|
||||
UNSPEC_SYMBOL_OFFSET ; The offset of the start of the symbol from
|
||||
; another symbolic address.
|
||||
UNSPEC_MEMORY_BARRIER ; Represent a memory barrier.
|
||||
UNSPEC_UNALIGNED_LOAD ; Used to represent ldr/ldrh instructions that access
|
||||
; unaligned locations, on architectures which support
|
||||
; that.
|
||||
UNSPEC_UNALIGNED_STORE ; Same for str/strh.
|
||||
UNSPEC_PIC_UNIFIED ; Create a common pic addressing form.
|
||||
])
|
||||
(define_constants
|
||||
[(UNSPEC_SIN 0) ; `sin' operation (MODE_FLOAT):
|
||||
; operand 0 is the result,
|
||||
; operand 1 the parameter.
|
||||
(UNPSEC_COS 1) ; `cos' operation (MODE_FLOAT):
|
||||
; operand 0 is the result,
|
||||
; operand 1 the parameter.
|
||||
(UNSPEC_PUSH_MULT 2) ; `push multiple' operation:
|
||||
; operand 0 is the first register,
|
||||
; subsequent registers are in parallel (use ...)
|
||||
; expressions.
|
||||
(UNSPEC_PIC_SYM 3) ; A symbol that has been treated properly for pic
|
||||
; usage, that is, we will add the pic_register
|
||||
; value to it before trying to dereference it.
|
||||
(UNSPEC_PIC_BASE 4) ; Add PC and all but the last operand together,
|
||||
; The last operand is the number of a PIC_LABEL
|
||||
; that points at the containing instruction.
|
||||
(UNSPEC_PRLG_STK 5) ; A special barrier that prevents frame accesses
|
||||
; being scheduled before the stack adjustment insn.
|
||||
(UNSPEC_PROLOGUE_USE 6) ; As USE insns are not meaningful after reload,
|
||||
; this unspec is used to prevent the deletion of
|
||||
; instructions setting registers for EH handling
|
||||
; and stack frame generation. Operand 0 is the
|
||||
; register to "use".
|
||||
(UNSPEC_CHECK_ARCH 7); Set CCs to indicate 26-bit or 32-bit mode.
|
||||
(UNSPEC_WSHUFH 8) ; Used by the intrinsic form of the iWMMXt WSHUFH instruction.
|
||||
(UNSPEC_WACC 9) ; Used by the intrinsic form of the iWMMXt WACC instruction.
|
||||
(UNSPEC_TMOVMSK 10) ; Used by the intrinsic form of the iWMMXt TMOVMSK instruction.
|
||||
(UNSPEC_WSAD 11) ; Used by the intrinsic form of the iWMMXt WSAD instruction.
|
||||
(UNSPEC_WSADZ 12) ; Used by the intrinsic form of the iWMMXt WSADZ instruction.
|
||||
(UNSPEC_WMACS 13) ; Used by the intrinsic form of the iWMMXt WMACS instruction.
|
||||
(UNSPEC_WMACU 14) ; Used by the intrinsic form of the iWMMXt WMACU instruction.
|
||||
(UNSPEC_WMACSZ 15) ; Used by the intrinsic form of the iWMMXt WMACSZ instruction.
|
||||
(UNSPEC_WMACUZ 16) ; Used by the intrinsic form of the iWMMXt WMACUZ instruction.
|
||||
(UNSPEC_CLRDI 17) ; Used by the intrinsic form of the iWMMXt CLRDI instruction.
|
||||
(UNSPEC_WMADDS 18) ; Used by the intrinsic form of the iWMMXt WMADDS instruction.
|
||||
(UNSPEC_WMADDU 19) ; Used by the intrinsic form of the iWMMXt WMADDU instruction.
|
||||
(UNSPEC_TLS 20) ; A symbol that has been treated properly for TLS usage.
|
||||
(UNSPEC_PIC_LABEL 21) ; A label used for PIC access that does not appear in the
|
||||
; instruction stream.
|
||||
(UNSPEC_STACK_ALIGN 22) ; Doubleword aligned stack pointer. Used to
|
||||
; generate correct unwind information.
|
||||
(UNSPEC_PIC_OFFSET 23) ; A symbolic 12-bit OFFSET that has been treated
|
||||
; correctly for PIC usage.
|
||||
(UNSPEC_GOTSYM_OFF 24) ; The offset of the start of the the GOT from a
|
||||
; a given symbolic address.
|
||||
(UNSPEC_THUMB1_CASESI 25) ; A Thumb1 compressed dispatch-table call.
|
||||
(UNSPEC_RBIT 26) ; rbit operation.
|
||||
(UNSPEC_SYMBOL_OFFSET 27) ; The offset of the start of the symbol from
|
||||
; another symbolic address.
|
||||
(UNSPEC_MEMORY_BARRIER 28) ; Represent a memory barrier.
|
||||
(UNSPEC_PIC_UNIFIED 29) ; Create a common pic addressing form.
|
||||
(UNSPEC_UNALIGNED_LOAD 30)
|
||||
(UNSPEC_UNALIGNED_STORE 31)
|
||||
]
|
||||
)
|
||||
|
||||
;; UNSPEC_VOLATILE Usage:
|
||||
|
||||
|
|
|
@ -49,16 +49,16 @@ MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
|
|||
# MULTILIB_DIRNAMES += ep9312
|
||||
# MULTILIB_EXCEPTIONS += *mthumb/*mcpu=ep9312*
|
||||
#
|
||||
# MULTILIB_OPTIONS += mlittle-endian/mbig-endian
|
||||
# MULTILIB_DIRNAMES += le be
|
||||
# MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle
|
||||
#
|
||||
# MULTILIB_OPTIONS += mfloat-abi=hard/mfloat-abi=soft
|
||||
# MULTILIB_DIRNAMES += fpu soft
|
||||
# MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
|
||||
#
|
||||
# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork
|
||||
# MULTILIB_DIRNAMES += normal interwork
|
||||
MULTILIB_OPTIONS += mlittle-endian/mbig-endian
|
||||
MULTILIB_DIRNAMES += le be
|
||||
MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle
|
||||
|
||||
MULTILIB_OPTIONS += mfloat-abi=hard/mfloat-abi=soft
|
||||
MULTILIB_DIRNAMES += fpu soft
|
||||
MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
|
||||
|
||||
MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork
|
||||
MULTILIB_DIRNAMES += normal interwork
|
||||
#
|
||||
# MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore
|
||||
# MULTILIB_DIRNAMES += elf under
|
||||
|
@ -89,3 +89,19 @@ MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
|
|||
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600
|
||||
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610
|
||||
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620
|
||||
|
||||
MULTILIB_OPTIONS += march=armv5t
|
||||
MULTILIB_DIRNAMES += v5
|
||||
MULTILIB_EXCEPTIONS += *mhard-float/*march?armv5t*
|
||||
MULTILIB_MATCHES += march?armv5t=march?armv5
|
||||
MULTILIB_MATCHES += march?armv5t=march?armv5te
|
||||
MULTILIB_MATCHES += march?armv5t=march?armv6j
|
||||
MULTILIB_MATCHES += march?armv5t=march?iwmmxt
|
||||
MULTILIB_MATCHES += march?armv5t=mcpu?arm10tdmi
|
||||
MULTILIB_MATCHES += march?armv5t=mcpu?arm1020t
|
||||
MULTILIB_MATCHES += march?armv5t=mcpu?arm926ejs
|
||||
MULTILIB_MATCHES += march?armv5t=mcpu?arm1026ejs
|
||||
MULTILIB_MATCHES += march?armv5t=mcpu?xscale
|
||||
MULTILIB_MATCHES += march?armv5t=mcpu?iwmmxt
|
||||
MULTILIB_MATCHES += march?armv5t=mcpu?arm1136js
|
||||
MULTILIB_MATCHES += march?armv5t=mcpu?arm1136jfs
|
||||
|
|
|
@ -56,10 +56,182 @@ avr_arch_types[] =
|
|||
};
|
||||
|
||||
const struct mcu_type_s avr_mcu_types[] = {
|
||||
#define AVR_MCU(NAME,ARCH,MACRO,SHORT_SP,ERRATA_SKIP,DATA_SEC,N_FLASH,LIB_NAME)\
|
||||
{ NAME, ARCH, MACRO, SHORT_SP, ERRATA_SKIP, DATA_SEC, N_FLASH, LIB_NAME },
|
||||
#include "avr-mcus.def"
|
||||
#undef AVR_MCU
|
||||
/* Classic, <= 8K. */
|
||||
{ "avr2", ARCH_AVR2, NULL, 0, 0x0060, "s8515" },
|
||||
{ "at90s2313", ARCH_AVR2, "__AVR_AT90S2313__", 1, 0x0060, "s2313" },
|
||||
{ "at90s2323", ARCH_AVR2, "__AVR_AT90S2323__", 1, 0x0060, "s2323" },
|
||||
{ "at90s2333", ARCH_AVR2, "__AVR_AT90S2333__", 1, 0x0060, "s2333" },
|
||||
{ "at90s2343", ARCH_AVR2, "__AVR_AT90S2343__", 1, 0x0060, "s2343" },
|
||||
{ "attiny22", ARCH_AVR2, "__AVR_ATtiny22__", 1, 0x0060, "tn22" },
|
||||
{ "attiny26", ARCH_AVR2, "__AVR_ATtiny26__", 1, 0x0060, "tn26" },
|
||||
{ "at90s4414", ARCH_AVR2, "__AVR_AT90S4414__", 0, 0x0060, "s4414" },
|
||||
{ "at90s4433", ARCH_AVR2, "__AVR_AT90S4433__", 1, 0x0060, "s4433" },
|
||||
{ "at90s4434", ARCH_AVR2, "__AVR_AT90S4434__", 0, 0x0060, "s4434" },
|
||||
{ "at90s8515", ARCH_AVR2, "__AVR_AT90S8515__", 0, 0x0060, "s8515" },
|
||||
{ "at90c8534", ARCH_AVR2, "__AVR_AT90C8534__", 0, 0x0060, "c8534" },
|
||||
{ "at90s8535", ARCH_AVR2, "__AVR_AT90S8535__", 0, 0x0060, "s8535" },
|
||||
/* Classic + MOVW, <= 8K. */
|
||||
{ "avr25", ARCH_AVR25, NULL, 0, 0x0060, "tn85" },
|
||||
{ "ata6289", ARCH_AVR25, "__AVR_ATA6289__", 0, 0x0100, "a6289" },
|
||||
{ "attiny13", ARCH_AVR25, "__AVR_ATtiny13__", 1, 0x0060, "tn13" },
|
||||
{ "attiny13a", ARCH_AVR25, "__AVR_ATtiny13A__", 1, 0x0060, "tn13a" },
|
||||
{ "attiny2313", ARCH_AVR25, "__AVR_ATtiny2313__", 1, 0x0060, "tn2313" },
|
||||
{ "attiny2313a", ARCH_AVR25, "__AVR_ATtiny2313A__", 1, 0x0060, "tn2313a" },
|
||||
{ "attiny24", ARCH_AVR25, "__AVR_ATtiny24__", 1, 0x0060, "tn24" },
|
||||
{ "attiny24a", ARCH_AVR25, "__AVR_ATtiny24A__", 1, 0x0060, "tn24a" },
|
||||
{ "attiny4313", ARCH_AVR25, "__AVR_ATtiny4313__", 0, 0x0060, "tn4313" },
|
||||
{ "attiny44", ARCH_AVR25, "__AVR_ATtiny44__", 0, 0x0060, "tn44" },
|
||||
{ "attiny44a", ARCH_AVR25, "__AVR_ATtiny44A__", 0, 0x0060, "tn44a" },
|
||||
{ "attiny84", ARCH_AVR25, "__AVR_ATtiny84__", 0, 0x0060, "tn84" },
|
||||
{ "attiny84a", ARCH_AVR25, "__AVR_ATtiny84A__", 0, 0x0060, "tn84" },
|
||||
{ "attiny25", ARCH_AVR25, "__AVR_ATtiny25__", 1, 0x0060, "tn25" },
|
||||
{ "attiny45", ARCH_AVR25, "__AVR_ATtiny45__", 0, 0x0060, "tn45" },
|
||||
{ "attiny85", ARCH_AVR25, "__AVR_ATtiny85__", 0, 0x0060, "tn85" },
|
||||
{ "attiny261", ARCH_AVR25, "__AVR_ATtiny261__", 1, 0x0060, "tn261" },
|
||||
{ "attiny261a", ARCH_AVR25, "__AVR_ATtiny261A__", 1, 0x0060, "tn261a" },
|
||||
{ "attiny461", ARCH_AVR25, "__AVR_ATtiny461__", 0, 0x0060, "tn461" },
|
||||
{ "attiny461a", ARCH_AVR25, "__AVR_ATtiny461A__", 0, 0x0060, "tn461a" },
|
||||
{ "attiny861", ARCH_AVR25, "__AVR_ATtiny861__", 0, 0x0060, "tn861" },
|
||||
{ "attiny861a", ARCH_AVR25, "__AVR_ATtiny861A__", 0, 0x0060, "tn861a" },
|
||||
{ "attiny43u", ARCH_AVR25, "__AVR_ATtiny43U__", 0, 0x0060, "tn43u" },
|
||||
{ "attiny87", ARCH_AVR25, "__AVR_ATtiny87__", 0, 0x0100, "tn87" },
|
||||
{ "attiny48", ARCH_AVR25, "__AVR_ATtiny48__", 0, 0x0100, "tn48" },
|
||||
{ "attiny88", ARCH_AVR25, "__AVR_ATtiny88__", 0, 0x0100, "tn88" },
|
||||
{ "at86rf401", ARCH_AVR25, "__AVR_AT86RF401__", 0, 0x0060, "86401" },
|
||||
/* Classic, > 8K, <= 64K. */
|
||||
{ "avr3", ARCH_AVR3, NULL, 0, 0x0060, "43355" },
|
||||
{ "at43usb355", ARCH_AVR3, "__AVR_AT43USB355__", 0, 0x0060, "43355" },
|
||||
{ "at76c711", ARCH_AVR3, "__AVR_AT76C711__", 0, 0x0060, "76711" },
|
||||
/* Classic, == 128K. */
|
||||
{ "avr31", ARCH_AVR31, NULL, 0, 0x0060, "m103" },
|
||||
{ "atmega103", ARCH_AVR31, "__AVR_ATmega103__", 0, 0x0060, "m103" },
|
||||
{ "at43usb320", ARCH_AVR31, "__AVR_AT43USB320__", 0, 0x0060, "43320" },
|
||||
/* Classic + MOVW + JMP/CALL. */
|
||||
{ "avr35", ARCH_AVR35, NULL, 0, 0x0100, "usb162" },
|
||||
{ "at90usb82", ARCH_AVR35, "__AVR_AT90USB82__", 0, 0x0100, "usb82" },
|
||||
{ "at90usb162", ARCH_AVR35, "__AVR_AT90USB162__", 0, 0x0100, "usb162" },
|
||||
{ "atmega8u2", ARCH_AVR35, "__AVR_ATmega8U2__", 0, 0x0100, "m8u2" },
|
||||
{ "atmega16u2", ARCH_AVR35, "__AVR_ATmega16U2__", 0, 0x0100, "m16u2" },
|
||||
{ "atmega32u2", ARCH_AVR35, "__AVR_ATmega32U2__", 0, 0x0100, "m32u2" },
|
||||
{ "attiny167", ARCH_AVR35, "__AVR_ATtiny167__", 0, 0x0100, "tn167" },
|
||||
/* Enhanced, <= 8K. */
|
||||
{ "avr4", ARCH_AVR4, NULL, 0, 0x0060, "m8" },
|
||||
{ "atmega8", ARCH_AVR4, "__AVR_ATmega8__", 0, 0x0060, "m8" },
|
||||
{ "atmega48", ARCH_AVR4, "__AVR_ATmega48__", 0, 0x0100, "m48" },
|
||||
{ "atmega48a", ARCH_AVR4, "__AVR_ATmega48A__", 0, 0x0100, "m48a" },
|
||||
{ "atmega48p", ARCH_AVR4, "__AVR_ATmega48P__", 0, 0x0100, "m48p" },
|
||||
{ "atmega88", ARCH_AVR4, "__AVR_ATmega88__", 0, 0x0100, "m88" },
|
||||
{ "atmega88a", ARCH_AVR4, "__AVR_ATmega88A__", 0, 0x0100, "m88a" },
|
||||
{ "atmega88p", ARCH_AVR4, "__AVR_ATmega88P__", 0, 0x0100, "m88p" },
|
||||
{ "atmega88pa", ARCH_AVR4, "__AVR_ATmega88PA__", 0, 0x0100, "m88pa" },
|
||||
{ "atmega8515", ARCH_AVR4, "__AVR_ATmega8515__", 0, 0x0060, "m8515" },
|
||||
{ "atmega8535", ARCH_AVR4, "__AVR_ATmega8535__", 0, 0x0060, "m8535" },
|
||||
{ "atmega8hva", ARCH_AVR4, "__AVR_ATmega8HVA__", 0, 0x0100, "m8hva" },
|
||||
{ "at90pwm1", ARCH_AVR4, "__AVR_AT90PWM1__", 0, 0x0100, "90pwm1" },
|
||||
{ "at90pwm2", ARCH_AVR4, "__AVR_AT90PWM2__", 0, 0x0100, "90pwm2" },
|
||||
{ "at90pwm2b", ARCH_AVR4, "__AVR_AT90PWM2B__", 0, 0x0100, "90pwm2b" },
|
||||
{ "at90pwm3", ARCH_AVR4, "__AVR_AT90PWM3__", 0, 0x0100, "90pwm3" },
|
||||
{ "at90pwm3b", ARCH_AVR4, "__AVR_AT90PWM3B__", 0, 0x0100, "90pwm3b" },
|
||||
{ "at90pwm81", ARCH_AVR4, "__AVR_AT90PWM81__", 0, 0x0100, "90pwm81" },
|
||||
/* Enhanced, > 8K, <= 64K. */
|
||||
{ "avr5", ARCH_AVR5, NULL, 0, 0x0060, "m16" },
|
||||
{ "atmega16", ARCH_AVR5, "__AVR_ATmega16__", 0, 0x0060, "m16" },
|
||||
{ "atmega16a", ARCH_AVR5, "__AVR_ATmega16A__", 0, 0x0060, "m16a" },
|
||||
{ "atmega161", ARCH_AVR5, "__AVR_ATmega161__", 0, 0x0060, "m161" },
|
||||
{ "atmega162", ARCH_AVR5, "__AVR_ATmega162__", 0, 0x0100, "m162" },
|
||||
{ "atmega163", ARCH_AVR5, "__AVR_ATmega163__", 0, 0x0060, "m163" },
|
||||
{ "atmega164a", ARCH_AVR5, "__AVR_ATmega164A__", 0, 0x0100, "m164a" },
|
||||
{ "atmega164p", ARCH_AVR5, "__AVR_ATmega164P__", 0, 0x0100, "m164p" },
|
||||
{ "atmega165", ARCH_AVR5, "__AVR_ATmega165__", 0, 0x0100, "m165" },
|
||||
{ "atmega165a", ARCH_AVR5, "__AVR_ATmega165A__", 0, 0x0100, "m165a" },
|
||||
{ "atmega165p", ARCH_AVR5, "__AVR_ATmega165P__", 0, 0x0100, "m165p" },
|
||||
{ "atmega168", ARCH_AVR5, "__AVR_ATmega168__", 0, 0x0100, "m168" },
|
||||
{ "atmega168a", ARCH_AVR5, "__AVR_ATmega168A__", 0, 0x0100, "m168a" },
|
||||
{ "atmega168p", ARCH_AVR5, "__AVR_ATmega168P__", 0, 0x0100, "m168p" },
|
||||
{ "atmega169", ARCH_AVR5, "__AVR_ATmega169__", 0, 0x0100, "m169" },
|
||||
{ "atmega169a", ARCH_AVR5, "__AVR_ATmega169A__", 0, 0x0100, "m169a" },
|
||||
{ "atmega169p", ARCH_AVR5, "__AVR_ATmega169P__", 0, 0x0100, "m169p" },
|
||||
{ "atmega169pa", ARCH_AVR5, "__AVR_ATmega169PA__", 0, 0x0100, "m169pa" },
|
||||
{ "atmega32", ARCH_AVR5, "__AVR_ATmega32__", 0, 0x0060, "m32" },
|
||||
{ "atmega323", ARCH_AVR5, "__AVR_ATmega323__", 0, 0x0060, "m323" },
|
||||
{ "atmega324a", ARCH_AVR5, "__AVR_ATmega324A__", 0, 0x0100, "m324a" },
|
||||
{ "atmega324p", ARCH_AVR5, "__AVR_ATmega324P__", 0, 0x0100, "m324p" },
|
||||
{ "atmega324pa", ARCH_AVR5, "__AVR_ATmega324PA__", 0, 0x0100, "m324pa" },
|
||||
{ "atmega325", ARCH_AVR5, "__AVR_ATmega325__", 0, 0x0100, "m325" },
|
||||
{ "atmega325a", ARCH_AVR5, "__AVR_ATmega325A__", 0, 0x0100, "m325a" },
|
||||
{ "atmega325p", ARCH_AVR5, "__AVR_ATmega325P__", 0, 0x0100, "m325p" },
|
||||
{ "atmega3250", ARCH_AVR5, "__AVR_ATmega3250__", 0, 0x0100, "m3250" },
|
||||
{ "atmega3250a", ARCH_AVR5, "__AVR_ATmega3250A__", 0, 0x0100, "m3250a" },
|
||||
{ "atmega3250p", ARCH_AVR5, "__AVR_ATmega3250P__", 0, 0x0100, "m3250p" },
|
||||
{ "atmega328", ARCH_AVR5, "__AVR_ATmega328__", 0, 0x0100, "m328" },
|
||||
{ "atmega328p", ARCH_AVR5, "__AVR_ATmega328P__", 0, 0x0100, "m328p" },
|
||||
{ "atmega329", ARCH_AVR5, "__AVR_ATmega329__", 0, 0x0100, "m329" },
|
||||
{ "atmega329a", ARCH_AVR5, "__AVR_ATmega329A__", 0, 0x0100, "m329a" },
|
||||
{ "atmega329p", ARCH_AVR5, "__AVR_ATmega329P__", 0, 0x0100, "m329p" },
|
||||
{ "atmega329pa", ARCH_AVR5, "__AVR_ATmega329PA__", 0, 0x0100, "m329pa" },
|
||||
{ "atmega3290", ARCH_AVR5, "__AVR_ATmega3290__", 0, 0x0100, "m3290" },
|
||||
{ "atmega3290a", ARCH_AVR5, "__AVR_ATmega3290A__", 0, 0x0100, "m3290a" },
|
||||
{ "atmega3290p", ARCH_AVR5, "__AVR_ATmega3290P__", 0, 0x0100, "m3290p" },
|
||||
{ "atmega406", ARCH_AVR5, "__AVR_ATmega406__", 0, 0x0100, "m406" },
|
||||
{ "atmega64", ARCH_AVR5, "__AVR_ATmega64__", 0, 0x0100, "m64" },
|
||||
{ "atmega640", ARCH_AVR5, "__AVR_ATmega640__", 0, 0x0200, "m640" },
|
||||
{ "atmega644", ARCH_AVR5, "__AVR_ATmega644__", 0, 0x0100, "m644" },
|
||||
{ "atmega644a", ARCH_AVR5, "__AVR_ATmega644A__", 0, 0x0100, "m644a" },
|
||||
{ "atmega644p", ARCH_AVR5, "__AVR_ATmega644P__", 0, 0x0100, "m644p" },
|
||||
{ "atmega644pa", ARCH_AVR5, "__AVR_ATmega644PA__", 0, 0x0100, "m644pa" },
|
||||
{ "atmega645", ARCH_AVR5, "__AVR_ATmega645__", 0, 0x0100, "m645" },
|
||||
{ "atmega645a", ARCH_AVR5, "__AVR_ATmega645A__", 0, 0x0100, "m645a" },
|
||||
{ "atmega645p", ARCH_AVR5, "__AVR_ATmega645P__", 0, 0x0100, "m645p" },
|
||||
{ "atmega6450", ARCH_AVR5, "__AVR_ATmega6450__", 0, 0x0100, "m6450" },
|
||||
{ "atmega6450a", ARCH_AVR5, "__AVR_ATmega6450A__", 0, 0x0100, "m6450a" },
|
||||
{ "atmega6450p", ARCH_AVR5, "__AVR_ATmega6450P__", 0, 0x0100, "m6450p" },
|
||||
{ "atmega649", ARCH_AVR5, "__AVR_ATmega649__", 0, 0x0100, "m649" },
|
||||
{ "atmega649a", ARCH_AVR5, "__AVR_ATmega649A__", 0, 0x0100, "m649a" },
|
||||
{ "atmega649p", ARCH_AVR5, "__AVR_ATmega649P__", 0, 0x0100, "m649p" },
|
||||
{ "atmega6490", ARCH_AVR5, "__AVR_ATmega6490__", 0, 0x0100, "m6490" },
|
||||
{ "atmega16hva", ARCH_AVR5, "__AVR_ATmega16HVA__", 0, 0x0100, "m16hva" },
|
||||
{ "atmega16hva2", ARCH_AVR5, "__AVR_ATmega16HVA2__", 0, 0x0100, "m16hva2" },
|
||||
{ "atmega16hvb", ARCH_AVR5, "__AVR_ATmega16HVB__", 0, 0x0100, "m16hvb" },
|
||||
{ "atmega32hvb", ARCH_AVR5, "__AVR_ATmega32HVB__", 0, 0x0100, "m32hvb" },
|
||||
{ "atmega64hve", ARCH_AVR5, "__AVR_ATmega64HVE__", 0, 0x0100, "m64hve" },
|
||||
{ "at90can32", ARCH_AVR5, "__AVR_AT90CAN32__", 0, 0x0100, "can32" },
|
||||
{ "at90can64", ARCH_AVR5, "__AVR_AT90CAN64__", 0, 0x0100, "can64" },
|
||||
{ "at90pwm216", ARCH_AVR5, "__AVR_AT90PWM216__", 0, 0x0100, "90pwm216" },
|
||||
{ "at90pwm316", ARCH_AVR5, "__AVR_AT90PWM316__", 0, 0x0100, "90pwm316" },
|
||||
{ "atmega32c1", ARCH_AVR5, "__AVR_ATmega32C1__", 0, 0x0100, "m32c1" },
|
||||
{ "atmega64c1", ARCH_AVR5, "__AVR_ATmega64C1__", 0, 0x0100, "m64c1" },
|
||||
{ "atmega16m1", ARCH_AVR5, "__AVR_ATmega16M1__", 0, 0x0100, "m16m1" },
|
||||
{ "atmega32m1", ARCH_AVR5, "__AVR_ATmega32M1__", 0, 0x0100, "m32m1" },
|
||||
{ "atmega64m1", ARCH_AVR5, "__AVR_ATmega64M1__", 0, 0x0100, "m64m1" },
|
||||
{ "atmega16u4", ARCH_AVR5, "__AVR_ATmega16U4__", 0, 0x0100, "m16u4" },
|
||||
{ "atmega32u4", ARCH_AVR5, "__AVR_ATmega32U4__", 0, 0x0100, "m32u4" },
|
||||
{ "atmega32u6", ARCH_AVR5, "__AVR_ATmega32U6__", 0, 0x0100, "m32u6" },
|
||||
{ "at90scr100", ARCH_AVR5, "__AVR_AT90SCR100__", 0, 0x0100, "90scr100" },
|
||||
{ "at90usb646", ARCH_AVR5, "__AVR_AT90USB646__", 0, 0x0100, "usb646" },
|
||||
{ "at90usb647", ARCH_AVR5, "__AVR_AT90USB647__", 0, 0x0100, "usb647" },
|
||||
{ "at94k", ARCH_AVR5, "__AVR_AT94K__", 0, 0x0060, "at94k" },
|
||||
{ "m3000", ARCH_AVR5, "__AVR_M3000__", 0, 0x1000, "m3000" },
|
||||
/* Enhanced, == 128K. */
|
||||
{ "avr51", ARCH_AVR51, NULL, 0, 0x0100, "m128" },
|
||||
{ "atmega128", ARCH_AVR51, "__AVR_ATmega128__", 0, 0x0100, "m128" },
|
||||
{ "atmega1280", ARCH_AVR51, "__AVR_ATmega1280__", 0, 0x0200, "m1280" },
|
||||
{ "atmega1281", ARCH_AVR51, "__AVR_ATmega1281__", 0, 0x0200, "m1281" },
|
||||
{ "atmega1284p", ARCH_AVR51, "__AVR_ATmega1284P__", 0, 0x0100, "m1284p" },
|
||||
{ "atmega128rfa1", ARCH_AVR51, "__AVR_ATmega128RFA1__", 0, 0x0200, "m128rfa1" },
|
||||
{ "at90can128", ARCH_AVR51, "__AVR_AT90CAN128__", 0, 0x0100, "can128" },
|
||||
{ "at90usb1286", ARCH_AVR51, "__AVR_AT90USB1286__", 0, 0x0100, "usb1286" },
|
||||
{ "at90usb1287", ARCH_AVR51, "__AVR_AT90USB1287__", 0, 0x0100, "usb1286" },
|
||||
/* 3-Byte PC. */
|
||||
{ "avr6", ARCH_AVR6, NULL, 0, 0x0200, "m2561" },
|
||||
{ "atmega2560", ARCH_AVR6, "__AVR_ATmega2560__", 0, 0x0200, "m2560" },
|
||||
{ "atmega2561", ARCH_AVR6, "__AVR_ATmega2561__", 0, 0x0200, "m2561" },
|
||||
/* Assembler only. */
|
||||
{ "avr1", ARCH_AVR1, NULL, 0, 0x0060, "s1200" },
|
||||
{ "at90s1200", ARCH_AVR1, "__AVR_AT90S1200__", 0, 0x0060, "s1200" },
|
||||
{ "attiny11", ARCH_AVR1, "__AVR_ATtiny11__", 0, 0x0060, "tn11" },
|
||||
{ "attiny12", ARCH_AVR1, "__AVR_ATtiny12__", 0, 0x0060, "tn12" },
|
||||
{ "attiny15", ARCH_AVR1, "__AVR_ATtiny15__", 0, 0x0060, "tn15" },
|
||||
{ "attiny28", ARCH_AVR1, "__AVR_ATtiny28__", 0, 0x0060, "tn28" },
|
||||
/* End of list. */
|
||||
{ NULL, ARCH_UNKNOWN, NULL, 0, 0, 0, 0, NULL }
|
||||
};
|
||||
|
|
|
@ -7367,7 +7367,12 @@ avr_file_start (void)
|
|||
|
||||
default_file_start ();
|
||||
|
||||
/* Print I/O addresses of some SFRs used with IN and OUT. */
|
||||
fputs ("__SREG__ = 0x3f\n"
|
||||
"__SP_H__ = 0x3e\n"
|
||||
"__SP_L__ = 0x3d\n", asm_out_file);
|
||||
|
||||
fputs ("__tmp_reg__ = 0\n"
|
||||
"__zero_reg__ = 1\n", asm_out_file);
|
||||
|
||||
if (AVR_HAVE_SPH)
|
||||
fprintf (asm_out_file, "__SP_H__ = 0x%02x\n", avr_addr.sp_h - sfr_offset);
|
||||
|
|
|
@ -1761,6 +1761,9 @@ frv_expand_prologue (void)
|
|||
if (TARGET_DEBUG_STACK)
|
||||
frv_debug_stack (info);
|
||||
|
||||
if (flag_stack_usage_info)
|
||||
current_function_static_stack_size = info->total_size;
|
||||
|
||||
if (info->total_size == 0)
|
||||
return;
|
||||
|
||||
|
@ -8434,7 +8437,7 @@ frv_init_builtins (void)
|
|||
build_function_type_list (RET, T1, T2, T3, NULL_TREE)
|
||||
|
||||
#define QUAD(RET, T1, T2, T3, T4) \
|
||||
build_function_type_list (RET, T1, T2, T3, NULL_TREE)
|
||||
build_function_type_list (RET, T1, T2, T3, T4, NULL_TREE)
|
||||
|
||||
tree void_ftype_void = build_function_type_list (voidt, NULL_TREE);
|
||||
|
||||
|
|
|
@ -143,6 +143,7 @@
|
|||
int issue_rate; \
|
||||
\
|
||||
builtin_define ("__frv__"); \
|
||||
builtin_assert ("cpu=frv"); \
|
||||
builtin_assert ("machine=frv"); \
|
||||
\
|
||||
issue_rate = frv_issue_rate (); \
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
#MULTILIB_EXCEPTIONS = *mcpu=simple/*msoft-float* *mcpu=frv/*msoft-float*
|
||||
#MULTILIB_EXTRA_OPTS = mlibrary-pic
|
||||
|
||||
MULTILIB_OPTIONS = mcpu=fr400/mcpu=fr550 mno-pack mlibrary-pic/mfdpic
|
||||
MULTILIB_DIRNAMES = fr400 fr550 unpacked pic fdpic
|
||||
MULTILIB_OPTIONS = mcpu=fr400/mcpu=fr550/mcpu=frv mno-pack mlibrary-pic/mfdpic
|
||||
MULTILIB_DIRNAMES = fr400 fr550 frv unpacked pic fdpic
|
||||
MULTILIB_MATCHES = mcpu?simple=mcpu?fr300 \
|
||||
mlibrary-pic=multilib-library-pic \
|
||||
mcpu?fr400=mcpu?fr405 mcpu?fr400=mcpu?fr450
|
||||
|
|
|
@ -96,6 +96,7 @@ extern int h8300_can_use_return_insn_p (void);
|
|||
extern void h8300_expand_prologue (void);
|
||||
extern void h8300_expand_epilogue (void);
|
||||
extern int h8300_current_function_interrupt_function_p (void);
|
||||
extern int h8300_current_function_monitor_function_p (void);
|
||||
extern int h8300_initial_elimination_offset (int, int);
|
||||
extern int h8300_regs_ok_for_stm (int, rtx[]);
|
||||
extern int h8300_hard_regno_rename_ok (unsigned int, unsigned int);
|
||||
|
|
|
@ -339,10 +339,16 @@ h8300_option_override (void)
|
|||
|
||||
if (TARGET_H8300 && TARGET_NORMAL_MODE)
|
||||
{
|
||||
error ("-mn is used without -mh or -ms");
|
||||
error ("-mn is used without -mh or -ms or -msx");
|
||||
target_flags ^= MASK_NORMAL_MODE;
|
||||
}
|
||||
|
||||
if (TARGET_H8300 && TARGET_INT32)
|
||||
{
|
||||
error ("-mint32 is not supported for H8300 and H8300L targets");
|
||||
target_flags ^= MASK_INT32;
|
||||
}
|
||||
|
||||
/* Some of the shifts are optimized for speed by default.
|
||||
See http://gcc.gnu.org/ml/gcc-patches/2002-07/msg01858.html
|
||||
If optimizing for size, change shift_alg for those shift to
|
||||
|
@ -925,8 +931,13 @@ h8300_expand_epilogue (void)
|
|||
int
|
||||
h8300_current_function_interrupt_function_p (void)
|
||||
{
|
||||
return (h8300_interrupt_function_p (current_function_decl)
|
||||
|| h8300_monitor_function_p (current_function_decl));
|
||||
return (h8300_interrupt_function_p (current_function_decl));
|
||||
}
|
||||
|
||||
int
|
||||
h8300_current_function_monitor_function_p (void)
|
||||
{
|
||||
return (h8300_monitor_function_p (current_function_decl));
|
||||
}
|
||||
|
||||
/* Output assembly code for the start of the file. */
|
||||
|
|
|
@ -118,7 +118,7 @@ extern const char * const *h8_reg_names;
|
|||
/* Default target_flags if no switches specified. */
|
||||
|
||||
#ifndef TARGET_DEFAULT
|
||||
#define TARGET_DEFAULT (MASK_QUICKCALL)
|
||||
#define TARGET_DEFAULT (MASK_QUICKCALL | MASK_H8300SX)
|
||||
#endif
|
||||
|
||||
/* We want dwarf2 info available to gdb. */
|
||||
|
@ -129,6 +129,7 @@ extern const char * const *h8_reg_names;
|
|||
#define INCOMING_FRAME_SP_OFFSET (POINTER_SIZE / 8)
|
||||
|
||||
#define DWARF_CIE_DATA_ALIGNMENT 2
|
||||
#define DWARF2_ADDR_SIZE 4
|
||||
|
||||
/* Define this if addresses of constant functions
|
||||
shouldn't be put through pseudo regs where they can be cse'd.
|
||||
|
@ -482,7 +483,6 @@ struct cum_arg
|
|||
#define EXIT_IGNORE_STACK 0
|
||||
|
||||
/* Length in units of the trampoline for entering a nested function. */
|
||||
|
||||
#define TRAMPOLINE_SIZE ((Pmode == HImode) ? 8 : 12)
|
||||
|
||||
/* Addressing modes, and classification of registers for them. */
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -17,9 +17,8 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
MULTILIB_OPTIONS = mh/ms/msx mn mint32
|
||||
MULTILIB_DIRNAMES = h8300h h8300s h8sx normal int32
|
||||
MULTILIB_EXCEPTIONS = mint32 mn mn/mint32
|
||||
MULTILIB_OPTIONS = mn/mint32
|
||||
MULTILIB_DIRNAMES = normal int32
|
||||
|
||||
s-config s-conditions s-flags s-codes s-constants s-emit s-recog \
|
||||
s-opinit s-extract s-peep s-attr s-attrtab s-output: \
|
||||
|
|
|
@ -86,10 +86,6 @@
|
|||
# define TRY_EMPTY_VM_SPACE 0x40000000
|
||||
#elif defined(__ARM_EABI__)
|
||||
# define TRY_EMPTY_VM_SPACE 0x60000000
|
||||
#elif defined(__mips__) && defined(__LP64__)
|
||||
# define TRY_EMPTY_VM_SPACE 0x8000000000
|
||||
#elif defined(__mips__)
|
||||
# define TRY_EMPTY_VM_SPACE 0x60000000
|
||||
#else
|
||||
# define TRY_EMPTY_VM_SPACE 0
|
||||
#endif
|
||||
|
|
|
@ -11395,10 +11395,6 @@ ix86_address_subreg_operand (rtx op)
|
|||
if (GET_MODE_SIZE (mode) > UNITS_PER_WORD)
|
||||
return false;
|
||||
|
||||
/* simplify_subreg does not handle stack pointer. */
|
||||
if (REGNO (op) == STACK_POINTER_REGNUM)
|
||||
return false;
|
||||
|
||||
/* Allow only SUBREGs of non-eliminable hard registers. */
|
||||
return register_no_elim_operand (op, mode);
|
||||
}
|
||||
|
@ -13843,7 +13839,6 @@ get_some_local_dynamic_name (void)
|
|||
Z -- likewise, with special suffixes for x87 instructions.
|
||||
* -- print a star (in certain assembler syntax)
|
||||
A -- print an absolute memory reference.
|
||||
E -- print address with DImode register names if TARGET_64BIT.
|
||||
w -- print the operand as if it's a "word" (HImode) even if it isn't.
|
||||
s -- print a shift double count, followed by the assemblers argument
|
||||
delimiter.
|
||||
|
@ -13919,14 +13914,7 @@ ix86_print_operand (FILE *file, rtx x, int code)
|
|||
ix86_print_operand (file, x, 0);
|
||||
return;
|
||||
|
||||
case 'E':
|
||||
/* Wrap address in an UNSPEC to declare special handling. */
|
||||
if (TARGET_64BIT)
|
||||
x = gen_rtx_UNSPEC (DImode, gen_rtvec (1, x), UNSPEC_LEA_ADDR);
|
||||
|
||||
output_address (x);
|
||||
return;
|
||||
|
||||
case 'L':
|
||||
if (ASSEMBLER_DIALECT == ASM_ATT)
|
||||
putc ('l', file);
|
||||
|
@ -14531,7 +14519,6 @@ ix86_print_operand_address (FILE *file, rtx addr)
|
|||
int scale;
|
||||
int ok;
|
||||
bool vsib = false;
|
||||
int code = 0;
|
||||
|
||||
if (GET_CODE (addr) == UNSPEC && XINT (addr, 1) == UNSPEC_VSIBADDR)
|
||||
{
|
||||
|
@ -14542,12 +14529,6 @@ ix86_print_operand_address (FILE *file, rtx addr)
|
|||
addr = XVECEXP (addr, 0, 0);
|
||||
vsib = true;
|
||||
}
|
||||
else if (GET_CODE (addr) == UNSPEC && XINT (addr, 1) == UNSPEC_LEA_ADDR)
|
||||
{
|
||||
gcc_assert (TARGET_64BIT);
|
||||
ok = ix86_decompose_address (XVECEXP (addr, 0, 0), &parts);
|
||||
code = 'q';
|
||||
}
|
||||
else
|
||||
ok = ix86_decompose_address (addr, &parts);
|
||||
|
||||
|
@ -14558,7 +14539,6 @@ ix86_print_operand_address (FILE *file, rtx addr)
|
|||
rtx tmp = SUBREG_REG (parts.base);
|
||||
parts.base = simplify_subreg (GET_MODE (parts.base),
|
||||
tmp, GET_MODE (tmp), 0);
|
||||
gcc_assert (parts.base != NULL_RTX);
|
||||
}
|
||||
|
||||
if (parts.index && GET_CODE (parts.index) == SUBREG)
|
||||
|
@ -14566,7 +14546,6 @@ ix86_print_operand_address (FILE *file, rtx addr)
|
|||
rtx tmp = SUBREG_REG (parts.index);
|
||||
parts.index = simplify_subreg (GET_MODE (parts.index),
|
||||
tmp, GET_MODE (tmp), 0);
|
||||
gcc_assert (parts.index != NULL_RTX);
|
||||
}
|
||||
|
||||
base = parts.base;
|
||||
|
@ -14620,6 +14599,8 @@ ix86_print_operand_address (FILE *file, rtx addr)
|
|||
}
|
||||
else
|
||||
{
|
||||
int code = 0;
|
||||
|
||||
/* Print SImode register names to force addr32 prefix. */
|
||||
if (GET_CODE (addr) == SUBREG)
|
||||
{
|
||||
|
@ -14638,6 +14619,14 @@ ix86_print_operand_address (FILE *file, rtx addr)
|
|||
code = 'l';
|
||||
}
|
||||
|
||||
/* Print SImode registers for zero-extended addresses to force
|
||||
addr32 prefix. Otherwise print DImode registers to avoid it. */
|
||||
if (TARGET_64BIT)
|
||||
code = ((GET_CODE (addr) == ZERO_EXTEND
|
||||
|| GET_CODE (addr) == AND)
|
||||
? 'l'
|
||||
: 'q');
|
||||
|
||||
if (ASSEMBLER_DIALECT == ASM_ATT)
|
||||
{
|
||||
if (disp)
|
||||
|
|
|
@ -1657,6 +1657,17 @@ do { \
|
|||
goto WIN; \
|
||||
} while (0)
|
||||
|
||||
/* Try a machine-dependent way of reloading an illegitimate address
|
||||
operand. If we find one, push the reload and jump to WIN. This
|
||||
macro is used in only one place: `find_reloads_address' in reload.c. */
|
||||
|
||||
#define LEGITIMIZE_RELOAD_ADDRESS(X, MODE, OPNUM, TYPE, INDL, WIN) \
|
||||
do { \
|
||||
if (ix86_legitimize_reload_address ((X), (MODE), (OPNUM), \
|
||||
(int)(TYPE), (INDL))) \
|
||||
goto WIN; \
|
||||
} while (0)
|
||||
|
||||
/* If defined, a C expression to determine the base term of address X.
|
||||
This macro is used in only one place: `find_base_term' in alias.c.
|
||||
|
||||
|
|
|
@ -38,7 +38,6 @@
|
|||
;; Z -- likewise, with special suffixes for x87 instructions.
|
||||
;; * -- print a star (in certain assembler syntax)
|
||||
;; A -- print an absolute memory reference.
|
||||
;; E -- print address with DImode register names if TARGET_64BIT.
|
||||
;; w -- print the operand as if it's a "word" (HImode) even if it isn't.
|
||||
;; s -- print a shift double count, followed by the assemblers argument
|
||||
;; delimiter.
|
||||
|
@ -108,7 +107,6 @@
|
|||
UNSPEC_MS_TO_SYSV_CALL
|
||||
UNSPEC_CALL_NEEDS_VZEROUPPER
|
||||
UNSPEC_PAUSE
|
||||
UNSPEC_LEA_ADDR
|
||||
|
||||
;; For SSE/MMX support:
|
||||
UNSPEC_FIX_NOTRUNC
|
||||
|
@ -1958,7 +1956,7 @@
|
|||
return "#";
|
||||
|
||||
case TYPE_LEA:
|
||||
return "lea{q}\t{%E1, %0|%0, %E1}";
|
||||
return "lea{q}\t{%a1, %0|%0, %a1}";
|
||||
|
||||
default:
|
||||
gcc_assert (!flag_pic || LEGITIMATE_PIC_OPERAND_P (operands[1]));
|
||||
|
@ -1967,7 +1965,7 @@
|
|||
else if (which_alternative == 2)
|
||||
return "movabs{q}\t{%1, %0|%0, %1}";
|
||||
else if (ix86_use_lea_for_mov (insn, operands))
|
||||
return "lea{q}\t{%E1, %0|%0, %E1}";
|
||||
return "lea{q}\t{%a1, %0|%0, %a1}";
|
||||
else
|
||||
return "mov{q}\t{%1, %0|%0, %1}";
|
||||
}
|
||||
|
@ -2199,12 +2197,12 @@
|
|||
return "movd\t{%1, %0|%0, %1}";
|
||||
|
||||
case TYPE_LEA:
|
||||
return "lea{l}\t{%E1, %0|%0, %E1}";
|
||||
return "lea{l}\t{%a1, %0|%0, %a1}";
|
||||
|
||||
default:
|
||||
gcc_assert (!flag_pic || LEGITIMATE_PIC_OPERAND_P (operands[1]));
|
||||
if (ix86_use_lea_for_mov (insn, operands))
|
||||
return "lea{l}\t{%E1, %0|%0, %E1}";
|
||||
return "lea{l}\t{%a1, %0|%0, %a1}";
|
||||
else
|
||||
return "mov{l}\t{%1, %0|%0, %1}";
|
||||
}
|
||||
|
@ -12568,7 +12566,7 @@
|
|||
"!TARGET_64BIT && TARGET_GNU_TLS"
|
||||
{
|
||||
output_asm_insn
|
||||
("lea{l}\t{%E2@tlsgd(,%1,1), %0|%0, %E2@tlsgd[%1*1]}", operands);
|
||||
("lea{l}\t{%a2@tlsgd(,%1,1), %0|%0, %a2@tlsgd[%1*1]}", operands);
|
||||
if (TARGET_SUN_TLS)
|
||||
#ifdef HAVE_AS_IX86_TLSGDPLT
|
||||
return "call\t%a2@tlsgdplt";
|
||||
|
@ -12603,7 +12601,7 @@
|
|||
if (!TARGET_X32)
|
||||
fputs (ASM_BYTE "0x66\n", asm_out_file);
|
||||
output_asm_insn
|
||||
("lea{q}\t{%E1@tlsgd(%%rip), %%rdi|rdi, %E1@tlsgd[rip]}", operands);
|
||||
("lea{q}\t{%a1@tlsgd(%%rip), %%rdi|rdi, %a1@tlsgd[rip]}", operands);
|
||||
fputs (ASM_SHORT "0x6666\n", asm_out_file);
|
||||
fputs ("\trex64\n", asm_out_file);
|
||||
if (TARGET_SUN_TLS)
|
||||
|
@ -12829,7 +12827,7 @@
|
|||
(unspec:SI [(match_operand:SI 2 "tls_symbolic_operand" "")]
|
||||
UNSPEC_TLSDESC))))]
|
||||
"!TARGET_64BIT && TARGET_GNU2_TLS"
|
||||
"lea{l}\t{%E2@TLSDESC(%1), %0|%0, %E2@TLSDESC[%1]}"
|
||||
"lea{l}\t{%a2@TLSDESC(%1), %0|%0, %a2@TLSDESC[%1]}"
|
||||
[(set_attr "type" "lea")
|
||||
(set_attr "mode" "SI")
|
||||
(set_attr "length" "6")
|
||||
|
@ -12891,7 +12889,7 @@
|
|||
(unspec:DI [(match_operand 1 "tls_symbolic_operand" "")]
|
||||
UNSPEC_TLSDESC))]
|
||||
"TARGET_64BIT && TARGET_GNU2_TLS"
|
||||
"lea{q}\t{%E1@TLSDESC(%%rip), %0|%0, %E1@TLSDESC[rip]}"
|
||||
"lea{q}\t{%a1@TLSDESC(%%rip), %0|%0, %a1@TLSDESC[rip]}"
|
||||
[(set_attr "type" "lea")
|
||||
(set_attr "mode" "DI")
|
||||
(set_attr "length" "7")
|
||||
|
@ -16646,7 +16644,7 @@
|
|||
|
||||
default:
|
||||
operands[2] = SET_SRC (XVECEXP (PATTERN (insn), 0, 0));
|
||||
return "lea{<imodesuffix>}\t{%E2, %0|%0, %E2}";
|
||||
return "lea{<imodesuffix>}\t{%a2, %0|%0, %a2}";
|
||||
}
|
||||
}
|
||||
[(set (attr "type")
|
||||
|
|
|
@ -81,8 +81,13 @@ along with GCC; see the file COPYING3. If not see
|
|||
#undef NATIVE_SYSTEM_HEADER_COMPONENT
|
||||
#define NATIVE_SYSTEM_HEADER_COMPONENT "MINGW"
|
||||
|
||||
#undef CPP_SPEC
|
||||
#undef CPP_SPEC
|
||||
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} " \
|
||||
"%{mno-win32:%{mno-cygwin: %emno-cygwin and mno-win32 are not compatible}} " \
|
||||
"%{!mno-win32:-D__MSVCRT__ -D__MINGW32__ %{!ansi:%{mthreads:-D_MT}}} " \
|
||||
"%{mno-win32:-D__CYGWIN32__ -D__CYGWIN__ %{!ansi:-Dunix} -D__unix__ -D__unix} " \
|
||||
"%{!mno-cygwin:-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ %{!ansi:-DWINNT}} " \
|
||||
"%{!nostdinc:%{!mno-win32|mno-cygwin:-idirafter ../include/w32api%s -idirafter ../../include/w32api%s}} " \
|
||||
"%{" SPEC_PTHREAD1 ":-D_REENTRANT} " \
|
||||
"%{" SPEC_PTHREAD2 ": } "
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
(define_code_iterator FETCHOP [plus minus ior xor and])
|
||||
(define_code_attr fetchop_name
|
||||
[(plus "add") (minus "sub") (ior "or") (xor "xor") (and "and")])
|
||||
[(plus "add") (minus "sub") (ior "ior") (xor "xor") (and "and")])
|
||||
|
||||
(define_expand "mem_thread_fence"
|
||||
[(match_operand:SI 0 "const_int_operand" "")] ;; model
|
||||
|
|
|
@ -168,8 +168,6 @@ static unsigned int iq2000_function_arg_boundary (enum machine_mode,
|
|||
static void iq2000_va_start (tree, rtx);
|
||||
static bool iq2000_legitimate_address_p (enum machine_mode, rtx, bool);
|
||||
static bool iq2000_can_eliminate (const int, const int);
|
||||
static void iq2000_asm_trampoline_template (FILE *);
|
||||
static void iq2000_trampoline_init (rtx, tree, rtx);
|
||||
static rtx iq2000_function_value (const_tree, const_tree, bool);
|
||||
static rtx iq2000_libcall_value (enum machine_mode, const_rtx);
|
||||
static void iq2000_print_operand (FILE *, rtx, int);
|
||||
|
@ -244,11 +242,6 @@ static bool iq2000_print_operand_punct_valid_p (unsigned char code);
|
|||
#undef TARGET_CAN_ELIMINATE
|
||||
#define TARGET_CAN_ELIMINATE iq2000_can_eliminate
|
||||
|
||||
#undef TARGET_ASM_TRAMPOLINE_TEMPLATE
|
||||
#define TARGET_ASM_TRAMPOLINE_TEMPLATE iq2000_asm_trampoline_template
|
||||
#undef TARGET_TRAMPOLINE_INIT
|
||||
#define TARGET_TRAMPOLINE_INIT iq2000_trampoline_init
|
||||
|
||||
struct gcc_target targetm = TARGET_INITIALIZER;
|
||||
|
||||
/* Return nonzero if we split the address into high and low parts. */
|
||||
|
@ -1331,7 +1324,7 @@ iq2000_function_arg (cumulative_args_t cum_v, enum machine_mode mode,
|
|||
&& int_bit_position (field) == bitpos
|
||||
&& TREE_CODE (TREE_TYPE (field)) == REAL_TYPE
|
||||
&& TYPE_PRECISION (TREE_TYPE (field)) == BITS_PER_WORD)
|
||||
reg = gen_rtx_REG (DFmode, regno++);
|
||||
reg = gen_rtx_REG (SFmode, regno++);
|
||||
else
|
||||
reg = gen_rtx_REG (word_mode, regno);
|
||||
|
||||
|
@ -2120,8 +2113,7 @@ iq2000_expand_eh_return (rtx address)
|
|||
HOST_WIDE_INT gp_offset = cfun->machine->gp_sp_offset;
|
||||
rtx scratch;
|
||||
|
||||
scratch = plus_constant (stack_pointer_rtx, gp_offset);
|
||||
emit_move_insn (gen_rtx_MEM (GET_MODE (address), scratch), address);
|
||||
emit_move_insn (EH_RETURN_HANDLER_RTX, address);
|
||||
}
|
||||
|
||||
/* Return nonzero if this function is known to have a null epilogue.
|
||||
|
@ -3424,47 +3416,4 @@ iq2000_rtx_costs (rtx x, int code, int outer_code ATTRIBUTE_UNUSED,
|
|||
return true;
|
||||
}
|
||||
|
||||
/* Worker for TARGET_ASM_TRAMPOLINE_TEMPLATE. */
|
||||
|
||||
static void
|
||||
iq2000_asm_trampoline_template (FILE *f)
|
||||
{
|
||||
fprintf (f, "\t.word\t0x03e00821\t\t# move $1,$31\n");
|
||||
fprintf (f, "\t.word\t0x04110001\t\t# bgezal $0,.+8\n");
|
||||
fprintf (f, "\t.word\t0x00000000\t\t# nop\n");
|
||||
if (Pmode == DImode)
|
||||
{
|
||||
fprintf (f, "\t.word\t0xdfe30014\t\t# ld $3,20($31)\n");
|
||||
fprintf (f, "\t.word\t0xdfe2001c\t\t# ld $2,28($31)\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf (f, "\t.word\t0x8fe30014\t\t# lw $3,20($31)\n");
|
||||
fprintf (f, "\t.word\t0x8fe20018\t\t# lw $2,24($31)\n");
|
||||
}
|
||||
fprintf (f, "\t.word\t0x0060c821\t\t# move $25,$3 (abicalls)\n");
|
||||
fprintf (f, "\t.word\t0x00600008\t\t# jr $3\n");
|
||||
fprintf (f, "\t.word\t0x0020f821\t\t# move $31,$1\n");
|
||||
fprintf (f, "\t.word\t0x00000000\t\t# <function address>\n");
|
||||
fprintf (f, "\t.word\t0x00000000\t\t# <static chain value>\n");
|
||||
}
|
||||
|
||||
/* Worker for TARGET_TRAMPOLINE_INIT. */
|
||||
|
||||
static void
|
||||
iq2000_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
|
||||
{
|
||||
rtx fnaddr = XEXP (DECL_RTL (fndecl), 0);
|
||||
rtx mem;
|
||||
|
||||
emit_block_move (m_tramp, assemble_trampoline_template (),
|
||||
GEN_INT (TRAMPOLINE_CODE_SIZE), BLOCK_OP_NORMAL);
|
||||
|
||||
mem = adjust_address (m_tramp, Pmode, TRAMPOLINE_CODE_SIZE);
|
||||
emit_move_insn (mem, fnaddr);
|
||||
mem = adjust_address (m_tramp, Pmode,
|
||||
TRAMPOLINE_CODE_SIZE + GET_MODE_SIZE (Pmode));
|
||||
emit_move_insn (mem, chain_value);
|
||||
}
|
||||
|
||||
#include "gt-iq2000.h"
|
||||
|
|
|
@ -367,12 +367,8 @@ typedef struct iq2000_args
|
|||
fprintf (FILE, "\t.set\tat\n"); \
|
||||
}
|
||||
|
||||
|
||||
/* Trampolines for Nested Functions. */
|
||||
|
||||
#define TRAMPOLINE_CODE_SIZE (8*4)
|
||||
#define TRAMPOLINE_SIZE (TRAMPOLINE_CODE_SIZE + 2*GET_MODE_SIZE (Pmode))
|
||||
#define TRAMPOLINE_ALIGNMENT GET_MODE_ALIGNMENT (Pmode)
|
||||
#define TRAMPOLINE_SIZE 0
|
||||
#define TRAMPOLINE_ALIGNMENT 1
|
||||
|
||||
|
||||
/* Addressing Modes. */
|
||||
|
@ -643,7 +639,7 @@ enum delay_type
|
|||
|
||||
/* Force right-alignment for small varargs in 32 bit little_endian mode */
|
||||
|
||||
#define PAD_VARARGS_DOWN !BYTES_BIG_ENDIAN
|
||||
#define PAD_VARARGS_DOWN 1
|
||||
|
||||
/* Internal macros to classify a register number as to whether it's a
|
||||
general purpose register, a floating point register, a
|
||||
|
|
|
@ -982,14 +982,26 @@
|
|||
(set_attr "mode" "SI")])
|
||||
|
||||
;; Rotate Right
|
||||
(define_insn "rotrsi3"
|
||||
(define_insn "rotrsi3_i"
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(rotatert:SI (match_operand:SI 1 "register_operand" "r")
|
||||
(match_operand:SI 2 "uns_arith_operand" "O")))]
|
||||
(match_operand:SI 2 "small_uns_int_operand" "O")))]
|
||||
""
|
||||
"ram %0,%1,%2,0x0,0x0"
|
||||
[(set_attr "type" "arith")])
|
||||
|
||||
(define_expand "rotrsi3"
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(rotatert:SI (match_operand:SI 1 "register_operand" "r")
|
||||
(match_operand:SI 2 "small_uns_int_operand" "O")))]
|
||||
""
|
||||
"if (GET_CODE (operands[2]) != CONST_INT)
|
||||
FAIL;
|
||||
if (INTVAL (operands[2]) < 0
|
||||
|| INTVAL (operands[2]) > 31)
|
||||
FAIL;
|
||||
")
|
||||
|
||||
|
||||
;;
|
||||
;; ....................
|
||||
|
|
|
@ -238,3 +238,9 @@
|
|||
|
||||
return ((intval & ((unsigned)(intval) - 1)) == 0);
|
||||
})
|
||||
|
||||
(define_predicate "small_uns_int_operand"
|
||||
(match_code "const_int")
|
||||
{
|
||||
return (INTVAL (op) >= 0 && INTVAL (op) <= 31);
|
||||
})
|
||||
|
|
|
@ -429,6 +429,9 @@ m32c_option_override (void)
|
|||
/* FIXME: The right solution is to properly trace the flags register
|
||||
values, but that is too much work for stage 4. */
|
||||
flag_combine_stack_adjustments = 0;
|
||||
|
||||
if (flag_exceptions)
|
||||
flag_omit_frame_pointer = 0;
|
||||
}
|
||||
|
||||
#undef TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE
|
||||
|
@ -4364,6 +4367,10 @@ m32c_emit_prologue (void)
|
|||
|
||||
frame_size =
|
||||
m32c_initial_elimination_offset (FB_REGNO, SP_REGNO) - reg_save_size;
|
||||
|
||||
if (flag_stack_usage_info)
|
||||
current_function_static_stack_size = frame_size;
|
||||
|
||||
if (frame_size == 0
|
||||
&& !m32c_function_needs_enter ())
|
||||
cfun->machine->use_rts = 1;
|
||||
|
|
|
@ -1146,11 +1146,16 @@ struct mips_cpu_info {
|
|||
|
||||
/* Extra switches sometimes passed to the linker. */
|
||||
|
||||
#ifndef SUBTARGET_LINK_SPEC
|
||||
#define SUBTARGET_LINK_SPEC ""
|
||||
#endif
|
||||
|
||||
#ifndef LINK_SPEC
|
||||
#define LINK_SPEC "\
|
||||
%(endian_spec) \
|
||||
%{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32*} %{mips64*} \
|
||||
%{shared}"
|
||||
%{shared} \
|
||||
%(subtarget_link_spec)"
|
||||
#endif /* LINK_SPEC defined */
|
||||
|
||||
|
||||
|
@ -1194,6 +1199,7 @@ struct mips_cpu_info {
|
|||
{ "subtarget_cpp_spec", SUBTARGET_CPP_SPEC }, \
|
||||
{ "subtarget_asm_debugging_spec", SUBTARGET_ASM_DEBUGGING_SPEC }, \
|
||||
{ "subtarget_asm_spec", SUBTARGET_ASM_SPEC }, \
|
||||
{ "subtarget_link_spec", SUBTARGET_LINK_SPEC }, \
|
||||
{ "asm_abi_default_spec", "-" MULTILIB_ABI_DEFAULT }, \
|
||||
{ "endian_spec", ENDIAN_SPEC }, \
|
||||
SUBTARGET_EXTRA_SPECS
|
||||
|
|
|
@ -16,91 +16,46 @@
|
|||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
TPBIT = tp-bit.c
|
||||
|
||||
tp-bit.c: $(srcdir)/config/fp-bit.c
|
||||
echo '#ifdef __MIPSEL__' > tp-bit.c
|
||||
echo '# define FLOAT_BIT_ORDER_MISMATCH' >> tp-bit.c
|
||||
echo '#endif' >> tp-bit.c
|
||||
echo '#if __LDBL_MANT_DIG__ == 113' >> tp-bit.c
|
||||
echo '#define QUIET_NAN_NEGATED' >> tp-bit.c
|
||||
echo '# define TFLOAT' >> tp-bit.c
|
||||
cat $(srcdir)/config/fp-bit.c >> tp-bit.c
|
||||
echo '#endif' >> tp-bit.c
|
||||
|
||||
# Main multilibs
|
||||
# --------------
|
||||
#
|
||||
# Endianness: EB or EL
|
||||
# Endianness: EL (default)
|
||||
# EB
|
||||
#
|
||||
# ABIs: mabi=32
|
||||
# mabi=o64
|
||||
# mabi=eabi
|
||||
# mabi=eabi/mlong32
|
||||
# mabi=eabi/mgp32
|
||||
# mabi=eabi/mgp32/mlong64
|
||||
# ABIs: mabi=eabi (default)
|
||||
# mabi=32
|
||||
# mabi=n32
|
||||
# mabi=64
|
||||
# mgp32
|
||||
#
|
||||
# Architecture: march=vr4120 with -mfix-vr4120
|
||||
# march=vr4130 with -mfix-vr4130 (default)
|
||||
# march=vr5000
|
||||
# march=vr5400
|
||||
# Architecture: march=vr4300 (default)
|
||||
# march=vr4130 [with -mfix-vr4130 enabled]
|
||||
# march=vr5500
|
||||
#
|
||||
# Total: 2 * 6 * 5 = 60 multilibs.
|
||||
#
|
||||
#
|
||||
# Extra vr4300 multilibs
|
||||
# ----------------------
|
||||
#
|
||||
# Endianness: EB or EL
|
||||
#
|
||||
# ABI: o64
|
||||
#
|
||||
# Architecture: vr4300.
|
||||
#
|
||||
# Total: 2 * 1 * 2 = 2 multilibs.
|
||||
#
|
||||
#
|
||||
# Extra MIPS16 multilibs
|
||||
# ----------------------
|
||||
#
|
||||
# Endianness: EB or EL
|
||||
#
|
||||
# ABIs: mabi=o64
|
||||
# mabi=eabi/mlong32
|
||||
# mabi=eabi/mgp32
|
||||
#
|
||||
# Architecture: march=vr4120 with -mfix-vr4120
|
||||
# march=vr4130 with -mfix-vr4130 (default)
|
||||
#
|
||||
# Total: 2 * 3 * 2 = 12 multilibs.
|
||||
# Total: 2 * 5 * 3 = 30 multilibs.
|
||||
|
||||
MULTILIB_OPTIONS = \
|
||||
EL/EB \
|
||||
mabi=32/mabi=o64/mabi=eabi \
|
||||
mgp32 \
|
||||
mlong64 \
|
||||
mips16 \
|
||||
mfix-vr4120/mfix-vr4130/march=vr4300/march=vr5000/march=vr5400/march=vr5500
|
||||
mabi=eabi/mabi=32/mabi=n32/mabi=64/mgp32 \
|
||||
march=vr4300/march=vr4130/march=vr5500
|
||||
|
||||
MULTILIB_DIRNAMES = \
|
||||
el eb \
|
||||
o32 o64 eabi \
|
||||
gp32 \
|
||||
long64 \
|
||||
mips16 \
|
||||
vr4120 vr4130 vr4300 vr5000 vr5400 vr5500
|
||||
eabi o32 n32 n64 gp32 \
|
||||
vr4300 vr4130 vr5500
|
||||
|
||||
MULTILIB_MATCHES = EL=mel EB=meb mfix-vr4120=march?vr4120 \
|
||||
mfix-vr4130=march?vr4130
|
||||
|
||||
# Assume a 41xx-series is the default: we'd need a *mips16 entry if
|
||||
# the default processor didn't support mips16. Also assume the
|
||||
# default ABI is EABI64 -mlong32.
|
||||
MULTILIB_EXCEPTIONS = \
|
||||
*mabi=32/mlong64* \
|
||||
*mabi=32/mgp32* \
|
||||
*mabi=o64/mgp32* \
|
||||
*mabi=o64/mlong64* \
|
||||
*mips16/march=vr5* \
|
||||
*mips16/march=vr4300 \
|
||||
$(MIPS16_EXCEPTIONS) \
|
||||
$(VR4300_EXCEPTIONS)
|
||||
|
||||
MIPS16_EXCEPTIONS = \
|
||||
*mabi=32*mips16* \
|
||||
*mlong64*mips16*
|
||||
|
||||
VR4300_EXCEPTIONS = \
|
||||
*mabi=32*march=vr4300 \
|
||||
*mgp32*march=vr4300 \
|
||||
*mlong64*march=vr4300 \
|
||||
march=vr4300 \
|
||||
E[LB]/march=vr4300
|
||||
MULTILIB_MATCHES = EL=mel EB=meb \
|
||||
mabi?32=mabi?o32 \
|
||||
mabi?64=mabi?n64
|
||||
|
|
|
@ -19,25 +19,29 @@ 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/>. */
|
||||
|
||||
#define DEFAULT_VR_ARCH "mfix-vr4130"
|
||||
#define DEFAULT_VR_ARCH "march=4300"
|
||||
|
||||
#undef MULTILIB_ABI_DEFAULT
|
||||
#define MULTILIB_ABI_DEFAULT "mabi=eabi"
|
||||
|
||||
#undef MULTILIB_DEFAULTS
|
||||
#define MULTILIB_DEFAULTS \
|
||||
{ MULTILIB_ENDIAN_DEFAULT, \
|
||||
MULTILIB_ABI_DEFAULT, \
|
||||
DEFAULT_VR_ARCH }
|
||||
|
||||
#undef DRIVER_SELF_SPECS
|
||||
#undef SUBTARGET_LINK_SPEC
|
||||
#define SUBTARGET_LINK_SPEC \
|
||||
"%{mabi=n32:%{EB:--oformat=elf32-nbigmips} %{!EB:--oformat=elf32-nlittlemips}}\
|
||||
%{mabi=64:%{EB:--oformat=elf64-bigmips} %{!EB:--oformat=elf64-littlemips}}"
|
||||
|
||||
#undef DRIVER_SELF_SPECS
|
||||
#define DRIVER_SELF_SPECS \
|
||||
/* Enforce the default architecture. This is mostly for \
|
||||
the assembler's benefit. */ \
|
||||
"%{!march=*:%{!mfix-vr4120:%{!mfix-vr4130:" \
|
||||
"-" DEFAULT_VR_ARCH "}}}", \
|
||||
\
|
||||
/* Make -mfix-vr4120 imply -march=vr4120. This cuts down \
|
||||
on command-line tautology and makes it easier for t-vr to \
|
||||
provide a -mfix-vr4120 multilib. */ \
|
||||
"%{mfix-vr4120:%{!march=*:-march=vr4120}}", \
|
||||
\
|
||||
/* Same idea for -mfix-vr4130. */ \
|
||||
"%{mfix-vr4130:%{!march=*:-march=vr4130}}", \
|
||||
\
|
||||
|
@ -45,11 +49,7 @@ along with GCC; see the file COPYING3. If not see
|
|||
MIPS_ARCH_FLOAT_SPEC, \
|
||||
\
|
||||
/* Make -mabi=eabi -mlong32 the default. */ \
|
||||
"%{!mabi=*:-mabi=eabi %{!mlong*:-mlong32}}", \
|
||||
\
|
||||
/* Make sure -mlong64 multilibs are chosen when 64-bit longs \
|
||||
are needed. */ \
|
||||
"%{mabi=eabi:%{!mlong*:%{!mgp32:-mlong64}}}", \
|
||||
"%{!mabi=*:-mabi=eabi}", \
|
||||
\
|
||||
/* Remove -mgp32 if it is redundant. */ \
|
||||
"%{mabi=32:%<mgp32}", \
|
||||
|
|
|
@ -25,7 +25,7 @@ extern int mn10300_legitimate_pic_operand_p (rtx);
|
|||
extern rtx mn10300_legitimize_reload_address (rtx, enum machine_mode,
|
||||
int, int, int);
|
||||
extern bool mn10300_function_value_regno_p (const unsigned int);
|
||||
extern int mn10300_get_live_callee_saved_regs (void);
|
||||
extern unsigned int mn10300_get_live_callee_saved_regs (unsigned int *);
|
||||
extern bool mn10300_hard_regno_mode_ok (unsigned int, enum machine_mode);
|
||||
extern bool mn10300_modes_tieable (enum machine_mode, enum machine_mode);
|
||||
extern const char *mn10300_output_add (rtx[3], bool);
|
||||
|
|
|
@ -47,6 +47,8 @@
|
|||
#include "opts.h"
|
||||
#include "cfgloop.h"
|
||||
|
||||
int flag_hosted __attribute__((weak));
|
||||
|
||||
/* This is used in the am33_2.0-linux-gnu port, in which global symbol
|
||||
names are not prefixed by underscores, to tell whether to prefix a
|
||||
label with a plus sign or not, so that the assembler can tell
|
||||
|
@ -56,18 +58,6 @@ int mn10300_protect_label;
|
|||
/* Selected processor type for tuning. */
|
||||
enum processor_type mn10300_tune_cpu = PROCESSOR_DEFAULT;
|
||||
|
||||
/* The size of the callee register save area. Right now we save everything
|
||||
on entry since it costs us nothing in code size. It does cost us from a
|
||||
speed standpoint, so we want to optimize this sooner or later. */
|
||||
#define REG_SAVE_BYTES (4 * df_regs_ever_live_p (2) \
|
||||
+ 4 * df_regs_ever_live_p (3) \
|
||||
+ 4 * df_regs_ever_live_p (6) \
|
||||
+ 4 * df_regs_ever_live_p (7) \
|
||||
+ 16 * (df_regs_ever_live_p (14) \
|
||||
|| df_regs_ever_live_p (15) \
|
||||
|| df_regs_ever_live_p (16) \
|
||||
|| df_regs_ever_live_p (17)))
|
||||
|
||||
#define CC_FLAG_Z 1
|
||||
#define CC_FLAG_N 2
|
||||
#define CC_FLAG_C 4
|
||||
|
@ -634,20 +624,36 @@ mn10300_can_use_rets_insn (void)
|
|||
|
||||
/* Returns the set of live, callee-saved registers as a bitmask. The
|
||||
callee-saved extended registers cannot be stored individually, so
|
||||
all of them will be included in the mask if any one of them is used. */
|
||||
all of them will be included in the mask if any one of them is used.
|
||||
Also returns the number of bytes in the registers in the mask if
|
||||
BYTES_SAVED is not NULL. */
|
||||
|
||||
int
|
||||
mn10300_get_live_callee_saved_regs (void)
|
||||
unsigned int
|
||||
mn10300_get_live_callee_saved_regs (unsigned int * bytes_saved)
|
||||
{
|
||||
int mask;
|
||||
int i;
|
||||
unsigned int count;
|
||||
|
||||
mask = 0;
|
||||
count = mask = 0;
|
||||
for (i = 0; i <= LAST_EXTENDED_REGNUM; i++)
|
||||
if (df_regs_ever_live_p (i) && ! call_really_used_regs[i])
|
||||
mask |= (1 << i);
|
||||
{
|
||||
mask |= (1 << i);
|
||||
++ count;
|
||||
}
|
||||
|
||||
if ((mask & 0x3c000) != 0)
|
||||
mask |= 0x3c000;
|
||||
{
|
||||
for (i = 0x04000; i < 0x40000; i <<= 1)
|
||||
if ((mask & i) == 0)
|
||||
++ count;
|
||||
|
||||
mask |= 0x3c000;
|
||||
}
|
||||
|
||||
if (bytes_saved)
|
||||
* bytes_saved = count * UNITS_PER_WORD;
|
||||
|
||||
return mask;
|
||||
}
|
||||
|
@ -741,7 +747,10 @@ mn10300_expand_prologue (void)
|
|||
HOST_WIDE_INT size = mn10300_frame_size ();
|
||||
|
||||
/* If we use any of the callee-saved registers, save them now. */
|
||||
mn10300_gen_multiple_store (mn10300_get_live_callee_saved_regs ());
|
||||
mn10300_gen_multiple_store (mn10300_get_live_callee_saved_regs (NULL));
|
||||
|
||||
if (flag_stack_usage_info)
|
||||
current_function_static_stack_size = size;
|
||||
|
||||
if (TARGET_AM33_2 && fp_regs_to_save ())
|
||||
{
|
||||
|
@ -998,7 +1007,9 @@ void
|
|||
mn10300_expand_epilogue (void)
|
||||
{
|
||||
HOST_WIDE_INT size = mn10300_frame_size ();
|
||||
int reg_save_bytes = REG_SAVE_BYTES;
|
||||
unsigned int reg_save_bytes;
|
||||
|
||||
mn10300_get_live_callee_saved_regs (& reg_save_bytes);
|
||||
|
||||
if (TARGET_AM33_2 && fp_regs_to_save ())
|
||||
{
|
||||
|
@ -1219,7 +1230,7 @@ mn10300_expand_epilogue (void)
|
|||
if (mn10300_can_use_rets_insn ())
|
||||
emit_jump_insn (ret_rtx);
|
||||
else
|
||||
emit_jump_insn (gen_return_ret (GEN_INT (size + REG_SAVE_BYTES)));
|
||||
emit_jump_insn (gen_return_ret (GEN_INT (size + reg_save_bytes)));
|
||||
}
|
||||
|
||||
/* Recognize the PARALLEL rtx generated by mn10300_gen_multiple_store().
|
||||
|
@ -1434,7 +1445,10 @@ mn10300_initial_offset (int from, int to)
|
|||
is the size of the callee register save area. */
|
||||
if (from == ARG_POINTER_REGNUM)
|
||||
{
|
||||
diff += REG_SAVE_BYTES;
|
||||
unsigned int reg_save_bytes;
|
||||
|
||||
mn10300_get_live_callee_saved_regs (& reg_save_bytes);
|
||||
diff += reg_save_bytes;
|
||||
diff += 4 * fp_regs_to_save ();
|
||||
}
|
||||
|
||||
|
@ -1963,7 +1977,8 @@ mn10300_legitimate_address_p (enum machine_mode mode, rtx x, bool strict)
|
|||
return IN_RANGE (INTVAL (index), -1 - 0x7fffffff, 0x7fffffff);
|
||||
|
||||
if (CONSTANT_ADDRESS_P (index))
|
||||
return !flag_pic || mn10300_legitimate_pic_operand_p (index);
|
||||
return !flag_pic || (mn10300_legitimate_pic_operand_p (index)
|
||||
&& GET_MODE_SIZE (mode) == 4);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -2114,7 +2129,8 @@ mn10300_delegitimize_address (rtx orig_x)
|
|||
else
|
||||
return orig_x;
|
||||
|
||||
gcc_assert (GET_CODE (ret) == SYMBOL_REF);
|
||||
if (GET_CODE (ret) != SYMBOL_REF)
|
||||
return orig_x;
|
||||
if (need_mem != MEM_P (orig_x))
|
||||
return orig_x;
|
||||
if (need_mem && addend)
|
||||
|
|
|
@ -585,6 +585,28 @@ do { \
|
|||
for the MN10300 series, that's our primary concern. */
|
||||
#define MOVE_RATIO(speed) 6
|
||||
|
||||
#define TARGET_BLOCK_MOVE_MAY_USE_LIBCALL(X,Y,SIZE,METHOD,RETURN_ANSWER) \
|
||||
do \
|
||||
{ \
|
||||
extern int flag_hosted; \
|
||||
\
|
||||
if ((METHOD) == BLOCK_OP_BUILTIN || (METHOD) == BLOCK_OP_TAILCALL) \
|
||||
* (RETURN_ANSWER) = true; \
|
||||
else if (! TARGET_MEM_FUNCS || ! flag_hosted) \
|
||||
* (RETURN_ANSWER) = false; \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* When TARGET_NO_MEM_FUNCS is in operation we want to disable gcc's
|
||||
generation of calls to memcpy/memset. The definition of TARGET_BLOCK_
|
||||
MOVE_MAY_USE_LIBCALL above has handled this for memcpy()s but GCC has no
|
||||
equivalent code for handling memset()s, so we use CLEAR_RATIO instead.
|
||||
Unfortunately gcc handles clearing blocks via generating individual
|
||||
instructions for each byte to be cleared, rather than generating a loop
|
||||
so we cannot set too high a value. */
|
||||
#define CLEAR_RATIO(speed) ((unsigned HOST_WIDE_INT) \
|
||||
((! TARGET_MEM_FUNCS) ? 256 : (speed ? 15 : 3)))
|
||||
|
||||
#define TEXT_SECTION_ASM_OP "\t.section .text"
|
||||
#define DATA_SECTION_ASM_OP "\t.section .data"
|
||||
#define BSS_SECTION_ASM_OP "\t.section .bss"
|
||||
|
|
|
@ -2048,7 +2048,7 @@
|
|||
{
|
||||
/* The RETF insn is up to 3 cycles faster than RET. */
|
||||
fputs ((mn10300_can_use_retf_insn () ? "\tretf " : "\tret "), asm_out_file);
|
||||
mn10300_print_reg_list (asm_out_file, mn10300_get_live_callee_saved_regs ());
|
||||
mn10300_print_reg_list (asm_out_file, mn10300_get_live_callee_saved_regs (NULL));
|
||||
fprintf (asm_out_file, ",%d\n", (int) INTVAL (operands[0]));
|
||||
return "";
|
||||
})
|
||||
|
|
|
@ -65,3 +65,7 @@ Allow gcc to generate LIW instructions
|
|||
msetlb
|
||||
Target Report Mask(ALLOW_SETLB)
|
||||
Allow gcc to generate the SETLB and Lcc instructions
|
||||
|
||||
mmem-funcs
|
||||
Target Report Mask(MEM_FUNCS)
|
||||
Allow gcc to generate calls to memset/memcpy
|
||||
|
|
|
@ -91,11 +91,21 @@ extern int pa_ldil_cint_p (HOST_WIDE_INT);
|
|||
extern int pa_shadd_constant_p (int);
|
||||
extern int pa_zdepi_cint_p (unsigned HOST_WIDE_INT);
|
||||
|
||||
extern void pa_output_ascii (FILE *, const char *, int);
|
||||
extern HOST_WIDE_INT pa_compute_frame_size (HOST_WIDE_INT, int *);
|
||||
extern void pa_expand_prologue (void);
|
||||
extern void pa_expand_epilogue (void);
|
||||
extern void output_ascii (FILE *, const char *, int);
|
||||
extern HOST_WIDE_INT compute_frame_size (HOST_WIDE_INT, int *);
|
||||
extern int and_mask_p (unsigned HOST_WIDE_INT);
|
||||
extern int cint_ok_for_move (HOST_WIDE_INT);
|
||||
extern void hppa_expand_prologue (void);
|
||||
extern void hppa_expand_epilogue (void);
|
||||
extern bool pa_can_use_return_insn (void);
|
||||
extern int ior_mask_p (unsigned HOST_WIDE_INT);
|
||||
extern void compute_zdepdi_operands (unsigned HOST_WIDE_INT,
|
||||
unsigned *);
|
||||
#ifdef RTX_CODE
|
||||
extern const char * output_64bit_and (rtx *);
|
||||
extern const char * output_64bit_ior (rtx *);
|
||||
extern int cmpib_comparison_operator (rtx, enum machine_mode);
|
||||
#endif
|
||||
|
||||
/* Miscellaneous functions in pa.c. */
|
||||
#ifdef TREE_CODE
|
||||
|
|
|
@ -186,8 +186,6 @@ static bool pa_can_eliminate (const int, const int);
|
|||
static void pa_conditional_register_usage (void);
|
||||
static enum machine_mode pa_c_mode_for_suffix (char);
|
||||
static section *pa_function_section (tree, enum node_frequency, bool, bool);
|
||||
static bool pa_cannot_force_const_mem (enum machine_mode, rtx);
|
||||
static bool pa_legitimate_constant_p (enum machine_mode, rtx);
|
||||
static unsigned int pa_section_type_flags (tree, const char *, int);
|
||||
|
||||
/* The following extra sections are only used for SOM. */
|
||||
|
@ -382,8 +380,6 @@ static size_t n_deferred_plabels = 0;
|
|||
#undef TARGET_ASM_FUNCTION_SECTION
|
||||
#define TARGET_ASM_FUNCTION_SECTION pa_function_section
|
||||
|
||||
#undef TARGET_LEGITIMATE_CONSTANT_P
|
||||
#define TARGET_LEGITIMATE_CONSTANT_P pa_legitimate_constant_p
|
||||
#undef TARGET_SECTION_TYPE_FLAGS
|
||||
#define TARGET_SECTION_TYPE_FLAGS pa_section_type_flags
|
||||
|
||||
|
@ -4357,7 +4353,7 @@ pa_can_use_return_insn (void)
|
|||
if (crtl->profile)
|
||||
return false;
|
||||
|
||||
return pa_compute_frame_size (get_frame_size (), 0) == 0;
|
||||
return compute_frame_size (get_frame_size (), 0) == 0;
|
||||
}
|
||||
|
||||
rtx
|
||||
|
@ -10295,52 +10291,6 @@ pa_function_section (tree decl, enum node_frequency freq,
|
|||
return default_function_section (decl, freq, startup, exit);
|
||||
}
|
||||
|
||||
/* Implement TARGET_LEGITIMATE_CONSTANT_P.
|
||||
|
||||
In 64-bit mode, we reject CONST_DOUBLES. We also reject CONST_INTS
|
||||
that need more than three instructions to load prior to reload. This
|
||||
limit is somewhat arbitrary. It takes three instructions to load a
|
||||
CONST_INT from memory but two are memory accesses. It may be better
|
||||
to increase the allowed range for CONST_INTS. We may also be able
|
||||
to handle CONST_DOUBLES. */
|
||||
|
||||
static bool
|
||||
pa_legitimate_constant_p (enum machine_mode mode, rtx x)
|
||||
{
|
||||
if (GET_MODE_CLASS (mode) == MODE_FLOAT && x != CONST0_RTX (mode))
|
||||
return false;
|
||||
|
||||
if (!NEW_HP_ASSEMBLER && !TARGET_GAS && GET_CODE (x) == LABEL_REF)
|
||||
return false;
|
||||
|
||||
/* TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC are not
|
||||
legitimate constants. */
|
||||
if (PA_SYMBOL_REF_TLS_P (x))
|
||||
{
|
||||
enum tls_model model = SYMBOL_REF_TLS_MODEL (x);
|
||||
|
||||
if (model == TLS_MODEL_GLOBAL_DYNAMIC || model == TLS_MODEL_LOCAL_DYNAMIC)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (TARGET_64BIT && GET_CODE (x) == CONST_DOUBLE)
|
||||
return false;
|
||||
|
||||
if (TARGET_64BIT
|
||||
&& HOST_BITS_PER_WIDE_INT > 32
|
||||
&& GET_CODE (x) == CONST_INT
|
||||
&& !reload_in_progress
|
||||
&& !reload_completed
|
||||
&& !LEGITIMATE_64BIT_CONST_INT_P (INTVAL (x))
|
||||
&& !pa_cint_ok_for_move (INTVAL (x)))
|
||||
return false;
|
||||
|
||||
if (function_label_operand (x, mode))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Implement TARGET_SECTION_TYPE_FLAGS. */
|
||||
|
||||
static unsigned int
|
||||
|
|
|
@ -447,8 +447,9 @@
|
|||
(ior (match_operand 0 "register_operand")
|
||||
(match_operand 0 "cint_ior_operand")))
|
||||
|
||||
;; Return 1 if OP is a CONST_INT with the value 2, 4, or 8. These are
|
||||
;; the valid constants for shadd instructions.
|
||||
;; True iff OP is a CONST_INT of the forms 0...0xxxx, 0...01...1xxxx,
|
||||
;; or 1...1xxxx. Such values can be the left hand side x in (x << r),
|
||||
;; using the zvdepi instruction.
|
||||
|
||||
(define_predicate "shadd_operand"
|
||||
(and (match_code "const_int")
|
||||
|
|
|
@ -342,6 +342,13 @@ rs6000_target_modify_macros (bool define_p, int flags, unsigned bu_mask)
|
|||
rs6000_define_or_undefine_macro (define_p, "__PAIRED__");
|
||||
if ((bu_mask & RS6000_BTM_CELL) != 0)
|
||||
rs6000_define_or_undefine_macro (define_p, "__PPU__");
|
||||
|
||||
rs6000_define_or_undefine_macro (false, "__FLT_HAS_QUIET_NAN__");
|
||||
rs6000_define_or_undefine_macro (true, "__FLT_HAS_QUIET_NAN__=0");
|
||||
rs6000_define_or_undefine_macro (false, "__DBL_HAS_QUIET_NAN__");
|
||||
rs6000_define_or_undefine_macro (true, "__DBL_HAS_QUIET_NAN__=0");
|
||||
rs6000_define_or_undefine_macro (false, "__LDBL_HAS_QUIET_NAN__");
|
||||
rs6000_define_or_undefine_macro (true, "__LDBL_HAS_QUIET_NAN__=0");
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -3801,6 +3801,9 @@ rs6000_builtin_vectorized_libmass (tree fndecl, tree type_out, tree type_in)
|
|||
else
|
||||
return NULL_TREE;
|
||||
|
||||
if (bdecl == NULL_TREE)
|
||||
return bdecl;
|
||||
|
||||
gcc_assert (suffix != NULL);
|
||||
bname = IDENTIFIER_POINTER (DECL_NAME (bdecl));
|
||||
strcpy (name, bname + sizeof ("__builtin_") - 1);
|
||||
|
@ -19706,7 +19709,7 @@ rs6000_emit_prologue (void)
|
|||
}
|
||||
/* Need to adjust r11 (r12) if we saved any FPRs. */
|
||||
else if (info->first_fp_reg_save != 64)
|
||||
{
|
||||
{
|
||||
rtx dest_reg = gen_rtx_REG (Pmode, DEFAULT_ABI == ABI_AIX ? 12 : 11);
|
||||
int save_off = 8 * (64 - info->first_fp_reg_save);
|
||||
rtx offset = GEN_INT (sp_offset - save_off);
|
||||
|
|
|
@ -12303,7 +12303,135 @@
|
|||
"TARGET_ELF && TARGET_CMODEL != CMODEL_SMALL"
|
||||
"{cal %0,%2@l(%1)|addi %0,%1,%2@l}")
|
||||
|
||||
;; Call and call_value insns
|
||||
;; A function pointer under AIX is a pointer to a data area whose first word
|
||||
;; contains the actual address of the function, whose second word contains a
|
||||
;; pointer to its TOC, and whose third word contains a value to place in the
|
||||
;; static chain register (r11). Note that if we load the static chain, our
|
||||
;; "trampoline" need not have any executable code.
|
||||
|
||||
(define_expand "call_indirect_aix32"
|
||||
[(set (match_dup 2)
|
||||
(mem:SI (match_operand:SI 0 "gpc_reg_operand" "")))
|
||||
(set (match_dup 3)
|
||||
(reg:SI 2))
|
||||
(set (reg:SI 11)
|
||||
(mem:SI (plus:SI (match_dup 0)
|
||||
(const_int 8))))
|
||||
(parallel [(call (mem:SI (match_dup 2))
|
||||
(match_operand 1 "" ""))
|
||||
(use (match_dup 4))
|
||||
(set (reg:SI 2) (match_dup 3))
|
||||
(use (reg:SI 11))
|
||||
(clobber (reg:SI LR_REGNO))])]
|
||||
"TARGET_32BIT"
|
||||
"
|
||||
{
|
||||
operands[2] = gen_reg_rtx (SImode);
|
||||
operands[3] = gen_rtx_MEM (SImode,
|
||||
gen_rtx_PLUS (SImode, stack_pointer_rtx,
|
||||
GEN_INT (20)));
|
||||
|
||||
operands[4] = gen_rtx_MEM (SImode,
|
||||
gen_rtx_PLUS (SImode, operands[0],
|
||||
GEN_INT (4)));
|
||||
|
||||
/* Make sure the compiler does not optimize away the store of the TOC. */
|
||||
MEM_VOLATILE_P (operands[3]) = 1;
|
||||
}")
|
||||
|
||||
(define_expand "call_indirect_aix64"
|
||||
[(set (match_dup 2)
|
||||
(mem:DI (match_operand:DI 0 "gpc_reg_operand" "")))
|
||||
(set (match_dup 3)
|
||||
(reg:DI 2))
|
||||
(set (reg:DI 11)
|
||||
(mem:DI (plus:DI (match_dup 0)
|
||||
(const_int 16))))
|
||||
(parallel [(call (mem:SI (match_dup 2))
|
||||
(match_operand 1 "" ""))
|
||||
(use (match_dup 4))
|
||||
(set (reg:DI 2) (match_dup 3))
|
||||
(use (reg:DI 11))
|
||||
(clobber (reg:DI LR_REGNO))])]
|
||||
"TARGET_64BIT"
|
||||
"
|
||||
{
|
||||
operands[2] = gen_reg_rtx (DImode);
|
||||
operands[3] = gen_rtx_MEM (DImode,
|
||||
gen_rtx_PLUS (DImode, stack_pointer_rtx,
|
||||
GEN_INT (40)));
|
||||
|
||||
operands[4] = gen_rtx_MEM (DImode,
|
||||
gen_rtx_PLUS (DImode, operands[0],
|
||||
GEN_INT (8)));
|
||||
|
||||
/* Make sure the compiler does not optimize away the store of the TOC. */
|
||||
MEM_VOLATILE_P (operands[3]) = 1;
|
||||
}")
|
||||
|
||||
(define_expand "call_value_indirect_aix32"
|
||||
[(set (match_dup 3)
|
||||
(mem:SI (match_operand:SI 1 "gpc_reg_operand" "")))
|
||||
(set (match_dup 4)
|
||||
(reg:SI 2))
|
||||
(set (reg:SI 11)
|
||||
(mem:SI (plus:SI (match_dup 1)
|
||||
(const_int 8))))
|
||||
(parallel [(set (match_operand 0 "" "")
|
||||
(call (mem:SI (match_dup 3))
|
||||
(match_operand 2 "" "")))
|
||||
(use (match_dup 5))
|
||||
(set (reg:SI 2) (match_dup 4))
|
||||
(use (reg:SI 11))
|
||||
(clobber (reg:SI LR_REGNO))])]
|
||||
"TARGET_32BIT"
|
||||
"
|
||||
{
|
||||
operands[3] = gen_reg_rtx (SImode);
|
||||
operands[4] = gen_rtx_MEM (SImode,
|
||||
gen_rtx_PLUS (SImode, stack_pointer_rtx,
|
||||
GEN_INT (20)));
|
||||
|
||||
operands[5] = gen_rtx_MEM (SImode,
|
||||
gen_rtx_PLUS (SImode, operands[1],
|
||||
GEN_INT (4)));
|
||||
|
||||
/* Make sure the compiler does not optimize away the store of the TOC. */
|
||||
MEM_VOLATILE_P (operands[4]) = 1;
|
||||
}")
|
||||
|
||||
(define_expand "call_value_indirect_aix64"
|
||||
[(set (match_dup 3)
|
||||
(mem:DI (match_operand:DI 1 "gpc_reg_operand" "")))
|
||||
(set (match_dup 4)
|
||||
(reg:DI 2))
|
||||
(set (reg:DI 11)
|
||||
(mem:DI (plus:DI (match_dup 1)
|
||||
(const_int 16))))
|
||||
(parallel [(set (match_operand 0 "" "")
|
||||
(call (mem:SI (match_dup 3))
|
||||
(match_operand 2 "" "")))
|
||||
(use (match_dup 5))
|
||||
(set (reg:DI 2) (match_dup 4))
|
||||
(use (reg:DI 11))
|
||||
(clobber (reg:DI LR_REGNO))])]
|
||||
"TARGET_64BIT"
|
||||
"
|
||||
{
|
||||
operands[3] = gen_reg_rtx (DImode);
|
||||
operands[4] = gen_rtx_MEM (DImode,
|
||||
gen_rtx_PLUS (DImode, stack_pointer_rtx,
|
||||
GEN_INT (40)));
|
||||
|
||||
operands[5] = gen_rtx_MEM (DImode,
|
||||
gen_rtx_PLUS (DImode, operands[1],
|
||||
GEN_INT (8)));
|
||||
|
||||
/* Make sure the compiler does not optimize away the store of the TOC. */
|
||||
MEM_VOLATILE_P (operands[4]) = 1;
|
||||
}")
|
||||
|
||||
;; Now the definitions for the call and call_value insns
|
||||
(define_expand "call"
|
||||
[(parallel [(call (mem:SI (match_operand 0 "address_operand" ""))
|
||||
(match_operand 1 "" ""))
|
||||
|
|
|
@ -111,8 +111,8 @@
|
|||
(set_attr "length" "12")])
|
||||
|
||||
(define_expand "atomic_load<mode>"
|
||||
[(set (match_operand:INT1 0 "register_operand" "") ;; output
|
||||
(match_operand:INT1 1 "memory_operand" "")) ;; memory
|
||||
[(set (match_operand:INT 0 "register_operand" "") ;; output
|
||||
(match_operand:INT 1 "memory_operand" "")) ;; memory
|
||||
(use (match_operand:SI 2 "const_int_operand" ""))] ;; model
|
||||
""
|
||||
{
|
||||
|
@ -139,8 +139,8 @@
|
|||
})
|
||||
|
||||
(define_expand "atomic_store<mode>"
|
||||
[(set (match_operand:INT1 0 "memory_operand" "") ;; memory
|
||||
(match_operand:INT1 1 "register_operand" "")) ;; input
|
||||
[(set (match_operand:INT 0 "memory_operand" "") ;; memory
|
||||
(match_operand:INT 1 "register_operand" "")) ;; input
|
||||
(use (match_operand:SI 2 "const_int_operand" ""))] ;; model
|
||||
""
|
||||
{
|
||||
|
|
|
@ -1606,6 +1606,9 @@ rx_expand_prologue (void)
|
|||
|
||||
rx_get_stack_layout (& low, & high, & mask, & frame_size, & stack_size);
|
||||
|
||||
if (flag_stack_usage_info)
|
||||
current_function_static_stack_size = frame_size + stack_size;
|
||||
|
||||
/* If we use any of the callee-saved registers, save them now. */
|
||||
if (mask)
|
||||
{
|
||||
|
@ -3278,6 +3281,28 @@ rx_adjust_insn_length (rtx insn, int current_length)
|
|||
#undef TARGET_LEGITIMIZE_ADDRESS
|
||||
#define TARGET_LEGITIMIZE_ADDRESS rx_legitimize_address
|
||||
|
||||
static bool
|
||||
rx_ok_to_inline (tree caller, tree callee)
|
||||
{
|
||||
/* Issue 2877983: Do not inline functions with local variables
|
||||
into a naked CALLER - naked function have no stack frame and
|
||||
locals need a frame in order to have somewhere to live.
|
||||
|
||||
Unfortunately we have no way to determine the presence of
|
||||
local variables in CALLEE, so we have to be cautious and
|
||||
assume that there might be some there.
|
||||
|
||||
We do allow inlining when CALLEE has the "inline" type
|
||||
modifier or the "always_inline" or "gnu_inline" attributes. */
|
||||
return lookup_attribute ("naked", DECL_ATTRIBUTES (caller)) == NULL_TREE
|
||||
|| DECL_DECLARED_INLINE_P (callee)
|
||||
|| lookup_attribute ("always_inline", DECL_ATTRIBUTES (callee)) != NULL_TREE
|
||||
|| lookup_attribute ("gnu_inline", DECL_ATTRIBUTES (callee)) != NULL_TREE;
|
||||
}
|
||||
|
||||
#undef TARGET_CAN_INLINE_P
|
||||
#define TARGET_CAN_INLINE_P rx_ok_to_inline
|
||||
|
||||
struct gcc_target targetm = TARGET_INITIALIZER;
|
||||
|
||||
#include "gt-rx.h"
|
||||
|
|
|
@ -773,17 +773,17 @@ sh_option_override (void)
|
|||
flag_schedule_insns = 0;
|
||||
}
|
||||
|
||||
/* Unwind info is not correct around the CFG unless either a frame
|
||||
pointer is present or M_A_O_A is set. Fixing this requires rewriting
|
||||
unwind info generation to be aware of the CFG and propagating states
|
||||
/* Unwind info is not correct around the CFG unless either a frame
|
||||
pointer is present or M_A_O_A is set. Fixing this requires rewriting
|
||||
unwind info generation to be aware of the CFG and propagating states
|
||||
around edges. */
|
||||
if ((flag_unwind_tables || flag_asynchronous_unwind_tables
|
||||
|| flag_exceptions || flag_non_call_exceptions)
|
||||
|| flag_exceptions || flag_non_call_exceptions)
|
||||
&& flag_omit_frame_pointer && !TARGET_ACCUMULATE_OUTGOING_ARGS)
|
||||
{
|
||||
warning (0, "unwind tables currently require either a frame pointer "
|
||||
"or -maccumulate-outgoing-args for correctness");
|
||||
TARGET_ACCUMULATE_OUTGOING_ARGS = 1;
|
||||
warning (0, "unwind tables currently require either a frame pointer "
|
||||
"or -maccumulate-outgoing-args for correctness");
|
||||
TARGET_ACCUMULATE_OUTGOING_ARGS = 1;
|
||||
}
|
||||
|
||||
/* Unwinding with -freorder-blocks-and-partition does not work on this
|
||||
|
@ -793,7 +793,7 @@ sh_option_override (void)
|
|||
{
|
||||
if (flag_exceptions)
|
||||
{
|
||||
inform (input_location,
|
||||
inform (input_location,
|
||||
"-freorder-blocks-and-partition does not work with "
|
||||
"exceptions on this architecture");
|
||||
flag_reorder_blocks_and_partition = 0;
|
||||
|
|
|
@ -4984,7 +4984,8 @@ sparc_expand_prologue (void)
|
|||
RTX_FRAME_RELATED_P (insn) = 1;
|
||||
|
||||
/* %sp is still the CFA register. */
|
||||
insn = emit_insn (gen_stack_pointer_inc (GEN_INT (4096 - size)));
|
||||
insn
|
||||
= emit_insn (gen_stack_pointer_inc (GEN_INT (4096 - size)));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -5007,6 +5008,7 @@ sparc_expand_prologue (void)
|
|||
{
|
||||
emit_window_save (GEN_INT (-4096));
|
||||
|
||||
|
||||
/* %sp is not the CFA register anymore. */
|
||||
emit_insn (gen_stack_pointer_inc (GEN_INT (4096 - size)));
|
||||
|
||||
|
|
|
@ -1032,6 +1032,9 @@ xstormy16_expand_prologue (void)
|
|||
|
||||
layout = xstormy16_compute_stack_layout ();
|
||||
|
||||
if (flag_stack_usage_info)
|
||||
current_function_static_stack_size = layout.frame_size;
|
||||
|
||||
if (layout.locals_size >= 32768)
|
||||
error ("local variable memory requirements exceed capacity");
|
||||
|
||||
|
@ -1327,7 +1330,10 @@ xstormy16_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
|
|||
count = build3 (COMPONENT_REF, TREE_TYPE (f_count), valist, f_count,
|
||||
NULL_TREE);
|
||||
|
||||
must_stack = targetm.calls.must_pass_in_stack (TYPE_MODE (type), type);
|
||||
if (TYPE_MODE (type) == VOIDmode)
|
||||
must_stack = 1;
|
||||
else
|
||||
must_stack = targetm.calls.must_pass_in_stack (TYPE_MODE (type), type);
|
||||
size_tree = round_up (size_in_bytes (type), UNITS_PER_WORD);
|
||||
gimplify_expr (&size_tree, pre_p, NULL, is_gimple_val, fb_rvalue);
|
||||
|
||||
|
@ -2654,11 +2660,11 @@ xstormy16_return_in_memory (const_tree type, const_tree fntype ATTRIBUTE_UNUSED)
|
|||
|
||||
#undef TARGET_RETURN_IN_MEMORY
|
||||
#define TARGET_RETURN_IN_MEMORY xstormy16_return_in_memory
|
||||
#undef TARGET_FUNCTION_VALUE
|
||||
#undef TARGET_FUNCTION_VALUE
|
||||
#define TARGET_FUNCTION_VALUE xstormy16_function_value
|
||||
#undef TARGET_LIBCALL_VALUE
|
||||
#undef TARGET_LIBCALL_VALUE
|
||||
#define TARGET_LIBCALL_VALUE xstormy16_libcall_value
|
||||
#undef TARGET_FUNCTION_VALUE_REGNO_P
|
||||
#undef TARGET_FUNCTION_VALUE_REGNO_P
|
||||
#define TARGET_FUNCTION_VALUE_REGNO_P xstormy16_function_value_regno_p
|
||||
|
||||
#undef TARGET_MACHINE_DEPENDENT_REORG
|
||||
|
@ -2669,17 +2675,27 @@ xstormy16_return_in_memory (const_tree type, const_tree fntype ATTRIBUTE_UNUSED)
|
|||
#undef TARGET_PREFERRED_OUTPUT_RELOAD_CLASS
|
||||
#define TARGET_PREFERRED_OUTPUT_RELOAD_CLASS xstormy16_preferred_reload_class
|
||||
|
||||
#undef TARGET_LEGITIMATE_ADDRESS_P
|
||||
#undef TARGET_LEGITIMATE_ADDRESS_P
|
||||
#define TARGET_LEGITIMATE_ADDRESS_P xstormy16_legitimate_address_p
|
||||
#undef TARGET_MODE_DEPENDENT_ADDRESS_P
|
||||
#undef TARGET_MODE_DEPENDENT_ADDRESS_P
|
||||
#define TARGET_MODE_DEPENDENT_ADDRESS_P xstormy16_mode_dependent_address_p
|
||||
|
||||
#undef TARGET_CAN_ELIMINATE
|
||||
#undef TARGET_CAN_ELIMINATE
|
||||
#define TARGET_CAN_ELIMINATE xstormy16_can_eliminate
|
||||
|
||||
#undef TARGET_TRAMPOLINE_INIT
|
||||
#undef TARGET_TRAMPOLINE_INIT
|
||||
#define TARGET_TRAMPOLINE_INIT xstormy16_trampoline_init
|
||||
|
||||
static void
|
||||
xstormy16_option_override (void)
|
||||
{
|
||||
if (flag_exceptions)
|
||||
flag_omit_frame_pointer = 0;
|
||||
}
|
||||
|
||||
#undef TARGET_OPTION_OVERRIDE
|
||||
#define TARGET_OPTION_OVERRIDE xstormy16_option_override
|
||||
|
||||
struct gcc_target targetm = TARGET_INITIALIZER;
|
||||
|
||||
#include "gt-stormy16.h"
|
||||
|
|
|
@ -121,7 +121,7 @@
|
|||
emit_insn (gen_atomic_fetch_<fetchop_name>_bare<mode> (operands[0],
|
||||
operands[1],
|
||||
operands[2]));
|
||||
tilegx_post_atomic_barrier (model);
|
||||
tilegx_pre_atomic_barrier (model);
|
||||
DONE;
|
||||
})
|
||||
|
||||
|
@ -160,6 +160,6 @@
|
|||
emit_insn (gen_atomic_fetch_add_bare<mode> (operands[0],
|
||||
operands[1],
|
||||
operands[2]));
|
||||
tilegx_post_atomic_barrier (model);
|
||||
tilegx_pre_atomic_barrier (model);
|
||||
DONE;
|
||||
})
|
||||
|
|
|
@ -73,6 +73,32 @@ static GTY(()) section * tdata_section;
|
|||
static GTY(()) section * zdata_section;
|
||||
static GTY(()) section * zbss_section;
|
||||
|
||||
/* We use this to wrap all emitted insns in the prologue. */
|
||||
static rtx
|
||||
F (rtx x)
|
||||
{
|
||||
RTX_FRAME_RELATED_P (x) = 1;
|
||||
return x;
|
||||
}
|
||||
|
||||
/* Mark all the subexpressions of the PARALLEL rtx PAR as
|
||||
frame-related. Return PAR.
|
||||
|
||||
dwarf2out.c:dwarf2out_frame_debug_expr ignores sub-expressions of a
|
||||
PARALLEL rtx other than the first if they do not have the
|
||||
FRAME_RELATED flag set on them. */
|
||||
static rtx
|
||||
v850_all_frame_related (rtx par)
|
||||
{
|
||||
int len = XVECLEN (par, 0);
|
||||
int i;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
F (XVECEXP (par, 0, i));
|
||||
|
||||
return par;
|
||||
}
|
||||
|
||||
/* Handle the TARGET_PASS_BY_REFERENCE target hook.
|
||||
Specify whether to pass the argument by reference. */
|
||||
|
||||
|
@ -1671,6 +1697,8 @@ expand_prologue (void)
|
|||
= gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, 11));
|
||||
}
|
||||
|
||||
v850_all_frame_related (save_all);
|
||||
|
||||
code = recog (save_all, NULL_RTX, NULL);
|
||||
if (code >= 0)
|
||||
{
|
||||
|
@ -1711,26 +1739,26 @@ expand_prologue (void)
|
|||
offset = init_stack_alloc - 4;
|
||||
|
||||
if (init_stack_alloc)
|
||||
emit_insn (gen_addsi3 (stack_pointer_rtx,
|
||||
F (emit_insn (gen_addsi3 (stack_pointer_rtx,
|
||||
stack_pointer_rtx,
|
||||
GEN_INT (- (signed) init_stack_alloc)));
|
||||
GEN_INT (- (signed) init_stack_alloc))));
|
||||
|
||||
/* Save the return pointer first. */
|
||||
if (num_save > 0 && REGNO (save_regs[num_save-1]) == LINK_POINTER_REGNUM)
|
||||
{
|
||||
emit_move_insn (gen_rtx_MEM (SImode,
|
||||
F (emit_move_insn (gen_rtx_MEM (SImode,
|
||||
plus_constant (stack_pointer_rtx,
|
||||
offset)),
|
||||
save_regs[--num_save]);
|
||||
save_regs[--num_save]));
|
||||
offset -= 4;
|
||||
}
|
||||
|
||||
for (i = 0; i < num_save; i++)
|
||||
{
|
||||
emit_move_insn (gen_rtx_MEM (SImode,
|
||||
F (emit_move_insn (gen_rtx_MEM (SImode,
|
||||
plus_constant (stack_pointer_rtx,
|
||||
offset)),
|
||||
save_regs[i]);
|
||||
save_regs[i]));
|
||||
offset -= 4;
|
||||
}
|
||||
}
|
||||
|
@ -1743,20 +1771,20 @@ expand_prologue (void)
|
|||
{
|
||||
int diff = actual_fsize - init_stack_alloc;
|
||||
if (CONST_OK_FOR_K (-diff))
|
||||
emit_insn (gen_addsi3 (stack_pointer_rtx,
|
||||
F (emit_insn (gen_addsi3 (stack_pointer_rtx,
|
||||
stack_pointer_rtx,
|
||||
GEN_INT (-diff)));
|
||||
GEN_INT (-diff))));
|
||||
else
|
||||
{
|
||||
rtx reg = gen_rtx_REG (Pmode, 12);
|
||||
emit_move_insn (reg, GEN_INT (-diff));
|
||||
emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, reg));
|
||||
F (emit_move_insn (reg, GEN_INT (-diff)));
|
||||
F (emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, reg)));
|
||||
}
|
||||
}
|
||||
|
||||
/* If we need a frame pointer, set it up now. */
|
||||
if (frame_pointer_needed)
|
||||
emit_move_insn (hard_frame_pointer_rtx, stack_pointer_rtx);
|
||||
F (emit_move_insn (hard_frame_pointer_rtx, stack_pointer_rtx));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ extern GTY(()) rtx v850_compare_op1;
|
|||
|
||||
#define TARGET_V850E2_ALL (TARGET_V850E2 || TARGET_V850E2V3)
|
||||
|
||||
#define ASM_SPEC "%{mv850es:-mv850e1}%{!mv850es:%{mv*:-mv%*}}"
|
||||
#define ASM_SPEC "%{mv850es:-mv850e1}%{!mv850es:%{mv*:-mv%*}} %{mrelax:-mrelax}"
|
||||
#define CPP_SPEC "\
|
||||
%{mv850e2v3:-D__v850e2v3__} \
|
||||
%{mv850e2:-D__v850e2__} \
|
||||
|
@ -786,8 +786,13 @@ typedef enum
|
|||
#define DEFAULT_GDB_EXTENSIONS 1
|
||||
|
||||
/* Use stabs debugging info by default. */
|
||||
#undef PREFERRED_DEBUGGING_TYPE
|
||||
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
|
||||
#undef PREFERRED_DEBUGGING_TYPE
|
||||
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
||||
|
||||
#define DWARF2_FRAME_INFO 1
|
||||
#define DWARF2_UNWIND_INFO 0
|
||||
#define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, LINK_POINTER_REGNUM)
|
||||
#define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (LINK_POINTER_REGNUM)
|
||||
|
||||
/* Specify the machine mode that this machine uses
|
||||
for the index in the tablejump instruction. */
|
||||
|
|
|
@ -119,3 +119,12 @@ Set the max size of data eligible for the ZDA area
|
|||
|
||||
mzda-
|
||||
Target RejectNegative Joined Undocumented Alias(mzda=)
|
||||
|
||||
mlong-jumps
|
||||
Target Report Mask(LONG_JUMPS)
|
||||
Prohibit PC relative jumps
|
||||
|
||||
mrelax
|
||||
Target Report Mask(RELAX)
|
||||
Enable relaxing in the assembler
|
||||
|
||||
|
|
|
@ -637,6 +637,7 @@ host_xm_defines
|
|||
host_xm_include_list
|
||||
host_xm_file_list
|
||||
host_exeext
|
||||
gcc_c_include_dir
|
||||
gcc_gxx_include_dir_add_sysroot
|
||||
gcc_gxx_include_dir
|
||||
gcc_config_arguments
|
||||
|
@ -681,6 +682,7 @@ gcc_cv_readelf
|
|||
gcc_cv_objdump
|
||||
ORIGINAL_NM_FOR_TARGET
|
||||
gcc_cv_nm
|
||||
ORIGINAL_GOLD_FOR_TARGET
|
||||
ORIGINAL_LD_FOR_TARGET
|
||||
ORIGINAL_PLUGIN_LD_FOR_TARGET
|
||||
gcc_cv_ld
|
||||
|
@ -3323,6 +3325,21 @@ if test "${with_sysroot+set}" = set; then
|
|||
fi
|
||||
fi
|
||||
|
||||
# XXX: FIXME: We have a discrepancy: G++ header files are installed
|
||||
# relative to PREFIX but newlib header files are installed relative
|
||||
# to EXEC_PREFIX. For now we define gcc_c_include_dir to allow for
|
||||
# this behaviour, but really newlib should be changed (which will
|
||||
# involve changing the top level configure and makefile to pass down
|
||||
# a new variable containing the path for installing headers). When
|
||||
# this is done this patch can be reverted and TOOL_INCLUDE_DIR in
|
||||
# gcc/Makefile.in can be restored to its original definition based
|
||||
# on $(gcc_tooldir).
|
||||
gcc_c_include_dir='include'
|
||||
if test x$host != x$target; then
|
||||
gcc_c_include_dir="$target_alias/$gcc_c_include_dir"
|
||||
fi
|
||||
gcc_c_include_dir="\$(libsubdir)/\$(libsubdir_to_prefix)\$(prefix_to_exec_prefix)$gcc_c_include_dir"
|
||||
|
||||
|
||||
# Check whether --with-cpp_install_dir was given.
|
||||
if test "${with_cpp_install_dir+set}" = set; then :
|
||||
|
@ -4845,7 +4862,7 @@ fi
|
|||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_cc_gcc_supports_ada" >&5
|
||||
$as_echo "$acx_cv_cc_gcc_supports_ada" >&6; }
|
||||
|
||||
if test "x$GNATBIND" != xno && test "x$GNATMAKE" != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
|
||||
if test x$GNATBIND != xno && test x$GNATMAKE != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
|
||||
have_gnat=yes
|
||||
else
|
||||
have_gnat=no
|
||||
|
@ -4889,7 +4906,7 @@ case "${target}" in
|
|||
;;
|
||||
i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
|
||||
;;
|
||||
i[34567]86-*-interix[3-9]*)
|
||||
i[34567]86-*-interix3*)
|
||||
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
|
||||
# Instead, we relocate shared libraries at runtime.
|
||||
;;
|
||||
|
@ -4921,6 +4938,9 @@ case "${target}" in
|
|||
m68k-*-*)
|
||||
PICFLAG_FOR_TARGET=-fpic
|
||||
;;
|
||||
s390*-*-*)
|
||||
PICFLAG_FOR_TARGET=-fpic
|
||||
;;
|
||||
# FIXME: Override -fPIC default in libgcc only?
|
||||
sh-*-linux* | sh[2346lbe]*-*-linux*)
|
||||
PICFLAG_FOR_TARGET=-fpic
|
||||
|
@ -6393,13 +6413,7 @@ fi
|
|||
|
||||
loose_warn=
|
||||
save_CFLAGS="$CFLAGS"
|
||||
for real_option in -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual; do
|
||||
# Do the check with the no- prefix removed since gcc silently
|
||||
# accepts any -Wno-* option on purpose
|
||||
case $real_option in
|
||||
-Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;;
|
||||
*) option=$real_option ;;
|
||||
esac
|
||||
for option in -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual; do
|
||||
as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh`
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
|
||||
|
@ -6431,20 +6445,14 @@ eval ac_res=\$$as_acx_Woption
|
|||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
$as_echo "$ac_res" >&6; }
|
||||
if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then :
|
||||
loose_warn="$loose_warn${loose_warn:+ }$real_option"
|
||||
loose_warn="$loose_warn${loose_warn:+ }$option"
|
||||
fi
|
||||
done
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
c_loose_warn=
|
||||
save_CFLAGS="$CFLAGS"
|
||||
for real_option in -Wstrict-prototypes -Wmissing-prototypes; do
|
||||
# Do the check with the no- prefix removed since gcc silently
|
||||
# accepts any -Wno-* option on purpose
|
||||
case $real_option in
|
||||
-Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;;
|
||||
*) option=$real_option ;;
|
||||
esac
|
||||
for option in -Wstrict-prototypes -Wmissing-prototypes; do
|
||||
as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh`
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
|
||||
|
@ -6476,20 +6484,14 @@ eval ac_res=\$$as_acx_Woption
|
|||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
$as_echo "$ac_res" >&6; }
|
||||
if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then :
|
||||
c_loose_warn="$c_loose_warn${c_loose_warn:+ }$real_option"
|
||||
c_loose_warn="$c_loose_warn${c_loose_warn:+ }$option"
|
||||
fi
|
||||
done
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
strict_warn=
|
||||
save_CFLAGS="$CFLAGS"
|
||||
for real_option in -Wmissing-format-attribute; do
|
||||
# Do the check with the no- prefix removed since gcc silently
|
||||
# accepts any -Wno-* option on purpose
|
||||
case $real_option in
|
||||
-Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;;
|
||||
*) option=$real_option ;;
|
||||
esac
|
||||
for option in -Wmissing-format-attribute; do
|
||||
as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh`
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
|
||||
|
@ -6521,20 +6523,14 @@ eval ac_res=\$$as_acx_Woption
|
|||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
$as_echo "$ac_res" >&6; }
|
||||
if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then :
|
||||
strict_warn="$strict_warn${strict_warn:+ }$real_option"
|
||||
strict_warn="$strict_warn${strict_warn:+ }$option"
|
||||
fi
|
||||
done
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
c_strict_warn=
|
||||
save_CFLAGS="$CFLAGS"
|
||||
for real_option in -Wold-style-definition -Wc++-compat; do
|
||||
# Do the check with the no- prefix removed since gcc silently
|
||||
# accepts any -Wno-* option on purpose
|
||||
case $real_option in
|
||||
-Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;;
|
||||
*) option=$real_option ;;
|
||||
esac
|
||||
for option in -Wold-style-definition -Wc++-compat; do
|
||||
as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh`
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
|
||||
|
@ -6566,21 +6562,19 @@ eval ac_res=\$$as_acx_Woption
|
|||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
$as_echo "$ac_res" >&6; }
|
||||
if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then :
|
||||
c_strict_warn="$c_strict_warn${c_strict_warn:+ }$real_option"
|
||||
c_strict_warn="$c_strict_warn${c_strict_warn:+ }$option"
|
||||
fi
|
||||
done
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
# Do the check with the no- prefix removed from the warning options
|
||||
# since gcc silently accepts any -Wno-* option on purpose
|
||||
if test "$GCC" = yes; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic -Wlong-long -Wvariadic-macros -Woverlength-strings" >&5
|
||||
$as_echo_n "checking whether $CC supports -pedantic -Wlong-long -Wvariadic-macros -Woverlength-strings... " >&6; }
|
||||
if test "${acx_cv_prog_cc_pedantic__Wlong_long__Wvariadic_macros__Woverlength_strings+set}" = set; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings" >&5
|
||||
$as_echo_n "checking whether $CC supports -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings... " >&6; }
|
||||
if test "${acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros__Wno_overlength_strings+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="-pedantic -Wlong-long -Wvariadic-macros -Woverlength-strings"
|
||||
CFLAGS="-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -6593,16 +6587,16 @@ main ()
|
|||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
acx_cv_prog_cc_pedantic__Wlong_long__Wvariadic_macros__Woverlength_strings=yes
|
||||
acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros__Wno_overlength_strings=yes
|
||||
else
|
||||
acx_cv_prog_cc_pedantic__Wlong_long__Wvariadic_macros__Woverlength_strings=no
|
||||
acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros__Wno_overlength_strings=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
CFLAGS="$save_CFLAGS"
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_prog_cc_pedantic__Wlong_long__Wvariadic_macros__Woverlength_strings" >&5
|
||||
$as_echo "$acx_cv_prog_cc_pedantic__Wlong_long__Wvariadic_macros__Woverlength_strings" >&6; }
|
||||
if test $acx_cv_prog_cc_pedantic__Wlong_long__Wvariadic_macros__Woverlength_strings = yes; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros__Wno_overlength_strings" >&5
|
||||
$as_echo "$acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros__Wno_overlength_strings" >&6; }
|
||||
if test $acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros__Wno_overlength_strings = yes; then :
|
||||
strict_warn="$strict_warn${strict_warn:+ }-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings"
|
||||
fi
|
||||
|
||||
|
@ -6636,13 +6630,7 @@ fi
|
|||
# Disable exceptions and RTTI if building with g++
|
||||
noexception_flags=
|
||||
save_CFLAGS="$CFLAGS"
|
||||
for real_option in -fno-exceptions -fno-rtti; do
|
||||
# Do the check with the no- prefix removed since gcc silently
|
||||
# accepts any -Wno-* option on purpose
|
||||
case $real_option in
|
||||
-Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;;
|
||||
*) option=$real_option ;;
|
||||
esac
|
||||
for option in -fno-exceptions -fno-rtti; do
|
||||
as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh`
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
|
||||
|
@ -6674,7 +6662,7 @@ eval ac_res=\$$as_acx_Woption
|
|||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
$as_echo "$ac_res" >&6; }
|
||||
if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then :
|
||||
noexception_flags="$noexception_flags${noexception_flags:+ }$real_option"
|
||||
noexception_flags="$noexception_flags${noexception_flags:+ }$option"
|
||||
fi
|
||||
done
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
@ -7327,7 +7315,7 @@ if test "${with_bugurl+set}" = set; then :
|
|||
;;
|
||||
esac
|
||||
else
|
||||
BUGURL="http://gcc.gnu.org/bugs.html"
|
||||
BUGURL="https://enterprise.redhat.com/gnupro/"
|
||||
|
||||
fi
|
||||
|
||||
|
@ -11040,6 +11028,16 @@ else
|
|||
force_sjlj_exceptions=yes
|
||||
enableval=yes
|
||||
;;
|
||||
# On the FRV the unwinding of exceptions is not handled
|
||||
# correctly at the moment so use setjmp/longjmp instead.
|
||||
frv-*-*)
|
||||
force_sjlj_exceptions=yes
|
||||
enableval=yes
|
||||
;;
|
||||
iq2000-*-*)
|
||||
force_sjlj_exceptions=yes
|
||||
enableval=yes
|
||||
;;
|
||||
*)
|
||||
force_sjlj_exceptions=no
|
||||
;;
|
||||
|
@ -16205,7 +16203,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
|
|||
;;
|
||||
|
||||
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
|
||||
freebsd2.*)
|
||||
freebsd2*)
|
||||
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=yes
|
||||
|
@ -17118,7 +17116,7 @@ freebsd* | dragonfly*)
|
|||
objformat=`/usr/bin/objformat`
|
||||
else
|
||||
case $host_os in
|
||||
freebsd[23].*) objformat=aout ;;
|
||||
freebsd[123]*) objformat=aout ;;
|
||||
*) objformat=elf ;;
|
||||
esac
|
||||
fi
|
||||
|
@ -17136,7 +17134,7 @@ freebsd* | dragonfly*)
|
|||
esac
|
||||
shlibpath_var=LD_LIBRARY_PATH
|
||||
case $host_os in
|
||||
freebsd2.*)
|
||||
freebsd2*)
|
||||
shlibpath_overrides_runpath=yes
|
||||
;;
|
||||
freebsd3.[01]* | freebsdelf3.[01]*)
|
||||
|
@ -17970,7 +17968,7 @@ else
|
|||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 17973 "configure"
|
||||
#line 17971 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
@ -18076,7 +18074,7 @@ else
|
|||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 18079 "configure"
|
||||
#line 18077 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
@ -19002,7 +19000,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
|
|||
esac
|
||||
;;
|
||||
|
||||
freebsd2.*)
|
||||
freebsd[12]*)
|
||||
# C++ shared libraries reported to be fairly broken before
|
||||
# switch to ELF
|
||||
ld_shlibs_CXX=no
|
||||
|
@ -20777,7 +20775,7 @@ freebsd* | dragonfly*)
|
|||
objformat=`/usr/bin/objformat`
|
||||
else
|
||||
case $host_os in
|
||||
freebsd[23].*) objformat=aout ;;
|
||||
freebsd[123]*) objformat=aout ;;
|
||||
*) objformat=elf ;;
|
||||
esac
|
||||
fi
|
||||
|
@ -20795,7 +20793,7 @@ freebsd* | dragonfly*)
|
|||
esac
|
||||
shlibpath_var=LD_LIBRARY_PATH
|
||||
case $host_os in
|
||||
freebsd2.*)
|
||||
freebsd2*)
|
||||
shlibpath_overrides_runpath=yes
|
||||
;;
|
||||
freebsd3.[01]* | freebsdelf3.[01]*)
|
||||
|
@ -21520,6 +21518,21 @@ fi
|
|||
fi
|
||||
fi
|
||||
|
||||
gcc_cv_ld_gold_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gold
|
||||
|
||||
if test "${gcc_cv_gold+set}" = set; then :
|
||||
|
||||
else
|
||||
|
||||
if test -f $gcc_cv_ld_gold_srcdir/configure.ac \
|
||||
&& test -f ../gold/Makefile \
|
||||
&& test x$build = x$host; then
|
||||
gcc_cv_gold=../gold/ld-new$build_exeext
|
||||
else
|
||||
gcc_cv_gold=''
|
||||
fi
|
||||
fi
|
||||
|
||||
ORIGINAL_PLUGIN_LD_FOR_TARGET=$gcc_cv_ld
|
||||
PLUGIN_LD=`basename $gcc_cv_ld`
|
||||
|
||||
|
@ -21559,6 +21572,9 @@ case "$ORIGINAL_LD_FOR_TARGET" in
|
|||
;;
|
||||
esac
|
||||
|
||||
ORIGINAL_GOLD_FOR_TARGET=$gcc_cv_gold
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what linker to use" >&5
|
||||
$as_echo_n "checking what linker to use... " >&6; }
|
||||
if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext \
|
||||
|
@ -27146,6 +27162,7 @@ fi
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Echo link setup.
|
||||
|
|
|
@ -154,6 +154,21 @@ if test "${with_sysroot+set}" = set; then
|
|||
fi
|
||||
fi
|
||||
|
||||
# XXX: FIXME: We have a discrepancy: G++ header files are installed
|
||||
# relative to PREFIX but newlib header files are installed relative
|
||||
# to EXEC_PREFIX. For now we define gcc_c_include_dir to allow for
|
||||
# this behaviour, but really newlib should be changed (which will
|
||||
# involve changing the top level configure and makefile to pass down
|
||||
# a new variable containing the path for installing headers). When
|
||||
# this is done this patch can be reverted and TOOL_INCLUDE_DIR in
|
||||
# gcc/Makefile.in can be restored to its original definition based
|
||||
# on $(gcc_tooldir).
|
||||
gcc_c_include_dir='include'
|
||||
if test x$host != x$target; then
|
||||
gcc_c_include_dir="$target_alias/$gcc_c_include_dir"
|
||||
fi
|
||||
gcc_c_include_dir="\$(libsubdir)/\$(libsubdir_to_prefix)\$(prefix_to_exec_prefix)$gcc_c_include_dir"
|
||||
|
||||
AC_ARG_WITH(cpp_install_dir,
|
||||
[AC_HELP_STRING([--with-cpp-install-dir=DIR],
|
||||
[install the user visible C preprocessor in DIR
|
||||
|
@ -804,7 +819,7 @@ AC_ARG_WITH(specs,
|
|||
AC_SUBST(CONFIGURE_SPECS)
|
||||
|
||||
ACX_PKGVERSION([GCC])
|
||||
ACX_BUGURL([http://gcc.gnu.org/bugs.html])
|
||||
ACX_BUGURL([https://enterprise.redhat.com/gnupro/])
|
||||
|
||||
# Sanity check enable_languages in case someone does not run the toplevel
|
||||
# configure # script.
|
||||
|
@ -1218,6 +1233,16 @@ force_sjlj_exceptions=yes],
|
|||
force_sjlj_exceptions=yes
|
||||
enableval=yes
|
||||
;;
|
||||
# On the FRV the unwinding of exceptions is not handled
|
||||
# correctly at the moment so use setjmp/longjmp instead.
|
||||
frv-*-*)
|
||||
force_sjlj_exceptions=yes
|
||||
enableval=yes
|
||||
;;
|
||||
iq2000-*-*)
|
||||
force_sjlj_exceptions=yes
|
||||
enableval=yes
|
||||
;;
|
||||
*)
|
||||
force_sjlj_exceptions=no
|
||||
;;
|
||||
|
@ -2008,6 +2033,17 @@ else
|
|||
AC_PATH_PROG(gcc_cv_ld, $LD_FOR_TARGET)
|
||||
fi])
|
||||
|
||||
gcc_cv_ld_gold_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gold
|
||||
|
||||
AS_VAR_SET_IF(gcc_cv_gold,, [
|
||||
if test -f $gcc_cv_ld_gold_srcdir/configure.ac \
|
||||
&& test -f ../gold/Makefile \
|
||||
&& test x$build = x$host; then
|
||||
gcc_cv_gold=../gold/ld-new$build_exeext
|
||||
else
|
||||
gcc_cv_gold=''
|
||||
fi])
|
||||
|
||||
ORIGINAL_PLUGIN_LD_FOR_TARGET=$gcc_cv_ld
|
||||
PLUGIN_LD=`basename $gcc_cv_ld`
|
||||
AC_ARG_WITH(plugin-ld,
|
||||
|
@ -2037,6 +2073,9 @@ case "$ORIGINAL_LD_FOR_TARGET" in
|
|||
*) AC_CONFIG_FILES(collect-ld:exec-tool.in, [chmod +x collect-ld]) ;;
|
||||
esac
|
||||
|
||||
ORIGINAL_GOLD_FOR_TARGET=$gcc_cv_gold
|
||||
AC_SUBST(ORIGINAL_GOLD_FOR_TARGET)
|
||||
|
||||
AC_MSG_CHECKING(what linker to use)
|
||||
if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext \
|
||||
|| test "$gcc_cv_ld" = ../gold/ld-new$build_exeext; then
|
||||
|
@ -5000,6 +5039,7 @@ AC_SUBST(float_h_file)
|
|||
AC_SUBST(gcc_config_arguments)
|
||||
AC_SUBST(gcc_gxx_include_dir)
|
||||
AC_SUBST(gcc_gxx_include_dir_add_sysroot)
|
||||
AC_SUBST(gcc_c_include_dir)
|
||||
AC_SUBST(host_exeext)
|
||||
AC_SUBST(host_xm_file_list)
|
||||
AC_SUBST(host_xm_include_list)
|
||||
|
|
116
gcc/cp/ChangeLog
116
gcc/cp/ChangeLog
|
@ -98,58 +98,100 @@
|
|||
|
||||
2012-06-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/53594
|
||||
* class.c (check_bases_and_members): Avoid -Wuninitialized
|
||||
diagnostics for non-static const members or references if they
|
||||
use NSDMI.
|
||||
Backported from mainline.
|
||||
* decl.c (cxx_init_decl_processing): Use ptr_mode instead of Pmode.
|
||||
|
||||
2012-06-19 Jason Merrill <jason@redhat.com>
|
||||
2012-04-03 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/53651
|
||||
* name-lookup.c (constructor_name_p): Don't try to look at the
|
||||
name of a DECLTYPE_TYPE.
|
||||
PR c++/52796
|
||||
* pt.c (tsubst_initializer_list): A pack expansion with no elements
|
||||
means value-initialization.
|
||||
|
||||
Reapply:
|
||||
PR c++/53137
|
||||
* pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
|
||||
(instantiate_decl): Don't push_to_top_level for local class methods.
|
||||
(instantiate_class_template_1): Or for local classes.
|
||||
2012-03-01 Release Manager
|
||||
|
||||
PR c++/53599
|
||||
* pt.c (lookup_template_class_1): Use ts_global.
|
||||
* GCC 4.6.3 released.
|
||||
|
||||
2012-06-14 Richard Guenther <rguenther@suse.de>
|
||||
2012-02-14 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
Backport from mainline
|
||||
2012-06-11 Richard Guenther <rguenther@suse.de>
|
||||
Backported from mainline
|
||||
2012-02-14 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/53616
|
||||
* mangle.c (write_array_type): Use double-ints for array domain
|
||||
arithmetic.
|
||||
PR c++/52247
|
||||
* pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
|
||||
lookup_label on label's name and set TREE_USED.
|
||||
|
||||
2012-06-14 Richard Guenther <rguenther@suse.de>
|
||||
PR c/52181
|
||||
* decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
|
||||
newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
|
||||
|
||||
Backport from mainline
|
||||
2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
|
||||
2012-02-09 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/52841
|
||||
* parser.c (cp_parser_alias_declaration): Return earlier
|
||||
if an error occured.
|
||||
Backported from mainline
|
||||
2012-01-03 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
2012-06-14 Release Manager
|
||||
PR c++/51669
|
||||
* semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
|
||||
on OMP_CLAUSE_{IF,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
|
||||
|
||||
* GCC 4.7.1 released.
|
||||
2011-12-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
2012-06-12 Jason Merrill <jason@redhat.com>
|
||||
PR c/51360
|
||||
* semantics.c (finish_omp_clauses): For OMP_CLAUSE_NUM_THREADS_EXPR
|
||||
and OMP_CLAUSE_SCHEDULE_CHUNK_EXPR call mark_rvalue_use.
|
||||
|
||||
PR c++/53599
|
||||
Revert:
|
||||
PR c++/53137
|
||||
* pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
|
||||
(instantiate_decl): Don't push_to_top_level for local class methods.
|
||||
(instantiate_class_template_1): Or for local classes.
|
||||
2012-01-19 Kai Tietz <ktietz@redhat.com>
|
||||
|
||||
2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
PR c++/51344
|
||||
* decl2.c (save_template_attributes): Use merge_attributes
|
||||
instead of chaining up via TREE_CHAIN.
|
||||
|
||||
2012-01-16 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/51854
|
||||
* mangle.c (write_template_arg_literal): Sorry instead of aborting.
|
||||
|
||||
2012-01-16 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/51868
|
||||
* typeck.c (build_static_cast_1): Handle bit-fields properly.
|
||||
|
||||
2011-12-20 Dodji Seketeli <dodji@redhat.com>
|
||||
|
||||
PR debug/49951
|
||||
* decl.c (cxx_maybe_build_cleanup): Don't set location of the call
|
||||
to the destructor.
|
||||
|
||||
2011-12-16 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/51416
|
||||
* init.c (build_value_init_noctor): Check for incomplete type.
|
||||
|
||||
2011-12-16 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/51331
|
||||
* class.c (convert_to_base_statically): Just call
|
||||
build_simple_base_path.
|
||||
(build_simple_base_path): Check field offset.
|
||||
|
||||
2011-12-14 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/51248
|
||||
* decl.c (copy_type_enum): Also update variants.
|
||||
(finish_enum): Allow variants of complete enums.
|
||||
|
||||
2011-12-13 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/51406
|
||||
PR c++/51161
|
||||
* typeck.c (build_static_cast_1): Fix cast of lvalue to
|
||||
base rvalue reference.
|
||||
|
||||
2011-11-22 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/51265
|
||||
* semantics.c (finish_decltype_type): Handle PTRMEM_CST.
|
||||
|
||||
2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/53524
|
||||
* call.c (build_conditional_expr_1): Use OPT_Wenum_compare
|
||||
|
|
|
@ -383,8 +383,6 @@ build_value_init_noctor (tree type, tsubst_flags_t complain)
|
|||
error ("value-initialization of incomplete type %qT", type);
|
||||
return error_mark_node;
|
||||
}
|
||||
/* FIXME the class and array cases should just use digest_init once it is
|
||||
SFINAE-enabled. */
|
||||
if (CLASS_TYPE_P (type))
|
||||
{
|
||||
gcc_assert (!TYPE_HAS_COMPLEX_DFLT (type));
|
||||
|
|
|
@ -3129,7 +3129,6 @@ write_array_type (const tree type)
|
|||
}
|
||||
write_expression (max);
|
||||
}
|
||||
|
||||
}
|
||||
write_char ('_');
|
||||
write_type (TREE_TYPE (type));
|
||||
|
|
|
@ -1966,11 +1966,6 @@ constructor_name_p (tree name, tree type)
|
|||
if (TREE_CODE (name) != IDENTIFIER_NODE)
|
||||
return false;
|
||||
|
||||
/* These don't have names. */
|
||||
if (TREE_CODE (type) == DECLTYPE_TYPE
|
||||
|| TREE_CODE (type) == TYPEOF_TYPE)
|
||||
return false;
|
||||
|
||||
ctor_name = constructor_name_full (type);
|
||||
if (name == ctor_name)
|
||||
return true;
|
||||
|
|
|
@ -15071,9 +15071,6 @@ cp_parser_alias_declaration (cp_parser* parser)
|
|||
|
||||
cp_parser_require (parser, CPP_EQ, RT_EQ);
|
||||
|
||||
if (cp_parser_error_occurred (parser))
|
||||
return error_mark_node;
|
||||
|
||||
/* Now we are going to parse the type-id of the declaration. */
|
||||
|
||||
/*
|
||||
|
|
|
@ -7564,7 +7564,7 @@ lookup_template_class_1 (tree d1, tree arglist, tree in_decl, tree context,
|
|||
|
||||
/* A local class. Make sure the decl gets registered properly. */
|
||||
if (context == current_function_decl)
|
||||
pushtag (DECL_NAME (gen_tmpl), t, /*tag_scope=*/ts_global);
|
||||
pushtag (DECL_NAME (gen_tmpl), t, /*tag_scope=*/ts_current);
|
||||
|
||||
if (comp_template_args (CLASSTYPE_TI_ARGS (template_type), arglist))
|
||||
/* This instantiation is another name for the primary
|
||||
|
|
|
@ -7202,6 +7202,7 @@ cxx_fold_indirect_ref (location_t loc, tree type, tree op0, bool *empty_base)
|
|||
sub = op0;
|
||||
STRIP_NOPS (sub);
|
||||
subtype = TREE_TYPE (sub);
|
||||
|
||||
if (!POINTER_TYPE_P (subtype))
|
||||
return NULL_TREE;
|
||||
|
||||
|
|
|
@ -2905,6 +2905,11 @@ find_comparison_args (enum rtx_code code, rtx *parg1, rtx *parg2,
|
|||
{
|
||||
rtx arg1, arg2;
|
||||
|
||||
static unsigned int nesting = 0;
|
||||
/* Prevent an infinite loop for RX and FRV. */
|
||||
if (++ nesting < 100)
|
||||
return code;
|
||||
|
||||
arg1 = *parg1, arg2 = *parg2;
|
||||
|
||||
/* If ARG2 is const0_rtx, see what ARG1 is equivalent to. */
|
||||
|
@ -3076,6 +3081,8 @@ find_comparison_args (enum rtx_code code, rtx *parg1, rtx *parg2,
|
|||
*pmode1 = GET_MODE (arg1), *pmode2 = GET_MODE (arg2);
|
||||
*parg1 = fold_rtx (arg1, 0), *parg2 = fold_rtx (arg2, 0);
|
||||
|
||||
--nesting;
|
||||
|
||||
return code;
|
||||
}
|
||||
|
||||
|
|
|
@ -771,6 +771,7 @@ Objective-C and Objective-C++ Dialects}.
|
|||
-mno-am33 -mam33 -mam33-2 -mam34 @gol
|
||||
-mtune=@var{cpu-type} @gol
|
||||
-mreturn-pointer-on-d0 @gol
|
||||
-mmem-funcs @gol
|
||||
-mno-crt0 -mrelax -mliw -msetlb}
|
||||
|
||||
@emph{PDP-11 Options}
|
||||
|
@ -7878,7 +7879,7 @@ GIMPLE bytecodes and final object code. GCC automatically selects
|
|||
which files to optimize in LTO mode and which files to link without
|
||||
further processing.
|
||||
|
||||
There are some code generation flags preserved by GCC when
|
||||
There are some code generation flags that GCC preserves when
|
||||
generating bytecodes, as they need to be used during the final link
|
||||
stage. Currently, the following options are saved into the GIMPLE
|
||||
bytecode files: @option{-fPIC}, @option{-fcommon} and all the
|
||||
|
@ -7895,7 +7896,7 @@ participating in the same link with the same options.
|
|||
If LTO encounters objects with C linkage declared with incompatible
|
||||
types in separate translation units to be linked together (undefined
|
||||
behavior according to ISO C99 6.2.7), a non-fatal diagnostic may be
|
||||
issued. The behavior is still undefined at run time.
|
||||
issued. The behavior is still undefined at runtime.
|
||||
|
||||
Another feature of LTO is that it is possible to apply interprocedural
|
||||
optimizations on files written in different languages. This requires
|
||||
|
@ -7996,7 +7997,7 @@ Disabled by default.
|
|||
|
||||
@item -fuse-linker-plugin
|
||||
Enables the use of a linker plugin during link-time optimization. This
|
||||
option relies on plugin support in the linker, which is available in gold
|
||||
option relies on the linker plugin support in linker that is available in gold
|
||||
or in GNU ld 2.21 or newer.
|
||||
|
||||
This option enables the extraction of object files with GIMPLE bytecode out
|
||||
|
@ -12903,14 +12904,19 @@ Generate code for the H8/300H@.
|
|||
@opindex ms
|
||||
Generate code for the H8S@.
|
||||
|
||||
@item -mn
|
||||
@opindex mn
|
||||
Generate code for the H8S and H8/300H in the normal mode. This switch
|
||||
must be used either with @option{-mh} or @option{-ms}.
|
||||
@item -msx
|
||||
@opindex msx
|
||||
Generate code for the H8SX@. This is the default.
|
||||
|
||||
@item -ms2600
|
||||
@opindex ms2600
|
||||
Generate code for the H8S/2600. This switch must be used with @option{-ms}.
|
||||
Generate code for the H8S/2600. This switch must be used with either
|
||||
@option{-ms} or @option{-msx}.
|
||||
|
||||
@item -mn
|
||||
@opindex mn
|
||||
Generate code for the H8S and H8/300H in the normal mode. This switch
|
||||
must be used either with @option{-mh}, @option{-ms} or @option{-msx}.
|
||||
|
||||
@item -mint32
|
||||
@opindex mint32
|
||||
|
@ -16236,6 +16242,13 @@ Do not allow the compiler to generate @emph{SETLB} or @emph{Lcc}
|
|||
instructions. This option defines the preprocessor macro
|
||||
@samp{__NO_SETLB__}.
|
||||
|
||||
@item -mmem-funcs
|
||||
Tell gcc to automatically generate calls to memset() and memcpy()
|
||||
when it needs to clear or copy a block of memory. This is disabled by
|
||||
default because it cannot be guaranteed that the runtime environment
|
||||
will include a C library. The default behavior can also be restored
|
||||
by the switch @option{--mno-mem-funcs}.
|
||||
|
||||
@end table
|
||||
|
||||
@node PDP-11 Options
|
||||
|
@ -19786,6 +19799,22 @@ Recognize EUCJP characters.
|
|||
If @env{LANG} is not defined, or if it has some other value, then the
|
||||
compiler will use mblen and mbtowc as defined by the default locale to
|
||||
recognize and translate multibyte characters.
|
||||
|
||||
@item GCC_DEFAULT_OPTIONS
|
||||
The contents of this variable, if it is defined, will be pre-pended to
|
||||
the list of command line options that GCC parses. The variable can
|
||||
contain multiple gcc command line switches provided that they are
|
||||
separated by white space. If a switch is defined both in this
|
||||
variable and on the command line, then the command line version (or
|
||||
its inverse) will take precedence.
|
||||
|
||||
Note - this variable is only examined when the compiler is acting as a
|
||||
native compiler. If the compiler is acting as a cross-compiler a
|
||||
different variable, if defined for the particular cross target, will
|
||||
be examined. For example for the AM33 cross compiler the variable
|
||||
@env{AM33_GCC_DEFAULT_OPTIONS} will be examined. Passing the
|
||||
@option{--verbose} switch to GCC will display the name of the
|
||||
environment variable and, if it is defined, its contents.
|
||||
@end table
|
||||
|
||||
@noindent
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue