mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-21 01:12:32 +08:00
fsf address update
This commit is contained in:
parent
467d7bbd7d
commit
a2a5a4fa41
330
gas/COPYING
330
gas/COPYING
@ -1,38 +1,40 @@
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 1, February 1989
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The license agreements of most software companies try to keep users
|
||||
at the mercy of those companies. By contrast, our General Public
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. The
|
||||
General Public License applies to the Free Software Foundation's
|
||||
software and to any other program whose authors commit to using it.
|
||||
You can use it for your programs, too.
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Specifically, the General Public License is designed to make
|
||||
sure that you have the freedom to give away or sell copies of free
|
||||
software, 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.
|
||||
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
|
||||
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 software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of a such a program, whether
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must tell them their rights.
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
@ -45,120 +47,207 @@ want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any program or other work which
|
||||
contains a notice placed by the copyright holder saying it may be
|
||||
distributed under the terms of this General Public License. The
|
||||
"Program", below, refers to any such program or work, and a "work based
|
||||
on the Program" means either the Program or any work containing the
|
||||
Program or a portion of it, either verbatim or with modifications. Each
|
||||
licensee is addressed as "you".
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's source
|
||||
code as you receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice and
|
||||
disclaimer of warranty; keep intact all the notices that refer to this
|
||||
General Public License and to the absence of any warranty; and give any
|
||||
other recipients of the Program a copy of this General Public License
|
||||
along with the Program. You may charge a fee for the physical act of
|
||||
transferring a copy.
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion of
|
||||
it, and copy and distribute such modifications under the terms of Paragraph
|
||||
1 above, provided that you also do the following:
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
a) cause the modified files to carry prominent notices stating that
|
||||
you changed the files and the date of any change; and
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
b) cause the whole of any work that you distribute or publish, that
|
||||
in whole or in part contains the Program or any part thereof, either
|
||||
with or without modifications, to be licensed at no charge to all
|
||||
third parties under the terms of this General Public License (except
|
||||
that you may choose to grant warranty protection to some or all
|
||||
third parties, at your option).
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
c) If the modified program normally reads commands interactively when
|
||||
run, you must cause it, when started running for such interactive use
|
||||
in the simplest and most usual way, to print or display an
|
||||
announcement including an appropriate copyright notice and a notice
|
||||
that there is no warranty (or else, saying that you provide a
|
||||
warranty) and that users may redistribute the program under these
|
||||
conditions, and telling the user how to view a copy of this General
|
||||
Public License.
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
d) You may charge a fee for the physical act of transferring a
|
||||
copy, and you may at your option offer warranty protection in
|
||||
exchange for a fee.
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
Mere aggregation of another independent work with the Program (or its
|
||||
derivative) on a volume of a storage or distribution medium does not bring
|
||||
the other work under the scope of these terms.
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
3. You may copy and distribute the Program (or a portion or derivative of
|
||||
it, under Paragraph 2) in object code or executable form under the terms of
|
||||
Paragraphs 1 and 2 above provided that you also do one of the following:
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
a) accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of
|
||||
Paragraphs 1 and 2 above; or,
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
b) accompany it with a written offer, valid for at least three
|
||||
years, to give any third party free (except for a nominal charge
|
||||
for the cost of distribution) a complete machine-readable copy of the
|
||||
corresponding source code, to be distributed under the terms of
|
||||
Paragraphs 1 and 2 above; or,
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
c) accompany it with the information you received as to where the
|
||||
corresponding source code may be obtained. (This alternative is
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form alone.)
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
Source code for a work means the preferred form of the work for making
|
||||
modifications to it. For an executable file, complete source code means
|
||||
all the source code for all modules it contains; but, as a special
|
||||
exception, it need not include source code for modules which are standard
|
||||
libraries that accompany the operating system on which the executable
|
||||
file runs, or for standard header files or definitions files that
|
||||
accompany that operating system.
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, 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 executable. However, as a
|
||||
special exception, 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.
|
||||
|
||||
4. You may not copy, modify, sublicense, distribute or transfer the
|
||||
Program except as expressly provided under this General Public License.
|
||||
Any attempt otherwise to copy, modify, sublicense, distribute or transfer
|
||||
the Program is void, and will automatically terminate your rights to use
|
||||
the Program under this License. However, parties who have received
|
||||
copies, or rights to use copies, from you under this General Public
|
||||
License will not have their licenses terminated so long as such parties
|
||||
remain in full compliance.
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. By copying, distributing or modifying the Program (or any work based
|
||||
on the Program) you indicate your acceptance of this license to do so,
|
||||
and all its terms and conditions.
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the original
|
||||
licensor to copy, distribute or modify the Program subject to these
|
||||
terms and conditions. You may not impose any further restrictions on the
|
||||
recipients' exercise of the rights granted herein.
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program 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 to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
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 Program.
|
||||
|
||||
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
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
7. The Free Software Foundation may publish revised and/or new versions
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program 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.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the 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.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of the license which applies to it and "any
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
the license, you may choose any version ever published by the Free Software
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
8. If you wish to incorporate parts of the Program into other free
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
@ -168,7 +257,7 @@ of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
@ -178,7 +267,7 @@ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
@ -193,22 +282,21 @@ POSSIBILITY OF SUCH DAMAGES.
|
||||
Appendix: How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to humanity, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these
|
||||
terms.
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. 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.
|
||||
To do so, attach the following notices to the program. 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 program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 1, or (at your option)
|
||||
any later version.
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
@ -217,33 +305,35 @@ the exclusion of warranty; and each file should have at least the
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19xx name of author
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the
|
||||
appropriate parts of the General Public License. Of course, the
|
||||
commands you use may be called something other than `show w' and `show
|
||||
c'; they could even be mouse-clicks or menu items--whatever suits your
|
||||
program.
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here a sample; alter the names:
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
program `Gnomovision' (a program to direct compilers to make passes
|
||||
at assemblers) written by James Hacker.
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
|
@ -1,3 +1,7 @@
|
||||
Thu Jul 6 16:49:38 1995 Ken Raeburn <raeburn@cygnus.com>
|
||||
|
||||
* All files: Updated FSF address.
|
||||
|
||||
Thu Jul 6 12:54:27 1995 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
Patches from Jerry Blakely <gerry_blakley@wellfleet.com>:
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU GAS; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
# The targets for external use include:
|
||||
# all, doc, proto, install, uninstall, includes, TAGS,
|
||||
|
114
gas/app.c
114
gas/app.c
@ -15,14 +15,13 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Modified by Allen Wirfs-Brock, Instantiations Inc 2/90 */
|
||||
/* App, the assembler pre-processor. This pre-processor strips out excess
|
||||
spaces, turns single-quoted characters into a decimal constant, and turns
|
||||
# <number> <filename> <garbage> into a .line <number>\n.file <filename>
|
||||
pair. This needs better error-handling.
|
||||
*/
|
||||
pair. This needs better error-handling. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include "as.h" /* For BAD_CASE() only */
|
||||
@ -79,12 +78,11 @@ do_scrub_begin ()
|
||||
|
||||
|
||||
#ifdef SINGLE_QUOTE_STRINGS
|
||||
lex['\''] = LEX_IS_STRINGQUOTE;
|
||||
lex['\''] = LEX_IS_STRINGQUOTE;
|
||||
#endif
|
||||
|
||||
/* Note that these override the previous defaults, e.g. if ';'
|
||||
|
||||
is a comment char, then it isn't a line separator. */
|
||||
/* Note that these override the previous defaults, e.g. if ';' is a
|
||||
comment char, then it isn't a line separator. */
|
||||
for (p = symbol_chars; *p; ++p)
|
||||
{
|
||||
lex[(unsigned char) *p] = LEX_IS_SYMBOL_COMPONENT;
|
||||
@ -110,9 +108,8 @@ do_scrub_begin ()
|
||||
{
|
||||
lex['/'] = LEX_IS_TWOCHAR_COMMENT_1ST;
|
||||
}
|
||||
/* FIXME-soon. This is a bad hack but otherwise, we
|
||||
can't do c-style comments when '/' is a line
|
||||
comment char. xoxorich. */
|
||||
/* FIXME-soon. This is a bad hack but otherwise, we can't do
|
||||
c-style comments when '/' is a line comment char. xoxorich. */
|
||||
if (lex['*'] == 0)
|
||||
{
|
||||
lex['*'] = LEX_IS_TWOCHAR_COMMENT_2ND;
|
||||
@ -254,15 +251,28 @@ do_scrub_next_char (get, unget)
|
||||
8: After putting out a .appfile string, flush until newline.
|
||||
9: After seeing symbol char in state 3 (keep 1white after symchar)
|
||||
10: After seeing whitespace in state 9 (keep white before symchar)
|
||||
-1: output string in out_string and go to the state in old_state
|
||||
-2: flush text until a '*' '/' is seen, then go to state old_state
|
||||
11: After seeing a symbol character in state 0 (eg a label definition)
|
||||
-1: output string in out_string and go to the state in old_state
|
||||
-2: flush text until a '*' '/' is seen, then go to state old_state
|
||||
*/
|
||||
|
||||
/* I added states 9 and 10 because the MIPS ECOFF assembler uses
|
||||
constructs like ``.loc 1 20''. This was turning into ``.loc
|
||||
120''. States 9 and 10 ensure that a space is never dropped in
|
||||
between characters which could appear in a identifier. Ian
|
||||
Taylor, ian@cygnus.com. */
|
||||
Taylor, ian@cygnus.com.
|
||||
|
||||
I added state 11 so that something like "Lfoo add %r25,%r26,%r27" works
|
||||
correctly on the PA (and any other target where colons are optional).
|
||||
Jeff Law, law@cs.utah.edu. */
|
||||
|
||||
/* This is purely an optimization hack, and relies on gcc's inlining
|
||||
capability. */
|
||||
#if defined (__GNUC__) && defined (__OPTIMIZE__)
|
||||
#define GET() (get == scrub_from_file ? scrub_from_file () : (*get) ())
|
||||
#else
|
||||
#define GET() ((*get) ())
|
||||
#endif
|
||||
|
||||
register int ch, ch2 = 0;
|
||||
int not_cpp_line = 0;
|
||||
@ -283,14 +293,14 @@ do_scrub_next_char (get, unget)
|
||||
{
|
||||
do
|
||||
{
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
}
|
||||
while (ch != EOF && ch != '\n' && ch != '*');
|
||||
if (ch == '\n' || ch == EOF)
|
||||
return ch;
|
||||
|
||||
/* At this point, ch must be a '*' */
|
||||
while ((ch = (*get) ()) == '*')
|
||||
while ((ch = GET ()) == '*')
|
||||
{
|
||||
;
|
||||
}
|
||||
@ -302,13 +312,13 @@ do_scrub_next_char (get, unget)
|
||||
return ' ';
|
||||
|
||||
case 4:
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
if (ch == EOF || (ch >= '0' && ch <= '9'))
|
||||
return ch;
|
||||
else
|
||||
{
|
||||
while (ch != EOF && IS_WHITESPACE (ch))
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
if (ch == '"')
|
||||
{
|
||||
(*unget) (ch);
|
||||
@ -320,24 +330,26 @@ do_scrub_next_char (get, unget)
|
||||
else
|
||||
{
|
||||
while (ch != EOF && ch != '\n')
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
state = 0;
|
||||
return ch;
|
||||
}
|
||||
}
|
||||
|
||||
case 5:
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
if (lex[ch] == LEX_IS_STRINGQUOTE)
|
||||
{
|
||||
state = old_state;
|
||||
return ch;
|
||||
}
|
||||
#ifndef NO_STRING_ESCAPES
|
||||
else if (ch == '\\')
|
||||
{
|
||||
state = 6;
|
||||
return ch;
|
||||
}
|
||||
#endif
|
||||
else if (ch == EOF)
|
||||
{
|
||||
as_warn ("End of file in string: inserted '\"'");
|
||||
@ -352,7 +364,7 @@ do_scrub_next_char (get, unget)
|
||||
|
||||
case 6:
|
||||
state = 5;
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
switch (ch)
|
||||
{
|
||||
/* Handle strings broken across lines, by turning '\n' into
|
||||
@ -400,28 +412,32 @@ do_scrub_next_char (get, unget)
|
||||
return ch;
|
||||
|
||||
case 7:
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
state = 5;
|
||||
old_state = 8;
|
||||
return ch;
|
||||
|
||||
case 8:
|
||||
do
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
while (ch != '\n');
|
||||
state = 0;
|
||||
return ch;
|
||||
}
|
||||
|
||||
/* OK, we are somewhere in states 0 through 4 or 9 through 10 */
|
||||
/* OK, we are somewhere in states 0 through 4 or 9 through 11 */
|
||||
|
||||
/* flushchar: */
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
recycle:
|
||||
if (ch == EOF)
|
||||
{
|
||||
if (state != 0)
|
||||
as_warn ("End of file not at end of a line: Newline inserted.");
|
||||
{
|
||||
as_warn ("End of file not at end of a line: Newline inserted.");
|
||||
state = 0;
|
||||
return '\n';
|
||||
}
|
||||
return ch;
|
||||
}
|
||||
|
||||
@ -437,12 +453,15 @@ recycle:
|
||||
return ch;
|
||||
}
|
||||
else
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
while (ch != EOF && IS_WHITESPACE (ch));
|
||||
if (ch == EOF)
|
||||
return ch;
|
||||
|
||||
if (IS_COMMENT (ch) || (state == 0 && IS_LINE_COMMENT (ch)) || ch == '/' || IS_LINE_SEPARATOR (ch))
|
||||
if (IS_COMMENT (ch)
|
||||
|| (state == 0 && IS_LINE_COMMENT (ch))
|
||||
|| ch == '/'
|
||||
|| IS_LINE_SEPARATOR (ch))
|
||||
{
|
||||
/* cpp never outputs a leading space before the #, so try to
|
||||
avoid being confused. */
|
||||
@ -454,13 +473,12 @@ recycle:
|
||||
return ' '; /* Always return one space at start of line */
|
||||
#endif
|
||||
|
||||
/* If we're in state 2, we've seen a non-white
|
||||
character followed by whitespace. If the next
|
||||
character is ':', this is whitespace after a label
|
||||
name which we can ignore. */
|
||||
if (state == 2 && lex[ch] == LEX_IS_COLON)
|
||||
/* If we're in state 2 or 11, we've seen a non-white character
|
||||
followed by whitespace. If the next character is ':', this
|
||||
is whitespace after a label name which we *must* ignore. */
|
||||
if ((state == 2 || state == 11) && lex[ch] == LEX_IS_COLON)
|
||||
{
|
||||
state = 0;
|
||||
state = 1;
|
||||
return ch;
|
||||
}
|
||||
|
||||
@ -483,20 +501,24 @@ recycle:
|
||||
case 10:
|
||||
state = 10; /* Sp after symbol char */
|
||||
goto recycle;
|
||||
case 11:
|
||||
state = 1;
|
||||
(*unget) (ch);
|
||||
return ' '; /* Sp after label definition. */
|
||||
default:
|
||||
BAD_CASE (state);
|
||||
}
|
||||
break;
|
||||
|
||||
case LEX_IS_TWOCHAR_COMMENT_1ST:
|
||||
ch2 = (*get) ();
|
||||
ch2 = GET ();
|
||||
if (ch2 != EOF && lex[ch2] == LEX_IS_TWOCHAR_COMMENT_2ND)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
do
|
||||
{
|
||||
ch2 = (*get) ();
|
||||
ch2 = GET ();
|
||||
if (ch2 != EOF && IS_NEWLINE (ch2))
|
||||
add_newlines++;
|
||||
}
|
||||
@ -506,7 +528,7 @@ recycle:
|
||||
while (ch2 != EOF &&
|
||||
(lex[ch2] == LEX_IS_TWOCHAR_COMMENT_2ND))
|
||||
{
|
||||
ch2 = (*get) ();
|
||||
ch2 = GET ();
|
||||
}
|
||||
|
||||
if (ch2 == EOF
|
||||
@ -540,7 +562,7 @@ recycle:
|
||||
#ifndef MRI
|
||||
#ifndef IEEE_STYLE
|
||||
case LEX_IS_ONECHAR_QUOTE:
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
if (ch == EOF)
|
||||
{
|
||||
as_warn ("End-of-file after a one-character quote; \\000 inserted");
|
||||
@ -548,14 +570,14 @@ recycle:
|
||||
}
|
||||
if (ch == '\\')
|
||||
{
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
ch = process_escape (ch);
|
||||
}
|
||||
sprintf (out_buf, "%d", (int) (unsigned char) ch);
|
||||
|
||||
|
||||
/* None of these 'x constants for us. We want 'x'. */
|
||||
if ((ch = (*get) ()) != '\'')
|
||||
if ((ch = GET ()) != '\'')
|
||||
{
|
||||
#ifdef REQUIRE_CHAR_CLOSE_QUOTE
|
||||
as_warn ("Missing close quote: (assumed)");
|
||||
@ -580,7 +602,7 @@ recycle:
|
||||
if (state == 9 || state == 10)
|
||||
state = 3;
|
||||
else if (state != 3)
|
||||
state = 0;
|
||||
state = 1;
|
||||
return ch;
|
||||
|
||||
case LEX_IS_NEWLINE:
|
||||
@ -605,7 +627,7 @@ recycle:
|
||||
whole lexical process should be reworked. xoxorich. */
|
||||
if (ch == '/')
|
||||
{
|
||||
ch2 = (*get) ();
|
||||
ch2 = GET ();
|
||||
if (ch2 == '*')
|
||||
{
|
||||
state = -2;
|
||||
@ -621,7 +643,7 @@ recycle:
|
||||
not_cpp_line = 1;
|
||||
|
||||
do
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
while (ch != EOF && IS_WHITESPACE (ch));
|
||||
if (ch == EOF)
|
||||
{
|
||||
@ -632,7 +654,7 @@ recycle:
|
||||
{
|
||||
/* Non-numerics: Eat whole comment line */
|
||||
while (ch != EOF && !IS_NEWLINE (ch))
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
if (ch == EOF)
|
||||
as_warn ("EOF in Comment: Newline inserted");
|
||||
state = 0;
|
||||
@ -654,7 +676,7 @@ recycle:
|
||||
/* Fall through. */
|
||||
case LEX_IS_COMMENT_START:
|
||||
do
|
||||
ch = (*get) ();
|
||||
ch = GET ();
|
||||
while (ch != EOF && !IS_NEWLINE (ch));
|
||||
if (ch == EOF)
|
||||
as_warn ("EOF in comment: Newline inserted");
|
||||
@ -679,7 +701,7 @@ recycle:
|
||||
/* Some relatively `normal' character. */
|
||||
if (state == 0)
|
||||
{
|
||||
state = 2; /* Now seeing opcode */
|
||||
state = 11; /* Now seeing label definition */
|
||||
return ch;
|
||||
}
|
||||
else if (state == 1)
|
||||
@ -704,6 +726,8 @@ recycle:
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
|
||||
#undef GET
|
||||
}
|
||||
|
||||
#ifdef TEST
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "as.h"
|
||||
|
||||
|
@ -50,7 +50,7 @@ GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS or GDB; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#if !defined(__STDC__) && !defined(const)
|
||||
#define const
|
||||
|
@ -17,7 +17,7 @@ GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#if !defined(__STDC__) && !defined(const)
|
||||
#define const
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with GAS; see the file COPYING. If not, write
|
||||
to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "as.h"
|
||||
#include "obstack.h"
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with GAS; see the file COPYING. If not, write
|
||||
to the Free Software Foundation, 675 Mass Ave, Cambridge, MA
|
||||
to the Free Software Foundation, 59 Temple Place - Suite 330, Cambridge, MA
|
||||
02139, USA. */
|
||||
|
||||
/*
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "as.h"
|
||||
#include "obstack.h"
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Chars that can be used to separate mant from exp in floating point nums */
|
||||
char EXP_CHARS[] = "eE";
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
* This file is obj-generic.h and is intended to be a template for
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "config/obj-aout.c"
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define __STRUCT_EXEC_OVERRIDE__
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
|
||||
/*
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define BFD 1
|
||||
|
||||
|
@ -15,7 +15,7 @@ GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Written by David L. Kashtan */
|
||||
/* Modified by Eric Youngdale to write VMS debug records for program
|
||||
|
@ -15,7 +15,7 @@ the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with GAS; see the file COPYING. If not, write
|
||||
to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Tag to validate a.out object file format processing */
|
||||
#define OBJ_VMS 1
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* John Gilmore has reorganized this module somewhat, to make it easier
|
||||
to convert it to new machines' assemblers as desired. There was too
|
||||
|
@ -15,7 +15,7 @@ GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define TC_A29K
|
||||
|
||||
|
@ -16,21 +16,45 @@
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with GAS; see the file COPYING. If not, write
|
||||
to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define TC_ARC 1
|
||||
|
||||
#define LOCAL_LABELS_FB
|
||||
#define LOCAL_LABELS_FB 1
|
||||
|
||||
#define TARGET_ARCH bfd_arch_arc
|
||||
#define TARGET_FORMAT "elf32-arc"
|
||||
|
||||
#define LITTLE_ENDIAN 1234
|
||||
#define BIG_ENDIAN 4321
|
||||
|
||||
/* The endianness of the target format may change based on command
|
||||
line arguments. */
|
||||
extern const char *arc_target_format;
|
||||
#define DEFAULT_TARGET_FORMAT "elf32-littlearc"
|
||||
#define TARGET_FORMAT arc_target_format
|
||||
#define DEFAULT_BYTE_ORDER LITTLE_ENDIAN
|
||||
|
||||
#define LOCAL_LABEL(name) ((name)[0] == '.' && (name)[1] == 'L')
|
||||
#define FAKE_LABEL_NAME ".L0\001"
|
||||
|
||||
#define WORKING_DOT_WORD
|
||||
|
||||
#define LISTING_HEADER "ARC GAS "
|
||||
|
||||
#define TC_HANDLES_FX_DONE
|
||||
|
||||
#define MD_APPLY_FIX3
|
||||
|
||||
/* The ARC needs to parse reloc specifiers in .word. */
|
||||
|
||||
extern void arc_parse_cons_expression ();
|
||||
#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) \
|
||||
arc_parse_cons_expression (EXP, NBYTES)
|
||||
|
||||
extern void arc_cons_fix_new ();
|
||||
#define TC_CONS_FIX_NEW(FRAG, WHERE, NBYTES, EXP) \
|
||||
arc_cons_fix_new (FRAG, WHERE, NBYTES, EXP)
|
||||
|
||||
#if 0
|
||||
/* Extra stuff that we need to keep track of for each symbol. */
|
||||
struct arc_tc_sy
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
Written By Steve Chamberlain
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
|
||||
#define TC_H8500
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
Intel 80386 machine specific gas.
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef TC_I386
|
||||
#define TC_I386 1
|
||||
@ -100,7 +100,7 @@ extern int tc_coff_sizemachdep PARAMS ((fragS *frag));
|
||||
/* Need this for PIC relocations */
|
||||
#define NEED_FX_R_TYPE
|
||||
|
||||
#define AOUT_MACHTYPE /* 100 */ 0
|
||||
#define AOUT_MACHTYPE 100
|
||||
#undef REVERSE_SORT_RELOCS
|
||||
|
||||
#endif /* ! BFD_ASSEMBLER */
|
||||
@ -118,7 +118,7 @@ extern int tc_coff_sizemachdep PARAMS ((fragS *frag));
|
||||
&& (name[1] == 'L' || name[1] == 'X' || name[1] == '.'))
|
||||
#define FAKE_LABEL_NAME ".L0\001"
|
||||
#endif
|
||||
#define LOCAL_LABELS_FB
|
||||
#define LOCAL_LABELS_FB 1
|
||||
|
||||
#define tc_aout_pre_write_hook(x) {;} /* not used */
|
||||
#define tc_crawl_symbol_chain(a) {;} /* not used */
|
||||
@ -360,4 +360,7 @@ void i386_validate_fix ();
|
||||
|
||||
#define md_operand(x)
|
||||
|
||||
extern const struct relax_type md_relax_table[];
|
||||
#define TC_GENERIC_RELAX_TABLE md_relax_table
|
||||
|
||||
/* end of tc-i386.h */
|
||||
|
@ -17,7 +17,7 @@ GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <ctype.h>
|
||||
#include "as.h"
|
||||
|
@ -18,7 +18,7 @@ GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define TC_M88K
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef TC_MIPS
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
Adapted from the SH assember
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef TC_RCE
|
||||
#define TC_RCE 1
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
|
@ -15,16 +15,20 @@
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with GAS; see the file COPYING. If not, write
|
||||
to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define TC_SPARC 1
|
||||
|
||||
#define LOCAL_LABELS_FB
|
||||
#define LOCAL_LABELS_FB 1
|
||||
|
||||
#define TARGET_ARCH bfd_arch_sparc
|
||||
#ifdef OBJ_AOUT
|
||||
#ifdef TE_NetBSD
|
||||
#define TARGET_FORMAT "a.out-sparc-netbsd"
|
||||
#else
|
||||
#define TARGET_FORMAT "a.out-sunos-big"
|
||||
#endif
|
||||
#endif
|
||||
#ifdef OBJ_BOUT
|
||||
#define TARGET_FORMAT "b.out.big"
|
||||
#endif
|
||||
@ -35,7 +39,7 @@
|
||||
#define TARGET_FORMAT "elf64-sparc" /* v9 */
|
||||
#define ENV64 /* v9 */
|
||||
#endif /* sparcv9 */
|
||||
#define LOCAL_LABEL(name) ((name)[0] == '.' || !strncmp ((name), "_.L_", 4))
|
||||
#define LOCAL_LABEL(name) (((name)[0] == '.' && (name)[1] == 'L') || !strncmp ((name), "_.L_", 4))
|
||||
#endif
|
||||
#define WORKING_DOT_WORD
|
||||
|
||||
@ -48,4 +52,25 @@ void tc_aout_pre_write_hook ();
|
||||
|
||||
#define LISTING_HEADER "SPARC GAS "
|
||||
|
||||
/* I know that "call 0" fails in sparc-coff if this doesn't return 1. I
|
||||
don't know about other relocation types, or other formats, yet. */
|
||||
#ifdef OBJ_COFF
|
||||
#define TC_FORCE_RELOCATION(FIXP) \
|
||||
((FIXP)->fx_r_type == BFD_RELOC_32_PCREL_S2 \
|
||||
&& ((FIXP)->fx_addsy == 0 \
|
||||
|| S_GET_SEGMENT ((FIXP)->fx_addsy) == absolute_section))
|
||||
#define RELOC_REQUIRES_SYMBOL
|
||||
#endif
|
||||
|
||||
#define TC_HANDLES_FX_DONE
|
||||
|
||||
#ifdef OBJ_ELF
|
||||
/* Keep relocations against global symbols. Don't turn them into
|
||||
relocations against sections. This is required for the dynamic
|
||||
linker to operate properly. */
|
||||
#define tc_fix_adjustable(FIX) (! S_IS_EXTERN ((FIX)->fx_addsy))
|
||||
#endif
|
||||
|
||||
#define md_operand(x)
|
||||
|
||||
/* end of tc-sparc.h */
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define TC_TAHOE 1
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
Written By Steve Chamberlain
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
|
||||
#define TC_W65
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define LOCAL_LABELS_DOLLAR 1
|
||||
#define LOCAL_LABELS_FB 1
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
* This file is te-ic960.h and is intended to define ic960 environment
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Added these, because if we don't know what we're targetting we may
|
||||
need an assembler version of libgcc, and that will use local
|
||||
|
@ -15,21 +15,21 @@
|
||||
|
||||
#You should have received a copy of the GNU General Public License
|
||||
#along with GNU GAS; see the file COPYING. If not, write to
|
||||
#the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
# The targets for external use include:
|
||||
# all, doc, proto, install, uninstall, includes, TAGS,
|
||||
# clean, cleanconfig, realclean, stage1, stage2, stage3, stage4.
|
||||
|
||||
# Variables that exist for you to override.
|
||||
# See below for how to change them for certain systems.
|
||||
|
||||
srcdir = .
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
prefix = /usr/local
|
||||
prefix = @prefix@
|
||||
|
||||
program_transform_name =
|
||||
exec_prefix = $(prefix)
|
||||
program_transform_name = @program_transform_name@
|
||||
exec_prefix = @exec_prefix@
|
||||
bindir = $(exec_prefix)/bin
|
||||
libdir = $(exec_prefix)/lib
|
||||
|
||||
@ -50,9 +50,9 @@ docdir = $(datadir)/doc
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
INSTALL = install -c
|
||||
INSTALL_PROGRAM = $(INSTALL)
|
||||
INSTALL_DATA = $(INSTALL)
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_XFORM1 = $(INSTALL) -b $(program_transform_name) .1
|
||||
|
||||
AR = ar
|
||||
@ -68,7 +68,6 @@ CONFIG=all
|
||||
# Where to find texinfo.tex to format docn with TeX
|
||||
TEXIDIR = $(srcdir)/../../texinfo
|
||||
|
||||
#### host, target, and site specific Makefile frags come in here.
|
||||
##
|
||||
|
||||
all:
|
||||
@ -116,6 +115,14 @@ as.dvi: $(srcdir)/as.texinfo asconfig.texi
|
||||
gasp.dvi: $(srcdir)/gasp.texi
|
||||
$(TEXI2DVI) $(srcdir)/gasp.texi
|
||||
|
||||
# This one isn't ready for prime time yet. Not even a little bit.
|
||||
internals.dvi: $(srcdir)/internals.texi
|
||||
$(TEXI2DVI) $(srcdir)/internals.texi
|
||||
internals.ps: internals.dvi
|
||||
dvips internals.dvi -o internals.ps
|
||||
internals.ps4: internals.ps
|
||||
psnup -4 < internals.ps > internals.ps4
|
||||
|
||||
# ROFF doc targets as.ms, as.mm, as.me
|
||||
# (we don't use a variable because we don't trust all makes to handle
|
||||
# a var in the target name right).
|
||||
@ -147,10 +154,10 @@ as.me: $(srcdir)/as.texinfo asconfig.texi
|
||||
$(srcdir)/as.texinfo | \
|
||||
texi2roff -me >as.me
|
||||
|
||||
clean: clean-dvi clean-info
|
||||
clean mostlyclean: clean-dvi clean-info
|
||||
rm -f asconfig.texi
|
||||
|
||||
distclean:
|
||||
distclean realclean:
|
||||
rm -f Makefile config.status asconfig.texi \
|
||||
as.?? as.??s as.aux as.log as.toc \
|
||||
gasp.?? gasp.??s gasp.aux gasp.log gasp.toc
|
||||
@ -164,4 +171,4 @@ clean-info:
|
||||
force:
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag)
|
||||
$(SHELL) ./config.status
|
||||
(cd .. ; $(SHELL) ./config.status)
|
||||
|
@ -16,7 +16,7 @@
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GAS; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
# the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
#
|
||||
|
||||
# This file was written, and is maintained by K. Richard Pixley
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GASP; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
|
||||
|
37
gas/read.c
37
gas/read.c
@ -16,7 +16,7 @@ GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#if 0
|
||||
#define MASK_CHAR (0xFF) /* If your chars aren't 8 bits, you will
|
||||
@ -378,6 +378,10 @@ read_a_source_file (name)
|
||||
*/
|
||||
if (is_end_of_line[(unsigned char) input_line_pointer[-1]])
|
||||
{
|
||||
#ifdef md_start_line_hook
|
||||
md_start_line_hook ();
|
||||
#endif
|
||||
|
||||
if (input_line_pointer[-1] == '\n')
|
||||
bump_line_counters ();
|
||||
|
||||
@ -714,6 +718,11 @@ read_a_source_file (name)
|
||||
input_line_pointer--; /* Report unknown char as ignored. */
|
||||
ignore_rest_of_line ();
|
||||
} /* while (input_line_pointer<buffer_limit) */
|
||||
|
||||
#ifdef md_after_pass_hook
|
||||
md_after_pass_hook ();
|
||||
#endif
|
||||
|
||||
if (old_buffer)
|
||||
{
|
||||
bump_line_counters ();
|
||||
@ -1126,14 +1135,16 @@ s_lcomm (needs_align)
|
||||
}
|
||||
|
||||
#if defined (TC_MIPS) || defined (TC_ALPHA)
|
||||
#if defined (OBJ_ECOFF) || defined (OBJ_ELF)
|
||||
/* For MIPS and Alpha ECOFF or ELF, small objects are put in .sbss. */
|
||||
if (temp <= bfd_get_gp_size (stdoutput))
|
||||
if (OUTPUT_FLAVOR == bfd_target_ecoff_flavour
|
||||
|| OUTPUT_FLAVOR == bfd_target_elf_flavour)
|
||||
{
|
||||
bss_seg = subseg_new (".sbss", 1);
|
||||
seg_info (bss_seg)->bss = 1;
|
||||
/* For MIPS and Alpha ECOFF or ELF, small objects are put in .sbss. */
|
||||
if (temp <= bfd_get_gp_size (stdoutput))
|
||||
{
|
||||
bss_seg = subseg_new (".sbss", 1);
|
||||
seg_info (bss_seg)->bss = 1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
if (!needs_align)
|
||||
{
|
||||
@ -1425,6 +1436,10 @@ s_space (mult)
|
||||
long temp_fill;
|
||||
char *p = 0;
|
||||
|
||||
#ifdef md_flush_pending_output
|
||||
md_flush_pending_output ();
|
||||
#endif
|
||||
|
||||
/* Just like .fill, but temp_size = 1 */
|
||||
expression (&exp);
|
||||
if (exp.X_op == O_constant)
|
||||
@ -1676,6 +1691,10 @@ cons (nbytes)
|
||||
{
|
||||
expressionS exp;
|
||||
|
||||
#ifdef md_flush_pending_output
|
||||
md_flush_pending_output ();
|
||||
#endif
|
||||
|
||||
if (is_it_end_of_statement ())
|
||||
{
|
||||
demand_empty_rest_of_line ();
|
||||
@ -2265,6 +2284,10 @@ stringer (append_zero) /* Worker to do .ascii etc statements. */
|
||||
{
|
||||
register unsigned int c;
|
||||
|
||||
#ifdef md_flush_pending_output
|
||||
md_flush_pending_output ();
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The following awkward logic is to parse ZERO or more strings,
|
||||
* comma seperated. Recall a string expression includes spaces
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
#You should have received a copy of the GNU General Public License
|
||||
#along with GNU CC; see the file COPYING. If not, write to
|
||||
#the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
srcdir = .
|
||||
prefix = /usr/local
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* This thing should be set up to do byteordering correctly. But... */
|
||||
|
||||
@ -1572,7 +1572,7 @@ write_object_file ()
|
||||
name = S_GET_NAME (symp);
|
||||
if (name)
|
||||
{
|
||||
const char *name2 = decode_local_label_name (S_GET_NAME (symp));
|
||||
const char *name2 = decode_local_label_name ((char *)S_GET_NAME (symp));
|
||||
/* They only differ if `name' is a fb or dollar local
|
||||
label name. */
|
||||
if (name2 != name && ! S_IS_DEFINED (symp))
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
NAME
|
||||
|
Loading…
Reference in New Issue
Block a user