mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-03-03 05:25:24 +08:00
This commit was manufactured by cvs2svn to create branch 'gdb_5_2-branch'.
Sprout from binutils-2_12-branch 2002-02-09 22:54:17 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'binutils-' Cherrypick from master 2002-03-01 00:52:59 UTC Alexandre Oliva <aoliva@redhat.com> '* configure.in (libstdcxx_flags): Don't add libstdc++-v3 flags for': ChangeLog Makefile.in config.guess config.sub configure.in etc/ChangeLog etc/fdl.texi etc/make-stds.texi etc/standards.texi include/ChangeLog include/bfdlink.h include/elf/ChangeLog include/elf/m68k.h include/elf/ppc.h include/opcode/ChangeLog include/opcode/i386.h include/opcode/ppc.h include/splay-tree.h texinfo/texinfo.tex Cherrypick from master 2002-03-11 00:01:11 UTC Daniel Jacobowitz <drow@false.org> 'gdb/:': include/gdb/ChangeLog include/gdb/signals.h
This commit is contained in:
parent
34124a0718
commit
24d0ef8fa9
20
ChangeLog
20
ChangeLog
@ -1,3 +1,23 @@
|
||||
2002-02-28 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* configure.in (libstdcxx_flags): Don't add libstdc++-v3 flags for
|
||||
libjava.
|
||||
(CXX_FOR_TARGET): Add -shared-libgcc for libstdc++-v3 and libjava.
|
||||
|
||||
2002-02-24 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* texinfo/texinfo.tex: Update to version 2002-02-14.08.
|
||||
|
||||
2002-02-23 Daniel Jacobowitz <drow@mvista.com>
|
||||
|
||||
* config.guess: Import from master sources, rev 1.232.
|
||||
* config.sub: Import from master sources, rev 1.246.
|
||||
|
||||
2002-02-23 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* Makefile.in (MAKEINFO): Don't assume makeinfo will be built just
|
||||
because its Makefile is there; test for the executable instead.
|
||||
|
||||
2002-02-09 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
Contribute sh64-elf.
|
||||
|
@ -143,7 +143,7 @@ M4 = `if [ -f $$r/m4/m4 ] ; \
|
||||
|
||||
# For an installed makeinfo, we require it to be from texinfo 4 or
|
||||
# higher, else we use the "missing" dummy.
|
||||
MAKEINFO = `if [ -f $$r/texinfo/makeinfo/Makefile ] ; \
|
||||
MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \
|
||||
then echo $$r/texinfo/makeinfo/makeinfo ; \
|
||||
else if (makeinfo --version \
|
||||
| egrep 'texinfo[^0-9]*([1-3][0-9]|[4-9])') >/dev/null 2>&1; \
|
||||
|
17
config.guess
vendored
17
config.guess
vendored
@ -3,7 +3,7 @@
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2002-01-30'
|
||||
timestamp='2002-02-19'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
@ -340,7 +340,7 @@ EOF
|
||||
echo m68k-sun-sunos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun*:*:4.2BSD:*)
|
||||
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
|
||||
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
|
||||
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
|
||||
case "`/bin/arch`" in
|
||||
sun3)
|
||||
@ -509,7 +509,7 @@ EOF
|
||||
fi
|
||||
exit 0 ;;
|
||||
*:AIX:*:[45])
|
||||
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
|
||||
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
|
||||
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
|
||||
IBM_ARCH=rs6000
|
||||
else
|
||||
@ -683,9 +683,6 @@ EOF
|
||||
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||
echo c4-convex-bsd
|
||||
exit 0 ;;
|
||||
CRAY*X-MP:*:*:*)
|
||||
echo xmp-cray-unicos
|
||||
exit 0 ;;
|
||||
CRAY*Y-MP:*:*:*)
|
||||
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||
exit 0 ;;
|
||||
@ -707,9 +704,6 @@ EOF
|
||||
CRAY*SV1:*:*:*)
|
||||
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||
exit 0 ;;
|
||||
CRAY-2:*:*:*)
|
||||
echo cray2-cray-unicos
|
||||
exit 0 ;;
|
||||
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
||||
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
@ -837,9 +831,8 @@ EOF
|
||||
# The BFD linker knows what the default object file format is, so
|
||||
# first see if it will tell us. cd to the root directory to prevent
|
||||
# problems with other programs or directories called `ld' in the path.
|
||||
# Export LANG=C to prevent ld from outputting information in other
|
||||
# languages.
|
||||
ld_supported_targets=`LANG=C; export LANG; cd /; ld --help 2>&1 \
|
||||
# Set LC_ALL=C to ensure ld outputs messages in English.
|
||||
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
|
||||
| sed -ne '/supported targets:/!d
|
||||
s/[ ][ ]*/ /g
|
||||
s/.*supported targets: *//
|
||||
|
73
config.sub
vendored
73
config.sub
vendored
@ -3,7 +3,7 @@
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2002-02-01'
|
||||
timestamp='2002-02-22'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
@ -118,7 +118,7 @@ esac
|
||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*)
|
||||
nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
|
||||
os=-$maybe_os
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
;;
|
||||
@ -235,7 +235,7 @@ case $basic_machine in
|
||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| m32r | m68000 | m68k | m88k | mcore \
|
||||
| mips16 | mips64 | mips64el | mips64orion | mips64orionel \
|
||||
| mips | mips16 | mips64 | mips64el | mips64orion | mips64orionel \
|
||||
| mips64vr4100 | mips64vr4100el | mips64vr4300 \
|
||||
| mips64vr4300el | mips64vr5000 | mips64vr5000el \
|
||||
| mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \
|
||||
@ -285,7 +285,7 @@ case $basic_machine in
|
||||
| avr-* \
|
||||
| bs2000-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c54x-* \
|
||||
| clipper-* | cray2-* | cydra-* \
|
||||
| clipper-* | cydra-* \
|
||||
| d10v-* | d30v-* \
|
||||
| elxsi-* \
|
||||
| f30[01]-* | f700-* | fr30-* | fx80-* \
|
||||
@ -293,7 +293,7 @@ case $basic_machine in
|
||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
| m32r-* \
|
||||
| m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
| m88110-* | m88k-* | mcore-* \
|
||||
| mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \
|
||||
| mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \
|
||||
@ -307,11 +307,11 @@ case $basic_machine in
|
||||
| romp-* | rs6000-* \
|
||||
| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* | sh64-* \
|
||||
| sparc-* | sparc64-* | sparc86x-* | sparclite-* \
|
||||
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
|
||||
| t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
|
||||
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
|
||||
| tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
|
||||
| v850-* | v850e-* | vax-* \
|
||||
| we32k-* \
|
||||
| x86-* | x86_64-* | xmp-* | xps100-* | xscale-* | xstormy16-* \
|
||||
| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
|
||||
| xtensa-* \
|
||||
| ymp-* \
|
||||
| z8k-*)
|
||||
@ -377,6 +377,10 @@ case $basic_machine in
|
||||
basic_machine=ns32k-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
c90)
|
||||
basic_machine=c90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
convex-c1)
|
||||
basic_machine=c1-convex
|
||||
os=-bsd
|
||||
@ -397,16 +401,8 @@ case $basic_machine in
|
||||
basic_machine=c38-convex
|
||||
os=-bsd
|
||||
;;
|
||||
cray | ymp)
|
||||
basic_machine=ymp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
cray2)
|
||||
basic_machine=cray2-cray
|
||||
os=-unicos
|
||||
;;
|
||||
[cjt]90)
|
||||
basic_machine=${basic_machine}-cray
|
||||
cray | j90)
|
||||
basic_machine=j90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
crds | unos)
|
||||
@ -609,14 +605,6 @@ case $basic_machine in
|
||||
basic_machine=m68k-atari
|
||||
os=-mint
|
||||
;;
|
||||
mipsel*-linux*)
|
||||
basic_machine=mipsel-unknown
|
||||
os=-linux-gnu
|
||||
;;
|
||||
mips*-linux*)
|
||||
basic_machine=mips-unknown
|
||||
os=-linux-gnu
|
||||
;;
|
||||
mips3*-*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
|
||||
;;
|
||||
@ -878,7 +866,7 @@ case $basic_machine in
|
||||
sun386 | sun386i | roadrunner)
|
||||
basic_machine=i386-sun
|
||||
;;
|
||||
sv1)
|
||||
sv1)
|
||||
basic_machine=sv1-cray
|
||||
os=-unicos
|
||||
;;
|
||||
@ -886,8 +874,16 @@ case $basic_machine in
|
||||
basic_machine=i386-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
t3d)
|
||||
basic_machine=alpha-cray
|
||||
os=-unicos
|
||||
;;
|
||||
t3e)
|
||||
basic_machine=t3e-cray
|
||||
basic_machine=alphaev5-cray
|
||||
os=-unicos
|
||||
;;
|
||||
t90)
|
||||
basic_machine=t90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
tic54x | c54x*)
|
||||
@ -954,13 +950,13 @@ case $basic_machine in
|
||||
basic_machine=i386-pc
|
||||
os=-windows32-msvcrt
|
||||
;;
|
||||
xmp)
|
||||
basic_machine=xmp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
xps | xps100)
|
||||
basic_machine=xps100-honeywell
|
||||
;;
|
||||
ymp)
|
||||
basic_machine=ymp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
z8k-*-coff)
|
||||
basic_machine=z8k-unknown
|
||||
os=-sim
|
||||
@ -981,13 +977,6 @@ case $basic_machine in
|
||||
op60c)
|
||||
basic_machine=hppa1.1-oki
|
||||
;;
|
||||
mips)
|
||||
if [ x$os = x-linux-gnu ]; then
|
||||
basic_machine=mips-unknown
|
||||
else
|
||||
basic_machine=mips-mips
|
||||
fi
|
||||
;;
|
||||
romp)
|
||||
basic_machine=romp-ibm
|
||||
;;
|
||||
@ -1100,7 +1089,8 @@ case $os in
|
||||
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
|
||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* | -morphos*)
|
||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-qnx*)
|
||||
@ -1161,6 +1151,9 @@ case $os in
|
||||
-ctix* | -uts*)
|
||||
os=-sysv
|
||||
;;
|
||||
-nova*)
|
||||
os=-rtmk-nova
|
||||
;;
|
||||
-ns2 )
|
||||
os=-nextstep2
|
||||
;;
|
||||
|
17
configure.in
17
configure.in
@ -47,15 +47,9 @@ if [ "${enable_gdbgui}" = "yes" ] ; then
|
||||
host_libs="${host_libs} libgui"
|
||||
fi
|
||||
|
||||
# Set up configure/Makefile variables if libstdc++-v3 is to be built.
|
||||
if [ "${enable_libstdcxx_v3}" = "yes" ] && test -d $srcdir/libstdc++-v3; then
|
||||
libstdcxx_version="target-libstdc++-v3"
|
||||
# Don't use libstdc++-v3's flags to configure/build itself.
|
||||
libstdcxx_flags='`case $$dir in libstdc++-v3) ;; *) cat $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/libstdc++.INC 2>/dev/null || : ;; esac` -L$$r/$(TARGET_SUBDIR)/libstd++-v3/src -L$$r/$(TARGET_SUBDIR)/libstd++-v3/src/.libs'
|
||||
else
|
||||
libstdcxx_version="target-libio target-libstdc++"
|
||||
libstdcxx_flags='-isystem $$s/libstdc++ -isystem $$s/libstdc++/std -isystem $$s/libstdc++/stl -isystem $$s/libio/ -isystem $$s/libio/stdio -L$$r/$(TARGET_SUBDIR)/libstdc++'
|
||||
fi
|
||||
libstdcxx_version="target-libstdc++-v3"
|
||||
# Don't use libstdc++-v3's flags to configure/build itself.
|
||||
libstdcxx_flags='`case $$dir in libstdc++-v3 | libjava) ;; *) test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes;; esac` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
|
||||
|
||||
# these tools are built for the host environment
|
||||
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
|
||||
@ -1443,7 +1437,10 @@ esac
|
||||
if test "x${CXX_FOR_TARGET+set}" = xset; then
|
||||
:
|
||||
elif test -d ${topsrcdir}/gcc; then
|
||||
CXX_FOR_TARGET='$$r/gcc/`case $$dir in libstdc++-v3) echo xgcc ;; *) echo g++ ;; esac` -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
|
||||
# We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
|
||||
# of g++ for linking C++ or Java, because g++ has -shared-libgcc by
|
||||
# default whereas gcc does not.
|
||||
CXX_FOR_TARGET='$$r/gcc/`case $$dir in libstdc++-v3 | libjava) echo xgcc -shared-libgcc ;; *) echo g++ ;; esac` -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
|
||||
elif test "$host" = "$target"; then
|
||||
CXX_FOR_TARGET='$(CXX)'
|
||||
else
|
||||
|
@ -1,3 +1,12 @@
|
||||
2002-02-27 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* fdl.texi: New file.
|
||||
|
||||
2002-02-24 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* standards.texi: Import February 14, 2002 version.
|
||||
* make-stds.texi: Import 2001 version.
|
||||
|
||||
2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
|
||||
|
||||
* Makefile.in (install): Depend on install-info.
|
||||
|
368
etc/fdl.texi
Normal file
368
etc/fdl.texi
Normal file
@ -0,0 +1,368 @@
|
||||
@c -*-texinfo-*-
|
||||
@node GNU Free Documentation License, , , Copying This Manual
|
||||
|
||||
@appendix GNU Free Documentation License
|
||||
@center Version 1.1, March 2000
|
||||
|
||||
@display
|
||||
Copyright (C) 2000 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.
|
||||
@end display
|
||||
@sp 1
|
||||
@enumerate 0
|
||||
@item
|
||||
PREAMBLE
|
||||
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
written document ``free'' in the sense of freedom: to assure everyone
|
||||
the effective freedom to copy and redistribute it, with or without
|
||||
modifying it, either commercially or noncommercially. Secondarily,
|
||||
this License preserves for the author and publisher a way to get
|
||||
credit for their work, while not being considered responsible for
|
||||
modifications made by others.
|
||||
|
||||
This License is a kind of ``copyleft'', which means that derivative
|
||||
works of the document must themselves be free in the same sense. It
|
||||
complements the GNU General Public License, which is a copyleft
|
||||
license designed for free software.
|
||||
|
||||
We have designed this License in order to use it for manuals for free
|
||||
software, because free software needs free documentation: a free
|
||||
program should come with manuals providing the same freedoms that the
|
||||
software does. But this License is not limited to software manuals;
|
||||
it can be used for any textual work, regardless of subject matter or
|
||||
whether it is published as a printed book. We recommend this License
|
||||
principally for works whose purpose is instruction or reference.
|
||||
|
||||
@sp 1
|
||||
@item
|
||||
APPLICABILITY AND DEFINITIONS
|
||||
|
||||
This License applies to any manual or other work that contains a
|
||||
notice placed by the copyright holder saying it can be distributed
|
||||
under the terms of this License. The ``Document'', below, refers to any
|
||||
such manual or work. Any member of the public is a licensee, and is
|
||||
addressed as ``you.''
|
||||
|
||||
A ``Modified Version'' of the Document means any work containing the
|
||||
Document or a portion of it, either copied verbatim, or with
|
||||
modifications and/or translated into another language.
|
||||
|
||||
A ``Secondary Section'' is a named appendix or a front-matter section of
|
||||
the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall subject
|
||||
(or to related matters) and contains nothing that could fall directly
|
||||
within that overall subject. (For example, if the Document is in part a
|
||||
textbook of mathematics, a Secondary Section may not explain any
|
||||
mathematics.) The relationship could be a matter of historical
|
||||
connection with the subject or with related matters, or of legal,
|
||||
commercial, philosophical, ethical or political position regarding
|
||||
them.
|
||||
|
||||
The ``Invariant Sections'' are certain Secondary Sections whose titles
|
||||
are designated, as being those of Invariant Sections, in the notice
|
||||
that says that the Document is released under this License.
|
||||
|
||||
The ``Cover Texts'' are certain short passages of text that are listed,
|
||||
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||
the Document is released under this License.
|
||||
|
||||
A ``Transparent'' copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the
|
||||
general public, whose contents can be viewed and edited directly and
|
||||
straightforwardly with generic text editors or (for images composed of
|
||||
pixels) generic paint programs or (for drawings) some widely available
|
||||
drawing editor, and that is suitable for input to text formatters or
|
||||
for automatic translation to a variety of formats suitable for input
|
||||
to text formatters. A copy made in an otherwise Transparent file
|
||||
format whose markup has been designed to thwart or discourage
|
||||
subsequent modification by readers is not Transparent. A copy that is
|
||||
not ``Transparent'' is called ``Opaque.''
|
||||
|
||||
Examples of suitable formats for Transparent copies include plain
|
||||
ASCII without markup, Texinfo input format, LaTeX input format, SGML
|
||||
or XML using a publicly available DTD, and standard-conforming simple
|
||||
HTML designed for human modification. Opaque formats include
|
||||
PostScript, PDF, proprietary formats that can be read and edited only
|
||||
by proprietary word processors, SGML or XML for which the DTD and/or
|
||||
processing tools are not generally available, and the
|
||||
machine-generated HTML produced by some word processors for output
|
||||
purposes only.
|
||||
|
||||
The ``Title Page'' means, for a printed book, the title page itself,
|
||||
plus such following pages as are needed to hold, legibly, the material
|
||||
this License requires to appear in the title page. For works in
|
||||
formats which do not have any title page as such, ``Title Page'' means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
@sp 1
|
||||
@item
|
||||
VERBATIM COPYING
|
||||
|
||||
You may copy and distribute the Document in any medium, either
|
||||
commercially or noncommercially, provided that this License, the
|
||||
copyright notices, and the license notice saying this License applies
|
||||
to the Document are reproduced in all copies, and that you add no other
|
||||
conditions whatsoever to those of this License. You may not use
|
||||
technical measures to obstruct or control the reading or further
|
||||
copying of the copies you make or distribute. However, you may accept
|
||||
compensation in exchange for copies. If you distribute a large enough
|
||||
number of copies you must also follow the conditions in section 3.
|
||||
|
||||
You may also lend copies, under the same conditions stated above, and
|
||||
you may publicly display copies.
|
||||
@sp 1
|
||||
@item
|
||||
COPYING IN QUANTITY
|
||||
|
||||
If you publish printed copies of the Document numbering more than 100,
|
||||
and the Document's license notice requires Cover Texts, you must enclose
|
||||
the copies in covers that carry, clearly and legibly, all these Cover
|
||||
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||
the back cover. Both covers must also clearly and legibly identify
|
||||
you as the publisher of these copies. The front cover must present
|
||||
the full title with all words of the title equally prominent and
|
||||
visible. You may add other material on the covers in addition.
|
||||
Copying with changes limited to the covers, as long as they preserve
|
||||
the title of the Document and satisfy these conditions, can be treated
|
||||
as verbatim copying in other respects.
|
||||
|
||||
If the required texts for either cover are too voluminous to fit
|
||||
legibly, you should put the first ones listed (as many as fit
|
||||
reasonably) on the actual cover, and continue the rest onto adjacent
|
||||
pages.
|
||||
|
||||
If you publish or distribute Opaque copies of the Document numbering
|
||||
more than 100, you must either include a machine-readable Transparent
|
||||
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||
a publicly-accessible computer-network location containing a complete
|
||||
Transparent copy of the Document, free of added material, which the
|
||||
general network-using public has access to download anonymously at no
|
||||
charge using public-standard network protocols. If you use the latter
|
||||
option, you must take reasonably prudent steps, when you begin
|
||||
distribution of Opaque copies in quantity, to ensure that this
|
||||
Transparent copy will remain thus accessible at the stated location
|
||||
until at least one year after the last time you distribute an Opaque
|
||||
copy (directly or through your agents or retailers) of that edition to
|
||||
the public.
|
||||
|
||||
It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give
|
||||
them a chance to provide you with an updated version of the Document.
|
||||
@sp 1
|
||||
@item
|
||||
MODIFICATIONS
|
||||
|
||||
You may copy and distribute a Modified Version of the Document under
|
||||
the conditions of sections 2 and 3 above, provided that you release
|
||||
the Modified Version under precisely this License, with the Modified
|
||||
Version filling the role of the Document, thus licensing distribution
|
||||
and modification of the Modified Version to whoever possesses a copy
|
||||
of it. In addition, you must do these things in the Modified Version:
|
||||
|
||||
A. Use in the Title Page (and on the covers, if any) a title distinct
|
||||
from that of the Document, and from those of previous versions
|
||||
(which should, if there were any, be listed in the History section
|
||||
of the Document). You may use the same title as a previous version
|
||||
if the original publisher of that version gives permission.@*
|
||||
B. List on the Title Page, as authors, one or more persons or entities
|
||||
responsible for authorship of the modifications in the Modified
|
||||
Version, together with at least five of the principal authors of the
|
||||
Document (all of its principal authors, if it has less than five).@*
|
||||
C. State on the Title page the name of the publisher of the
|
||||
Modified Version, as the publisher.@*
|
||||
D. Preserve all the copyright notices of the Document.@*
|
||||
E. Add an appropriate copyright notice for your modifications
|
||||
adjacent to the other copyright notices.@*
|
||||
F. Include, immediately after the copyright notices, a license notice
|
||||
giving the public permission to use the Modified Version under the
|
||||
terms of this License, in the form shown in the Addendum below.@*
|
||||
G. Preserve in that license notice the full lists of Invariant Sections
|
||||
and required Cover Texts given in the Document's license notice.@*
|
||||
H. Include an unaltered copy of this License.@*
|
||||
I. Preserve the section entitled ``History'', and its title, and add to
|
||||
it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section entitled ``History'' in the Document, create one
|
||||
stating the title, year, authors, and publisher of the Document as
|
||||
given on its Title Page, then add an item describing the Modified
|
||||
Version as stated in the previous sentence.@*
|
||||
J. Preserve the network location, if any, given in the Document for
|
||||
public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the ``History'' section.
|
||||
You may omit a network location for a work that was published at
|
||||
least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.@*
|
||||
K. In any section entitled ``Acknowledgements'' or ``Dedications'',
|
||||
preserve the section's title, and preserve in the section all the
|
||||
substance and tone of each of the contributor acknowledgements
|
||||
and/or dedications given therein.@*
|
||||
L. Preserve all the Invariant Sections of the Document,
|
||||
unaltered in their text and in their titles. Section numbers
|
||||
or the equivalent are not considered part of the section titles.@*
|
||||
M. Delete any section entitled ``Endorsements.'' Such a section
|
||||
may not be included in the Modified Version.@*
|
||||
N. Do not retitle any existing section as ``Endorsements''
|
||||
or to conflict in title with any Invariant Section.@*
|
||||
@sp 1
|
||||
If the Modified Version includes new front-matter sections or
|
||||
appendices that qualify as Secondary Sections and contain no material
|
||||
copied from the Document, you may at your option designate some or all
|
||||
of these sections as invariant. To do this, add their titles to the
|
||||
list of Invariant Sections in the Modified Version's license notice.
|
||||
These titles must be distinct from any other section titles.
|
||||
|
||||
You may add a section entitled ``Endorsements'', provided it contains
|
||||
nothing but endorsements of your Modified Version by various
|
||||
parties--for example, statements of peer review or that the text has
|
||||
been approved by an organization as the authoritative definition of a
|
||||
standard.
|
||||
|
||||
You may add a passage of up to five words as a Front-Cover Text, and a
|
||||
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
||||
of Cover Texts in the Modified Version. Only one passage of
|
||||
Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||
through arrangements made by) any one entity. If the Document already
|
||||
includes a cover text for the same cover, previously added by you or
|
||||
by arrangement made by the same entity you are acting on behalf of,
|
||||
you may not add another; but you may replace the old one, on explicit
|
||||
permission from the previous publisher that added the old one.
|
||||
|
||||
The author(s) and publisher(s) of the Document do not by this License
|
||||
give permission to use their names for publicity for or to assert or
|
||||
imply endorsement of any Modified Version.
|
||||
@sp 1
|
||||
@item
|
||||
COMBINING DOCUMENTS
|
||||
|
||||
You may combine the Document with other documents released under this
|
||||
License, under the terms defined in section 4 above for modified
|
||||
versions, provided that you include in the combination all of the
|
||||
Invariant Sections of all of the original documents, unmodified, and
|
||||
list them all as Invariant Sections of your combined work in its
|
||||
license notice.
|
||||
|
||||
The combined work need only contain one copy of this License, and
|
||||
multiple identical Invariant Sections may be replaced with a single
|
||||
copy. If there are multiple Invariant Sections with the same name but
|
||||
different contents, make the title of each such section unique by
|
||||
adding at the end of it, in parentheses, the name of the original
|
||||
author or publisher of that section if known, or else a unique number.
|
||||
Make the same adjustment to the section titles in the list of
|
||||
Invariant Sections in the license notice of the combined work.
|
||||
|
||||
In the combination, you must combine any sections entitled ``History''
|
||||
in the various original documents, forming one section entitled
|
||||
``History''; likewise combine any sections entitled ``Acknowledgements'',
|
||||
and any sections entitled ``Dedications.'' You must delete all sections
|
||||
entitled ``Endorsements.''
|
||||
@sp 1
|
||||
@item
|
||||
COLLECTIONS OF DOCUMENTS
|
||||
|
||||
You may make a collection consisting of the Document and other documents
|
||||
released under this License, and replace the individual copies of this
|
||||
License in the various documents with a single copy that is included in
|
||||
the collection, provided that you follow the rules of this License for
|
||||
verbatim copying of each of the documents in all other respects.
|
||||
|
||||
You may extract a single document from such a collection, and distribute
|
||||
it individually under this License, provided you insert a copy of this
|
||||
License into the extracted document, and follow this License in all
|
||||
other respects regarding verbatim copying of that document.
|
||||
@sp 1
|
||||
@item
|
||||
AGGREGATION WITH INDEPENDENT WORKS
|
||||
|
||||
A compilation of the Document or its derivatives with other separate
|
||||
and independent documents or works, in or on a volume of a storage or
|
||||
distribution medium, does not as a whole count as a Modified Version
|
||||
of the Document, provided no compilation copyright is claimed for the
|
||||
compilation. Such a compilation is called an ``aggregate'', and this
|
||||
License does not apply to the other self-contained works thus compiled
|
||||
with the Document, on account of their being thus compiled, if they
|
||||
are not themselves derivative works of the Document.
|
||||
|
||||
If the Cover Text requirement of section 3 is applicable to these
|
||||
copies of the Document, then if the Document is less than one quarter
|
||||
of the entire aggregate, the Document's Cover Texts may be placed on
|
||||
covers that surround only the Document within the aggregate.
|
||||
Otherwise they must appear on covers around the whole aggregate.
|
||||
@sp 1
|
||||
@item
|
||||
TRANSLATION
|
||||
|
||||
Translation is considered a kind of modification, so you may
|
||||
distribute translations of the Document under the terms of section 4.
|
||||
Replacing Invariant Sections with translations requires special
|
||||
permission from their copyright holders, but you may include
|
||||
translations of some or all Invariant Sections in addition to the
|
||||
original versions of these Invariant Sections. You may include a
|
||||
translation of this License provided that you also include the
|
||||
original English version of this License. In case of a disagreement
|
||||
between the translation and the original English version of this
|
||||
License, the original English version will prevail.
|
||||
@sp 1
|
||||
@item
|
||||
TERMINATION
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document except
|
||||
as expressly provided for under this License. Any other attempt to
|
||||
copy, modify, sublicense or distribute the Document 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.
|
||||
@sp 1
|
||||
@item
|
||||
FUTURE REVISIONS OF THIS LICENSE
|
||||
|
||||
The Free Software Foundation may publish new, revised versions
|
||||
of the GNU Free Documentation 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. See
|
||||
http://www.gnu.org/copyleft/.
|
||||
|
||||
Each version of the License is given a distinguishing version number.
|
||||
If the Document specifies that a particular numbered version of this
|
||||
License ``or any later version'' applies to it, you have the option of
|
||||
following the terms and conditions either of that specified version or
|
||||
of any later version that has been published (not as a draft) by the
|
||||
Free Software Foundation. If the Document does not specify a version
|
||||
number of this License, you may choose any version ever published (not
|
||||
as a draft) by the Free Software Foundation.
|
||||
|
||||
@end enumerate
|
||||
|
||||
@unnumberedsec ADDENDUM: How to use this License for your documents
|
||||
|
||||
To use this License in a document you have written, include a copy of
|
||||
the License in the document and put the following copyright and
|
||||
license notices just after the title page:
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
Copyright (C) @var{year} @var{your name}.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1
|
||||
or any later version published by the Free Software Foundation;
|
||||
with the Invariant Sections being @var{list their titles}, with the
|
||||
Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}.
|
||||
A copy of the license is included in the section entitled "GNU
|
||||
Free Documentation License."
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
If you have no Invariant Sections, write ``with no Invariant Sections''
|
||||
instead of saying which ones are invariant. If you have no
|
||||
Front-Cover Texts, write ``no Front-Cover Texts'' instead of
|
||||
``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts.
|
||||
|
||||
If your document contains nontrivial examples of program code, we
|
||||
recommend releasing these examples in parallel under your choice of
|
||||
free software license, such as the GNU General Public License,
|
||||
to permit their use in free software.
|
@ -8,6 +8,17 @@
|
||||
@cindex conventions for makefiles
|
||||
@cindex standards for makefiles
|
||||
|
||||
@c Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001 Free
|
||||
@c Software Foundation, Inc.
|
||||
|
||||
@c Permission is granted to copy, distribute and/or modify this document
|
||||
@c under the terms of the GNU Free Documentation License, Version 1.1
|
||||
@c or any later version published by the Free Software Foundation;
|
||||
@c with no Invariant Sections, with no
|
||||
@c Front-Cover Texts, and with no Back-Cover Texts.
|
||||
@c A copy of the license is included in the section entitled ``GNU
|
||||
@c Free Documentation License''.
|
||||
|
||||
This
|
||||
@ifinfo
|
||||
node
|
||||
@ -21,13 +32,15 @@ chapter
|
||||
@end ifclear
|
||||
@end iftex
|
||||
describes conventions for writing the Makefiles for GNU programs.
|
||||
Using Automake will help you write a Makefile that follows these
|
||||
conventions.
|
||||
|
||||
@menu
|
||||
* Makefile Basics:: General Conventions for Makefiles
|
||||
* Utilities in Makefiles:: Utilities in Makefiles
|
||||
* Command Variables:: Variables for Specifying Commands
|
||||
* Directory Variables:: Variables for Installation Directories
|
||||
* Standard Targets:: Standard Targets for Users
|
||||
* Makefile Basics:: General Conventions for Makefiles
|
||||
* Utilities in Makefiles:: Utilities in Makefiles
|
||||
* Command Variables:: Variables for Specifying Commands
|
||||
* Directory Variables:: Variables for Installation Directories
|
||||
* Standard Targets:: Standard Targets for Users
|
||||
* Install Command Categories:: Three categories of commands in the `install'
|
||||
rule: normal, pre-install and post-install.
|
||||
@end menu
|
||||
@ -79,7 +92,7 @@ foo.1 : foo.man sedscript
|
||||
|
||||
@noindent
|
||||
will fail when the build directory is not the source directory, because
|
||||
@file{foo.man} and @file{sedscript} are in the the source directory.
|
||||
@file{foo.man} and @file{sedscript} are in the source directory.
|
||||
|
||||
When using GNU @code{make}, relying on @samp{VPATH} to find the source
|
||||
file will work in the case where there is a single dependency file,
|
||||
@ -138,7 +151,7 @@ installation should not use any utilities directly except these:
|
||||
|
||||
@c dd find
|
||||
@c gunzip gzip md5sum
|
||||
@c mkfifo mknod tee uname
|
||||
@c mkfifo mknod tee uname
|
||||
|
||||
@example
|
||||
cat cmp cp diff echo egrep expr false grep install-info
|
||||
@ -247,9 +260,10 @@ Every Makefile should define the variable @code{INSTALL}, which is the
|
||||
basic command for installing a file into the system.
|
||||
|
||||
Every Makefile should also define the variables @code{INSTALL_PROGRAM}
|
||||
and @code{INSTALL_DATA}. (The default for each of these should be
|
||||
@code{$(INSTALL)}.) Then it should use those variables as the commands
|
||||
for actual installation, for executables and nonexecutables
|
||||
and @code{INSTALL_DATA}. (The default for @code{INSTALL_PROGRAM} should
|
||||
be @code{$(INSTALL)}; the default for @code{INSTALL_DATA} should be
|
||||
@code{$@{INSTALL@} -m 644}.) Then it should use those variables as the
|
||||
commands for actual installation, for executables and nonexecutables
|
||||
respectively. Use these variables as follows:
|
||||
|
||||
@example
|
||||
@ -280,26 +294,28 @@ installed.
|
||||
Installation directories should always be named by variables, so it is
|
||||
easy to install in a nonstandard place. The standard names for these
|
||||
variables are described below. They are based on a standard filesystem
|
||||
layout; variants of it are used in SVR4, 4.4BSD, Linux, Ultrix v4, and
|
||||
other modern operating systems.
|
||||
layout; variants of it are used in SVR4, 4.4BSD, GNU/Linux, Ultrix v4,
|
||||
and other modern operating systems.
|
||||
|
||||
These two variables set the root for the installation. All the other
|
||||
installation directories should be subdirectories of one of these two,
|
||||
and nothing should be directly installed into these two directories.
|
||||
|
||||
@table @samp
|
||||
@table @code
|
||||
@item prefix
|
||||
@vindex prefix
|
||||
A prefix used in constructing the default values of the variables listed
|
||||
below. The default value of @code{prefix} should be @file{/usr/local}.
|
||||
When building the complete GNU system, the prefix will be empty and
|
||||
@file{/usr} will be a symbolic link to @file{/}.
|
||||
(If you are using Autoconf, write it as @samp{@@prefix@@}.)
|
||||
|
||||
Running @samp{make install} with a different value of @code{prefix}
|
||||
from the one used to build the program should @var{not} recompile
|
||||
the program.
|
||||
Running @samp{make install} with a different value of @code{prefix} from
|
||||
the one used to build the program should @emph{not} recompile the
|
||||
program.
|
||||
|
||||
@item exec_prefix
|
||||
@vindex exec_prefix
|
||||
A prefix used in constructing the default values of some of the
|
||||
variables listed below. The default value of @code{exec_prefix} should
|
||||
be @code{$(prefix)}.
|
||||
@ -310,20 +326,22 @@ machine-specific files (such as executables and subroutine libraries),
|
||||
while @code{$(prefix)} is used directly for other directories.
|
||||
|
||||
Running @samp{make install} with a different value of @code{exec_prefix}
|
||||
from the one used to build the program should @var{not} recompile the
|
||||
from the one used to build the program should @emph{not} recompile the
|
||||
program.
|
||||
@end table
|
||||
|
||||
Executable programs are installed in one of the following directories.
|
||||
|
||||
@table @samp
|
||||
@table @code
|
||||
@item bindir
|
||||
@vindex bindir
|
||||
The directory for installing executable programs that users can run.
|
||||
This should normally be @file{/usr/local/bin}, but write it as
|
||||
@file{$(exec_prefix)/bin}.
|
||||
(If you are using Autoconf, write it as @samp{@@bindir@@}.)
|
||||
|
||||
@item sbindir
|
||||
@vindex sbindir
|
||||
The directory for installing executable programs that can be run from
|
||||
the shell, but are only generally useful to system administrators. This
|
||||
should normally be @file{/usr/local/sbin}, but write it as
|
||||
@ -331,6 +349,7 @@ should normally be @file{/usr/local/sbin}, but write it as
|
||||
(If you are using Autoconf, write it as @samp{@@sbindir@@}.)
|
||||
|
||||
@item libexecdir
|
||||
@vindex libexecdir
|
||||
@comment This paragraph adjusted to avoid overfull hbox --roland 5jul94
|
||||
The directory for installing executable programs to be run by other
|
||||
programs rather than by users. This directory should normally be
|
||||
@ -623,7 +642,8 @@ the installation commands. @xref{Install Command Categories}.
|
||||
|
||||
@item install-strip
|
||||
Like @code{install}, but strip the executable files while installing
|
||||
them. In many cases, the definition of this target can be very simple:
|
||||
them. In simple cases, this target can use the @code{install} target in
|
||||
a simple way:
|
||||
|
||||
@smallexample
|
||||
install-strip:
|
||||
@ -631,6 +651,14 @@ install-strip:
|
||||
install
|
||||
@end smallexample
|
||||
|
||||
But if the package installs scripts as well as real executables, the
|
||||
@code{install-strip} target can't just refer to the @code{install}
|
||||
target; it has to strip the executables but not the scripts.
|
||||
|
||||
@code{install-strip} should not strip the executables in the build
|
||||
directory which are being copied for installation. It should only strip
|
||||
the copies that are installed.
|
||||
|
||||
Normally we do not recommend stripping an executable unless you are sure
|
||||
the program has no bugs. However, it can be reasonable to install a
|
||||
stripped executable for actual execution while saving the unstripped
|
||||
@ -745,7 +773,7 @@ The easiest way to do this is to create a subdirectory appropriately
|
||||
named, use @code{ln} or @code{cp} to install the proper files in it, and
|
||||
then @code{tar} that subdirectory.
|
||||
|
||||
Compress the tar file file with @code{gzip}. For example, the actual
|
||||
Compress the tar file with @code{gzip}. For example, the actual
|
||||
distribution file for GCC version 1.40 is called @file{gcc-1.40.tar.gz}.
|
||||
|
||||
The @code{dist} target should explicitly depend on all non-source files
|
||||
@ -793,6 +821,19 @@ installdirs: mkinstalldirs
|
||||
$(mandir)
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
or, if you wish to support @env{DESTDIR},
|
||||
|
||||
@smallexample
|
||||
# Make sure all installation directories (e.g. $(bindir))
|
||||
# actually exist by making them if necessary.
|
||||
installdirs: mkinstalldirs
|
||||
$(srcdir)/mkinstalldirs \
|
||||
$(DESTDIR)$(bindir) $(DESTDIR)$(datadir) \
|
||||
$(DESTDIR)$(libdir) $(DESTDIR)$(infodir) \
|
||||
$(DESTDIR)$(mandir)
|
||||
@end smallexample
|
||||
|
||||
This rule should not modify the directories where compilation is done.
|
||||
It should do nothing but create installation directories.
|
||||
@end table
|
||||
|
1159
etc/standards.texi
1159
etc/standards.texi
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,19 @@
|
||||
2002-02-21 Jim Blandy <jimb@redhat.com>
|
||||
|
||||
Allow the user to specify functions for allocating memory for
|
||||
splay tree roots and nodes.
|
||||
* splay-tree.h (splay_tree_allocate_fn, splay_tree_deallocate_fn):
|
||||
New types.
|
||||
(splay_tree): New fields: `allocate', `deallocate', and
|
||||
`allocate_data'.
|
||||
(splay_tree_new_with_allocator): New function declaration.
|
||||
|
||||
2002-02-15 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
Support arbitrary length fill patterns.
|
||||
* bfdlink.h (enum bfd_link_order_type): Remove bfd_fill_link_order.
|
||||
(struct bfd_link_order): Remove fill. Add data.size.
|
||||
|
||||
2002-02-08 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
Contribute sh64-elf.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* bfdlink.h -- header file for BFD link routines
|
||||
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
||||
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002
|
||||
Free Software Foundation, Inc.
|
||||
Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support.
|
||||
|
||||
@ -446,7 +446,6 @@ enum bfd_link_order_type
|
||||
{
|
||||
bfd_undefined_link_order, /* Undefined. */
|
||||
bfd_indirect_link_order, /* Built from a section. */
|
||||
bfd_fill_link_order, /* Fill with a 16 bit constant. */
|
||||
bfd_data_link_order, /* Set to explicit data. */
|
||||
bfd_section_reloc_link_order, /* Relocate against a section. */
|
||||
bfd_symbol_reloc_link_order /* Relocate against a symbol. */
|
||||
@ -480,13 +479,12 @@ struct bfd_link_order
|
||||
} indirect;
|
||||
struct
|
||||
{
|
||||
/* Value to fill with. */
|
||||
unsigned int value;
|
||||
} fill;
|
||||
struct
|
||||
{
|
||||
/* Data to put into file. The size field gives the number
|
||||
of bytes which this field points to. */
|
||||
/* Size of contents, or zero when contents size == size
|
||||
within output section.
|
||||
A non-zero value allows filling of the output section
|
||||
with an arbitrary repeated pattern. */
|
||||
unsigned int size;
|
||||
/* Data to put into file. */
|
||||
bfd_byte *contents;
|
||||
} data;
|
||||
struct
|
||||
|
@ -1,3 +1,11 @@
|
||||
2002-02-13 Matt Fredette <fredette@netbsd.org>
|
||||
|
||||
* m68k.h (EF_M68000): Define.
|
||||
|
||||
2002-02-12 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* ppc.h (DT_PPC64_OPD, DT_PPC64_OPDSZ): Define.
|
||||
|
||||
2002-02-09 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* alpha.h (R_ALPHA_BRSGP): New.
|
||||
|
@ -53,5 +53,6 @@ START_RELOC_NUMBERS (elf_m68k_reloc_type)
|
||||
END_RELOC_NUMBERS (R_68K_max)
|
||||
|
||||
#define EF_CPU32 0x00810000
|
||||
#define EF_M68000 0x01000000
|
||||
|
||||
#endif
|
||||
|
@ -174,6 +174,10 @@ END_RELOC_NUMBERS (R_PPC_max)
|
||||
/* Specify the start of the .glink section. */
|
||||
#define DT_PPC64_GLINK DT_LOPROC
|
||||
|
||||
/* Specify the start and size of the .opd section. */
|
||||
#define DT_PPC64_OPD (DT_LOPROC + 1)
|
||||
#define DT_PPC64_OPDSZ (DT_LOPROC + 2)
|
||||
|
||||
/* Processor specific flags for the ELF header e_flags field. */
|
||||
|
||||
#define EF_PPC_EMB 0x80000000 /* PowerPC embedded flag. */
|
||||
|
11
include/gdb/ChangeLog
Normal file
11
include/gdb/ChangeLog
Normal file
@ -0,0 +1,11 @@
|
||||
2002-03-10 Daniel Jacobowitz <drow@mvista.com>
|
||||
|
||||
* signals.h: New file, from gdb/defs.h.
|
||||
|
||||
|
||||
Local Variables:
|
||||
mode: change-log
|
||||
left-margin: 8
|
||||
fill-column: 74
|
||||
version-control: never
|
||||
End:
|
233
include/gdb/signals.h
Normal file
233
include/gdb/signals.h
Normal file
@ -0,0 +1,233 @@
|
||||
/* Target signal numbers for GDB and the GDB remote protocol.
|
||||
Copyright 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
|
||||
1997, 1998, 1999, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
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 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
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef GDB_SIGNALS_H
|
||||
#define GDB_SIGNALS_H
|
||||
|
||||
/* The numbering of these signals is chosen to match traditional unix
|
||||
signals (insofar as various unices use the same numbers, anyway).
|
||||
It is also the numbering of the GDB remote protocol. Other remote
|
||||
protocols, if they use a different numbering, should make sure to
|
||||
translate appropriately.
|
||||
|
||||
Since these numbers have actually made it out into other software
|
||||
(stubs, etc.), you mustn't disturb the assigned numbering. If you
|
||||
need to add new signals here, add them to the end of the explicitly
|
||||
numbered signals.
|
||||
|
||||
This is based strongly on Unix/POSIX signals for several reasons:
|
||||
(1) This set of signals represents a widely-accepted attempt to
|
||||
represent events of this sort in a portable fashion, (2) we want a
|
||||
signal to make it from wait to child_wait to the user intact, (3) many
|
||||
remote protocols use a similar encoding. However, it is
|
||||
recognized that this set of signals has limitations (such as not
|
||||
distinguishing between various kinds of SIGSEGV, or not
|
||||
distinguishing hitting a breakpoint from finishing a single step).
|
||||
So in the future we may get around this either by adding additional
|
||||
signals for breakpoint, single-step, etc., or by adding signal
|
||||
codes; the latter seems more in the spirit of what BSD, System V,
|
||||
etc. are doing to address these issues. */
|
||||
|
||||
/* For an explanation of what each signal means, see
|
||||
target_signal_to_string. */
|
||||
|
||||
enum target_signal
|
||||
{
|
||||
/* Used some places (e.g. stop_signal) to record the concept that
|
||||
there is no signal. */
|
||||
TARGET_SIGNAL_0 = 0,
|
||||
TARGET_SIGNAL_FIRST = 0,
|
||||
TARGET_SIGNAL_HUP = 1,
|
||||
TARGET_SIGNAL_INT = 2,
|
||||
TARGET_SIGNAL_QUIT = 3,
|
||||
TARGET_SIGNAL_ILL = 4,
|
||||
TARGET_SIGNAL_TRAP = 5,
|
||||
TARGET_SIGNAL_ABRT = 6,
|
||||
TARGET_SIGNAL_EMT = 7,
|
||||
TARGET_SIGNAL_FPE = 8,
|
||||
TARGET_SIGNAL_KILL = 9,
|
||||
TARGET_SIGNAL_BUS = 10,
|
||||
TARGET_SIGNAL_SEGV = 11,
|
||||
TARGET_SIGNAL_SYS = 12,
|
||||
TARGET_SIGNAL_PIPE = 13,
|
||||
TARGET_SIGNAL_ALRM = 14,
|
||||
TARGET_SIGNAL_TERM = 15,
|
||||
TARGET_SIGNAL_URG = 16,
|
||||
TARGET_SIGNAL_STOP = 17,
|
||||
TARGET_SIGNAL_TSTP = 18,
|
||||
TARGET_SIGNAL_CONT = 19,
|
||||
TARGET_SIGNAL_CHLD = 20,
|
||||
TARGET_SIGNAL_TTIN = 21,
|
||||
TARGET_SIGNAL_TTOU = 22,
|
||||
TARGET_SIGNAL_IO = 23,
|
||||
TARGET_SIGNAL_XCPU = 24,
|
||||
TARGET_SIGNAL_XFSZ = 25,
|
||||
TARGET_SIGNAL_VTALRM = 26,
|
||||
TARGET_SIGNAL_PROF = 27,
|
||||
TARGET_SIGNAL_WINCH = 28,
|
||||
TARGET_SIGNAL_LOST = 29,
|
||||
TARGET_SIGNAL_USR1 = 30,
|
||||
TARGET_SIGNAL_USR2 = 31,
|
||||
TARGET_SIGNAL_PWR = 32,
|
||||
/* Similar to SIGIO. Perhaps they should have the same number. */
|
||||
TARGET_SIGNAL_POLL = 33,
|
||||
TARGET_SIGNAL_WIND = 34,
|
||||
TARGET_SIGNAL_PHONE = 35,
|
||||
TARGET_SIGNAL_WAITING = 36,
|
||||
TARGET_SIGNAL_LWP = 37,
|
||||
TARGET_SIGNAL_DANGER = 38,
|
||||
TARGET_SIGNAL_GRANT = 39,
|
||||
TARGET_SIGNAL_RETRACT = 40,
|
||||
TARGET_SIGNAL_MSG = 41,
|
||||
TARGET_SIGNAL_SOUND = 42,
|
||||
TARGET_SIGNAL_SAK = 43,
|
||||
TARGET_SIGNAL_PRIO = 44,
|
||||
TARGET_SIGNAL_REALTIME_33 = 45,
|
||||
TARGET_SIGNAL_REALTIME_34 = 46,
|
||||
TARGET_SIGNAL_REALTIME_35 = 47,
|
||||
TARGET_SIGNAL_REALTIME_36 = 48,
|
||||
TARGET_SIGNAL_REALTIME_37 = 49,
|
||||
TARGET_SIGNAL_REALTIME_38 = 50,
|
||||
TARGET_SIGNAL_REALTIME_39 = 51,
|
||||
TARGET_SIGNAL_REALTIME_40 = 52,
|
||||
TARGET_SIGNAL_REALTIME_41 = 53,
|
||||
TARGET_SIGNAL_REALTIME_42 = 54,
|
||||
TARGET_SIGNAL_REALTIME_43 = 55,
|
||||
TARGET_SIGNAL_REALTIME_44 = 56,
|
||||
TARGET_SIGNAL_REALTIME_45 = 57,
|
||||
TARGET_SIGNAL_REALTIME_46 = 58,
|
||||
TARGET_SIGNAL_REALTIME_47 = 59,
|
||||
TARGET_SIGNAL_REALTIME_48 = 60,
|
||||
TARGET_SIGNAL_REALTIME_49 = 61,
|
||||
TARGET_SIGNAL_REALTIME_50 = 62,
|
||||
TARGET_SIGNAL_REALTIME_51 = 63,
|
||||
TARGET_SIGNAL_REALTIME_52 = 64,
|
||||
TARGET_SIGNAL_REALTIME_53 = 65,
|
||||
TARGET_SIGNAL_REALTIME_54 = 66,
|
||||
TARGET_SIGNAL_REALTIME_55 = 67,
|
||||
TARGET_SIGNAL_REALTIME_56 = 68,
|
||||
TARGET_SIGNAL_REALTIME_57 = 69,
|
||||
TARGET_SIGNAL_REALTIME_58 = 70,
|
||||
TARGET_SIGNAL_REALTIME_59 = 71,
|
||||
TARGET_SIGNAL_REALTIME_60 = 72,
|
||||
TARGET_SIGNAL_REALTIME_61 = 73,
|
||||
TARGET_SIGNAL_REALTIME_62 = 74,
|
||||
TARGET_SIGNAL_REALTIME_63 = 75,
|
||||
|
||||
/* Used internally by Solaris threads. See signal(5) on Solaris. */
|
||||
TARGET_SIGNAL_CANCEL = 76,
|
||||
|
||||
/* Yes, this pains me, too. But LynxOS didn't have SIG32, and now
|
||||
GNU/Linux does, and we can't disturb the numbering, since it's
|
||||
part of the remote protocol. Note that in some GDB's
|
||||
TARGET_SIGNAL_REALTIME_32 is number 76. */
|
||||
TARGET_SIGNAL_REALTIME_32,
|
||||
/* Yet another pain, IRIX 6 has SIG64. */
|
||||
TARGET_SIGNAL_REALTIME_64,
|
||||
/* Yet another pain, GNU/Linux MIPS might go up to 128. */
|
||||
TARGET_SIGNAL_REALTIME_65,
|
||||
TARGET_SIGNAL_REALTIME_66,
|
||||
TARGET_SIGNAL_REALTIME_67,
|
||||
TARGET_SIGNAL_REALTIME_68,
|
||||
TARGET_SIGNAL_REALTIME_69,
|
||||
TARGET_SIGNAL_REALTIME_70,
|
||||
TARGET_SIGNAL_REALTIME_71,
|
||||
TARGET_SIGNAL_REALTIME_72,
|
||||
TARGET_SIGNAL_REALTIME_73,
|
||||
TARGET_SIGNAL_REALTIME_74,
|
||||
TARGET_SIGNAL_REALTIME_75,
|
||||
TARGET_SIGNAL_REALTIME_76,
|
||||
TARGET_SIGNAL_REALTIME_77,
|
||||
TARGET_SIGNAL_REALTIME_78,
|
||||
TARGET_SIGNAL_REALTIME_79,
|
||||
TARGET_SIGNAL_REALTIME_80,
|
||||
TARGET_SIGNAL_REALTIME_81,
|
||||
TARGET_SIGNAL_REALTIME_82,
|
||||
TARGET_SIGNAL_REALTIME_83,
|
||||
TARGET_SIGNAL_REALTIME_84,
|
||||
TARGET_SIGNAL_REALTIME_85,
|
||||
TARGET_SIGNAL_REALTIME_86,
|
||||
TARGET_SIGNAL_REALTIME_87,
|
||||
TARGET_SIGNAL_REALTIME_88,
|
||||
TARGET_SIGNAL_REALTIME_89,
|
||||
TARGET_SIGNAL_REALTIME_90,
|
||||
TARGET_SIGNAL_REALTIME_91,
|
||||
TARGET_SIGNAL_REALTIME_92,
|
||||
TARGET_SIGNAL_REALTIME_93,
|
||||
TARGET_SIGNAL_REALTIME_94,
|
||||
TARGET_SIGNAL_REALTIME_95,
|
||||
TARGET_SIGNAL_REALTIME_96,
|
||||
TARGET_SIGNAL_REALTIME_97,
|
||||
TARGET_SIGNAL_REALTIME_98,
|
||||
TARGET_SIGNAL_REALTIME_99,
|
||||
TARGET_SIGNAL_REALTIME_100,
|
||||
TARGET_SIGNAL_REALTIME_101,
|
||||
TARGET_SIGNAL_REALTIME_102,
|
||||
TARGET_SIGNAL_REALTIME_103,
|
||||
TARGET_SIGNAL_REALTIME_104,
|
||||
TARGET_SIGNAL_REALTIME_105,
|
||||
TARGET_SIGNAL_REALTIME_106,
|
||||
TARGET_SIGNAL_REALTIME_107,
|
||||
TARGET_SIGNAL_REALTIME_108,
|
||||
TARGET_SIGNAL_REALTIME_109,
|
||||
TARGET_SIGNAL_REALTIME_110,
|
||||
TARGET_SIGNAL_REALTIME_111,
|
||||
TARGET_SIGNAL_REALTIME_112,
|
||||
TARGET_SIGNAL_REALTIME_113,
|
||||
TARGET_SIGNAL_REALTIME_114,
|
||||
TARGET_SIGNAL_REALTIME_115,
|
||||
TARGET_SIGNAL_REALTIME_116,
|
||||
TARGET_SIGNAL_REALTIME_117,
|
||||
TARGET_SIGNAL_REALTIME_118,
|
||||
TARGET_SIGNAL_REALTIME_119,
|
||||
TARGET_SIGNAL_REALTIME_120,
|
||||
TARGET_SIGNAL_REALTIME_121,
|
||||
TARGET_SIGNAL_REALTIME_122,
|
||||
TARGET_SIGNAL_REALTIME_123,
|
||||
TARGET_SIGNAL_REALTIME_124,
|
||||
TARGET_SIGNAL_REALTIME_125,
|
||||
TARGET_SIGNAL_REALTIME_126,
|
||||
TARGET_SIGNAL_REALTIME_127,
|
||||
|
||||
#if defined(MACH) || defined(__MACH__)
|
||||
/* Mach exceptions */
|
||||
TARGET_EXC_BAD_ACCESS,
|
||||
TARGET_EXC_BAD_INSTRUCTION,
|
||||
TARGET_EXC_ARITHMETIC,
|
||||
TARGET_EXC_EMULATION,
|
||||
TARGET_EXC_SOFTWARE,
|
||||
TARGET_EXC_BREAKPOINT,
|
||||
#endif
|
||||
TARGET_SIGNAL_INFO,
|
||||
|
||||
/* Some signal we don't know about. */
|
||||
TARGET_SIGNAL_UNKNOWN,
|
||||
|
||||
/* Use whatever signal we use when one is not specifically specified
|
||||
(for passing to proceed and so on). */
|
||||
TARGET_SIGNAL_DEFAULT,
|
||||
|
||||
/* Last and unused enum value, for sizing arrays, etc. */
|
||||
TARGET_SIGNAL_LAST
|
||||
};
|
||||
|
||||
#endif /* #ifndef GDB_SIGNALS_H */
|
@ -1,3 +1,22 @@
|
||||
2002-02-25 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* ppc.h (PPC_OPCODE_POWER4, PPC_OPCODE_NOPOWER4): Define.
|
||||
|
||||
Mon Feb 18 17:31:48 CET 2002 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* i386.h (push,pop): Fix Reg64 to WordReg to allow 16bit operands.
|
||||
|
||||
Mon Feb 11 12:53:19 CET 2002 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* i386.h (push,pop): Allow 16bit operands in 64bit mode.
|
||||
(xchg): Fix.
|
||||
(in, out): Disable 64bit operands.
|
||||
(call, jmp): Avoid REX prefixes.
|
||||
(jcxz): Prohibit in 64bit mode
|
||||
(jrcxz, loop): Add 64bit variants.
|
||||
(movq): Fix patterns.
|
||||
(movmskps, pextrw, pinstrw): Add 64bit variants.
|
||||
|
||||
2002-01-31 Ivan Guzvinec <ivang@opencores.org>
|
||||
|
||||
* or32.h: New file.
|
||||
|
@ -62,6 +62,7 @@ static const template i386_optab[] = {
|
||||
#define wl_Suf (No_bSuf|No_sSuf|No_xSuf|No_qSuf)
|
||||
#define wlq_Suf (No_bSuf|No_sSuf|No_xSuf)
|
||||
#define lq_Suf (No_bSuf|No_wSuf|No_sSuf|No_xSuf)
|
||||
#define wq_Suf (No_bSuf|No_lSuf|No_sSuf|No_xSuf)
|
||||
#define sl_Suf (No_bSuf|No_wSuf|No_xSuf|No_qSuf)
|
||||
#define sldx_Suf (No_bSuf|No_wSuf|No_qSuf)
|
||||
#define bwl_Suf (No_sSuf|No_xSuf|No_qSuf)
|
||||
@ -148,12 +149,12 @@ static const template i386_optab[] = {
|
||||
{"push", 1, 0x06, X, 0|CpuNo64, wl_Suf|Seg2ShortForm|DefaultSize, { SReg2, 0, 0 } },
|
||||
{"push", 1, 0x0fa0, X, Cpu386|CpuNo64, wl_Suf|Seg3ShortForm|DefaultSize, { SReg3, 0, 0 } },
|
||||
/* In 64bit mode, the operand size is implicitly 64bit. */
|
||||
{"push", 1, 0x50, X, Cpu64, q_Suf|ShortForm|DefaultSize|NoRex64, { Reg64, 0, 0 } },
|
||||
{"push", 1, 0xff, 6, Cpu64, q_Suf|Modrm|DefaultSize|NoRex64, { Reg64|WordMem, 0, 0 } },
|
||||
{"push", 1, 0x6a, X, Cpu186|Cpu64, q_Suf|DefaultSize|NoRex64, { Imm8S, 0, 0} },
|
||||
{"push", 1, 0x68, X, Cpu186|Cpu64, q_Suf|DefaultSize|NoRex64, { Imm32S, 0, 0} },
|
||||
{"push", 1, 0x06, X, Cpu64, q_Suf|Seg2ShortForm|DefaultSize|NoRex64, { SReg2, 0, 0 } },
|
||||
{"push", 1, 0x0fa0, X, Cpu386|Cpu64, q_Suf|Seg3ShortForm|DefaultSize|NoRex64, { SReg3, 0, 0 } },
|
||||
{"push", 1, 0x50, X, Cpu64, wq_Suf|ShortForm|DefaultSize|NoRex64, { WordReg, 0, 0 } },
|
||||
{"push", 1, 0xff, 6, Cpu64, wq_Suf|Modrm|DefaultSize|NoRex64, { WordReg|WordMem, 0, 0 } },
|
||||
{"push", 1, 0x6a, X, Cpu186|Cpu64, wq_Suf|DefaultSize|NoRex64, { Imm8S, 0, 0} },
|
||||
{"push", 1, 0x68, X, Cpu186|Cpu64, wq_Suf|DefaultSize|NoRex64, { Imm32S|Imm16, 0, 0} },
|
||||
{"push", 1, 0x06, X, Cpu64, wq_Suf|Seg2ShortForm|DefaultSize|NoRex64, { SReg2, 0, 0 } },
|
||||
{"push", 1, 0x0fa0, X, Cpu386|Cpu64, wq_Suf|Seg3ShortForm|DefaultSize|NoRex64, { SReg3, 0, 0 } },
|
||||
|
||||
{"pusha", 0, 0x60, X, Cpu186|CpuNo64, wl_Suf|DefaultSize, { 0, 0, 0 } },
|
||||
|
||||
@ -164,10 +165,10 @@ static const template i386_optab[] = {
|
||||
{"pop", 1, 0x07, X, CpuNo64, wl_Suf|Seg2ShortForm|DefaultSize, { SReg2, 0, 0 } },
|
||||
{"pop", 1, 0x0fa1, X, Cpu386|CpuNo64, wl_Suf|Seg3ShortForm|DefaultSize, { SReg3, 0, 0 } },
|
||||
/* In 64bit mode, the operand size is implicitly 64bit. */
|
||||
{"pop", 1, 0x58, X, Cpu64, q_Suf|ShortForm|DefaultSize|NoRex64, { Reg64, 0, 0 } },
|
||||
{"pop", 1, 0x8f, 0, Cpu64, q_Suf|Modrm|DefaultSize|NoRex64, { Reg64|WordMem, 0, 0 } },
|
||||
{"pop", 1, 0x07, X, Cpu64, q_Suf|Seg2ShortForm|DefaultSize|NoRex64, { SReg2, 0, 0 } },
|
||||
{"pop", 1, 0x0fa1, X, Cpu64, q_Suf|Seg3ShortForm|DefaultSize|NoRex64, { SReg3, 0, 0 } },
|
||||
{"pop", 1, 0x58, X, Cpu64, wq_Suf|ShortForm|DefaultSize|NoRex64, { WordReg, 0, 0 } },
|
||||
{"pop", 1, 0x8f, 0, Cpu64, wq_Suf|Modrm|DefaultSize|NoRex64, { WordReg|WordMem, 0, 0 } },
|
||||
{"pop", 1, 0x07, X, Cpu64, wq_Suf|Seg2ShortForm|DefaultSize|NoRex64, { SReg2, 0, 0 } },
|
||||
{"pop", 1, 0x0fa1, X, Cpu64, wq_Suf|Seg3ShortForm|DefaultSize|NoRex64, { SReg3, 0, 0 } },
|
||||
|
||||
{"popa", 0, 0x61, X, Cpu186|CpuNo64, wl_Suf|DefaultSize, { 0, 0, 0 } },
|
||||
|
||||
@ -176,20 +177,20 @@ static const template i386_optab[] = {
|
||||
|
||||
In the 64bit code, xchg eax, eax is reused for new nop instruction.
|
||||
*/
|
||||
{"xchg", 2, 0x90, X, CpuNo64, wl_Suf|ShortForm, { WordReg, Acc, 0 } },
|
||||
{"xchg", 2, 0x90, X, CpuNo64, wl_Suf|ShortForm, { Acc, WordReg, 0 } },
|
||||
{"xchg", 2, 0x90, X, 0, wlq_Suf|ShortForm, { WordReg, Acc, 0 } },
|
||||
{"xchg", 2, 0x90, X, 0, wlq_Suf|ShortForm, { Acc, WordReg, 0 } },
|
||||
{"xchg", 2, 0x86, X, 0, bwlq_Suf|W|Modrm, { Reg, Reg|AnyMem, 0 } },
|
||||
{"xchg", 2, 0x86, X, 0, bwlq_Suf|W|Modrm, { Reg|AnyMem, Reg, 0 } },
|
||||
|
||||
/* In/out from ports. */
|
||||
{"in", 2, 0xe4, X, 0, bwlq_Suf|W, { Imm8, Acc, 0 } },
|
||||
{"in", 2, 0xec, X, 0, bwlq_Suf|W, { InOutPortReg, Acc, 0 } },
|
||||
{"in", 1, 0xe4, X, 0, bwlq_Suf|W, { Imm8, 0, 0 } },
|
||||
{"in", 1, 0xec, X, 0, bwlq_Suf|W, { InOutPortReg, 0, 0 } },
|
||||
{"out", 2, 0xe6, X, 0, bwlq_Suf|W, { Acc, Imm8, 0 } },
|
||||
{"out", 2, 0xee, X, 0, bwlq_Suf|W, { Acc, InOutPortReg, 0 } },
|
||||
{"out", 1, 0xe6, X, 0, bwlq_Suf|W, { Imm8, 0, 0 } },
|
||||
{"out", 1, 0xee, X, 0, bwlq_Suf|W, { InOutPortReg, 0, 0 } },
|
||||
{"in", 2, 0xe4, X, 0, bwl_Suf|W, { Imm8, Acc, 0 } },
|
||||
{"in", 2, 0xec, X, 0, bwl_Suf|W, { InOutPortReg, Acc, 0 } },
|
||||
{"in", 1, 0xe4, X, 0, bwl_Suf|W, { Imm8, 0, 0 } },
|
||||
{"in", 1, 0xec, X, 0, bwl_Suf|W, { InOutPortReg, 0, 0 } },
|
||||
{"out", 2, 0xe6, X, 0, bwl_Suf|W, { Acc, Imm8, 0 } },
|
||||
{"out", 2, 0xee, X, 0, bwl_Suf|W, { Acc, InOutPortReg, 0 } },
|
||||
{"out", 1, 0xe6, X, 0, bwl_Suf|W, { Imm8, 0, 0 } },
|
||||
{"out", 1, 0xee, X, 0, bwl_Suf|W, { InOutPortReg, 0, 0 } },
|
||||
|
||||
/* Load effective address. */
|
||||
{"lea", 2, 0x8d, X, 0, wlq_Suf|Modrm, { WordMem, WordReg, 0 } },
|
||||
@ -210,9 +211,9 @@ static const template i386_optab[] = {
|
||||
{"lahf", 0, 0x9f, X, CpuNo64,NoSuf, { 0, 0, 0} },
|
||||
{"sahf", 0, 0x9e, X, CpuNo64,NoSuf, { 0, 0, 0} },
|
||||
{"pushf", 0, 0x9c, X, CpuNo64,wlq_Suf|DefaultSize, { 0, 0, 0} },
|
||||
{"pushf", 0, 0x9c, X, Cpu64, q_Suf|DefaultSize|NoRex64,{ 0, 0, 0} },
|
||||
{"pushf", 0, 0x9c, X, Cpu64, wq_Suf|DefaultSize|NoRex64,{ 0, 0, 0} },
|
||||
{"popf", 0, 0x9d, X, CpuNo64,wlq_Suf|DefaultSize, { 0, 0, 0} },
|
||||
{"popf", 0, 0x9d, X, Cpu64, q_Suf|DefaultSize|NoRex64,{ 0, 0, 0} },
|
||||
{"popf", 0, 0x9d, X, Cpu64, wq_Suf|DefaultSize|NoRex64,{ 0, 0, 0} },
|
||||
{"stc", 0, 0xf9, X, 0, NoSuf, { 0, 0, 0} },
|
||||
{"std", 0, 0xfd, X, 0, NoSuf, { 0, 0, 0} },
|
||||
{"sti", 0, 0xfb, X, 0, NoSuf, { 0, 0, 0} },
|
||||
@ -370,7 +371,8 @@ static const template i386_optab[] = {
|
||||
|
||||
/* Control transfer instructions. */
|
||||
{"call", 1, 0xe8, X, 0, wlq_Suf|JumpDword|DefaultSize, { Disp16|Disp32, 0, 0} },
|
||||
{"call", 1, 0xff, 2, 0, wlq_Suf|Modrm|DefaultSize, { WordReg|WordMem|JumpAbsolute, 0, 0} },
|
||||
{"call", 1, 0xff, 2, CpuNo64, wl_Suf|Modrm|DefaultSize, { WordReg|WordMem|JumpAbsolute, 0, 0} },
|
||||
{"call", 1, 0xff, 2, Cpu64, wq_Suf|Modrm|DefaultSize|NoRex64,{ WordReg|WordMem|JumpAbsolute, 0, 0} },
|
||||
/* Intel Syntax */
|
||||
{"call", 2, 0x9a, X, CpuNo64,wlq_Suf|JumpInterSegment|DefaultSize, { Imm16, Imm16|Imm32, 0} },
|
||||
/* Intel Syntax */
|
||||
@ -381,7 +383,8 @@ static const template i386_optab[] = {
|
||||
|
||||
#define JUMP_PC_RELATIVE 0xeb
|
||||
{"jmp", 1, 0xeb, X, 0, NoSuf|Jump, { Disp, 0, 0} },
|
||||
{"jmp", 1, 0xff, 4, 0, wlq_Suf|Modrm, { WordReg|WordMem|JumpAbsolute, 0, 0} },
|
||||
{"jmp", 1, 0xff, 4, CpuNo64, wl_Suf|Modrm, { WordReg|WordMem|JumpAbsolute, 0, 0} },
|
||||
{"jmp", 1, 0xff, 4, Cpu64, wq_Suf|Modrm|NoRex64, { WordReg|WordMem|JumpAbsolute, 0, 0} },
|
||||
/* Intel Syntax */
|
||||
{"jmp", 2, 0xea, X, CpuNo64,wl_Suf|JumpInterSegment, { Imm16, Imm16|Imm32, 0} },
|
||||
/* Intel Syntax */
|
||||
@ -432,18 +435,25 @@ static const template i386_optab[] = {
|
||||
{"jg", 1, 0x7f, X, 0, NoSuf|Jump, { Disp, 0, 0} },
|
||||
|
||||
/* jcxz vs. jecxz is chosen on the basis of the address size prefix. */
|
||||
{"jcxz", 1, 0xe3, X, 0, NoSuf|JumpByte|Size16, { Disp, 0, 0} },
|
||||
{"jecxz", 1, 0xe3, X, 0, NoSuf|JumpByte|Size32, { Disp, 0, 0} },
|
||||
{"jcxz", 1, 0xe3, X, CpuNo64,NoSuf|JumpByte|Size16, { Disp, 0, 0} },
|
||||
{"jecxz", 1, 0xe3, X, CpuNo64,NoSuf|JumpByte|Size32, { Disp, 0, 0} },
|
||||
{"jecxz", 1, 0x67e3, X, Cpu64,NoSuf|JumpByte|Size32, { Disp, 0, 0} },
|
||||
{"jrcxz", 1, 0xe3, X, Cpu64, NoSuf|JumpByte|Size64|NoRex64, { Disp, 0, 0} },
|
||||
|
||||
/* The loop instructions also use the address size prefix to select
|
||||
%cx rather than %ecx for the loop count, so the `w' form of these
|
||||
instructions emit an address size prefix rather than a data size
|
||||
prefix. */
|
||||
{"loop", 1, 0xe2, X, 0, wlq_Suf|JumpByte, { Disp, 0, 0} },
|
||||
{"loopz", 1, 0xe1, X, 0, wlq_Suf|JumpByte, { Disp, 0, 0} },
|
||||
{"loope", 1, 0xe1, X, 0, wlq_Suf|JumpByte, { Disp, 0, 0} },
|
||||
{"loopnz", 1, 0xe0, X, 0, wlq_Suf|JumpByte, { Disp, 0, 0} },
|
||||
{"loopne", 1, 0xe0, X, 0, wlq_Suf|JumpByte, { Disp, 0, 0} },
|
||||
{"loop", 1, 0xe2, X, CpuNo64,wl_Suf|JumpByte,{ Disp, 0, 0} },
|
||||
{"loop", 1, 0xe2, X, Cpu64, lq_Suf|JumpByte|NoRex64,{ Disp, 0, 0} },
|
||||
{"loopz", 1, 0xe1, X, CpuNo64,wl_Suf|JumpByte,{ Disp, 0, 0} },
|
||||
{"loopz", 1, 0xe1, X, Cpu64, lq_Suf|JumpByte|NoRex64,{ Disp, 0, 0} },
|
||||
{"loope", 1, 0xe1, X, CpuNo64,wl_Suf|JumpByte,{ Disp, 0, 0} },
|
||||
{"loope", 1, 0xe1, X, Cpu64, lq_Suf|JumpByte|NoRex64,{ Disp, 0, 0} },
|
||||
{"loopnz", 1, 0xe0, X, CpuNo64,wl_Suf|JumpByte,{ Disp, 0, 0} },
|
||||
{"loopnz", 1, 0xe0, X, Cpu64, lq_Suf|JumpByte|NoRex64,{ Disp, 0, 0} },
|
||||
{"loopne", 1, 0xe0, X, CpuNo64,wl_Suf|JumpByte,{ Disp, 0, 0} },
|
||||
{"loopne", 1, 0xe0, X, Cpu64, lq_Suf|JumpByte|NoRex64,{ Disp, 0, 0} },
|
||||
|
||||
/* Set byte on flag instructions. */
|
||||
{"seto", 1, 0x0f90, 0, Cpu386, b_Suf|Modrm, { Reg8|ByteMem, 0, 0} },
|
||||
@ -482,10 +492,10 @@ static const template i386_optab[] = {
|
||||
{"cmps", 2, 0xa6, X, 0, bwlq_Suf|W|IsString, { AnyMem|EsSeg, AnyMem, 0} },
|
||||
{"scmp", 0, 0xa6, X, 0, bwlq_Suf|W|IsString, { 0, 0, 0} },
|
||||
{"scmp", 2, 0xa6, X, 0, bwlq_Suf|W|IsString, { AnyMem|EsSeg, AnyMem, 0} },
|
||||
{"ins", 0, 0x6c, X, Cpu186, bwlq_Suf|W|IsString, { 0, 0, 0} },
|
||||
{"ins", 2, 0x6c, X, Cpu186, bwlq_Suf|W|IsString, { InOutPortReg, AnyMem|EsSeg, 0} },
|
||||
{"outs", 0, 0x6e, X, Cpu186, bwlq_Suf|W|IsString, { 0, 0, 0} },
|
||||
{"outs", 2, 0x6e, X, Cpu186, bwlq_Suf|W|IsString, { AnyMem, InOutPortReg, 0} },
|
||||
{"ins", 0, 0x6c, X, Cpu186, bwl_Suf|W|IsString, { 0, 0, 0} },
|
||||
{"ins", 2, 0x6c, X, Cpu186, bwl_Suf|W|IsString, { InOutPortReg, AnyMem|EsSeg, 0} },
|
||||
{"outs", 0, 0x6e, X, Cpu186, bwl_Suf|W|IsString, { 0, 0, 0} },
|
||||
{"outs", 2, 0x6e, X, Cpu186, bwl_Suf|W|IsString, { AnyMem, InOutPortReg, 0} },
|
||||
{"lods", 0, 0xac, X, 0, bwlq_Suf|W|IsString, { 0, 0, 0} },
|
||||
{"lods", 1, 0xac, X, 0, bwlq_Suf|W|IsString, { AnyMem, 0, 0} },
|
||||
{"lods", 2, 0xac, X, 0, bwlq_Suf|W|IsString, { AnyMem, Acc, 0} },
|
||||
@ -971,12 +981,16 @@ static const template i386_optab[] = {
|
||||
{"movd", 2, 0x660f6e,X,CpuSSE2,FP|Modrm, { Reg32|LLongMem, RegXMM, 0 } },
|
||||
{"movd", 2, 0x660f7e,X,CpuSSE2,FP|Modrm, { RegXMM, Reg32|LLongMem, 0 } },
|
||||
/* Real MMX instructions. */
|
||||
{"movd", 2, 0x0f6e, X, CpuMMX, FP|Modrm, { Reg64|LLongMem, RegMMX, 0 } },
|
||||
{"movd", 2, 0x0f7e, X, CpuMMX, FP|Modrm, { RegMMX, Reg64|LLongMem, 0 } },
|
||||
{"movd", 2, 0x660f6e,X,CpuSSE2,FP|Modrm, { Reg64|LLongMem, RegXMM, 0 } },
|
||||
{"movd", 2, 0x660f7e,X,CpuSSE2,FP|Modrm, { RegXMM, Reg64|LLongMem, 0 } },
|
||||
/* In the 64bit mode the short form mov immediate is redefined to have
|
||||
64bit displacement value. */
|
||||
{"movq", 2, 0x0f6f, X, CpuMMX, FP|Modrm, { RegMMX|LongMem, RegMMX, 0 } },
|
||||
{"movq", 2, 0x0f7f, X, CpuMMX, FP|Modrm, { RegMMX, RegMMX|LongMem, 0 } },
|
||||
{"movq", 2, 0xf30f7e,X,CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
|
||||
{"movq", 2, 0x660fd6,X,CpuSSE2,FP|Modrm, { RegXMM, RegXMM|LLongMem, 0 } },
|
||||
/* In the 64bit mode the short form mov immediate is redefined to have
|
||||
64bit displacement value. */
|
||||
{"movq", 2, 0x88, X, Cpu64, NoSuf|D|W|Modrm|Size64,{ Reg64, Reg64|AnyMem, 0 } },
|
||||
{"movq", 2, 0xc6, 0, Cpu64, NoSuf|W|Modrm|Size64, { Imm32S, Reg64|WordMem, 0 } },
|
||||
{"movq", 2, 0xb0, X, Cpu64, NoSuf|W|ShortForm|Size64,{ Imm64, Reg64, 0 } },
|
||||
@ -1140,7 +1154,7 @@ static const template i386_optab[] = {
|
||||
{"movlhps", 2, 0x0f16, X, CpuSSE, FP|Modrm, { RegXMM|InvMem, RegXMM, 0 } },
|
||||
{"movlps", 2, 0x0f12, X, CpuSSE, FP|Modrm, { LLongMem, RegXMM, 0 } },
|
||||
{"movlps", 2, 0x0f13, X, CpuSSE, FP|Modrm, { RegXMM, LLongMem, 0 } },
|
||||
{"movmskps", 2, 0x0f50, X, CpuSSE, FP|Modrm, { RegXMM|InvMem, Reg32, 0 } },
|
||||
{"movmskps", 2, 0x0f50, X, CpuSSE, lq_Suf|IgnoreSize|Modrm, { RegXMM|InvMem, Reg32|Reg64, 0 } },
|
||||
{"movntps", 2, 0x0f2b, X, CpuSSE, FP|Modrm, { RegXMM, LLongMem, 0 } },
|
||||
{"movntq", 2, 0x0fe7, X, CpuSSE, FP|Modrm, { RegMMX, LLongMem, 0 } },
|
||||
{"movntdq", 2, 0x660fe7, X, CpuSSE2,FP|Modrm, { RegXMM, LLongMem, 0 } },
|
||||
@ -1155,10 +1169,10 @@ static const template i386_optab[] = {
|
||||
{"pavgb", 2, 0x660fe0, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
|
||||
{"pavgw", 2, 0x0fe3, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } },
|
||||
{"pavgw", 2, 0x660fe3, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
|
||||
{"pextrw", 3, 0x0fc5, X, CpuSSE, FP|Modrm, { Imm8, RegMMX|InvMem, Reg32 } },
|
||||
{"pextrw", 3, 0x660fc5, X, CpuSSE2,FP|Modrm, { Imm8, RegXMM|InvMem, Reg32 } },
|
||||
{"pinsrw", 3, 0x0fc4, X, CpuSSE, FP|Modrm, { Imm8, Reg32|ShortMem, RegMMX } },
|
||||
{"pinsrw", 3, 0x660fc4, X, CpuSSE2, FP|Modrm, { Imm8, Reg32|ShortMem, RegXMM } },
|
||||
{"pextrw", 3, 0x0fc5, X, CpuSSE, lq_Suf|IgnoreSize|Modrm, { Imm8, RegMMX|InvMem, Reg32|Reg64 } },
|
||||
{"pextrw", 3, 0x660fc5, X, CpuSSE2,lq_Suf|IgnoreSize|Modrm, { Imm8, RegXMM|InvMem, Reg32|Reg64 } },
|
||||
{"pinsrw", 3, 0x0fc4, X, CpuSSE, lq_Suf|IgnoreSize|Modrm, { Imm8, Reg32|Reg64|ShortMem, RegMMX } },
|
||||
{"pinsrw", 3, 0x660fc4, X, CpuSSE2, lq_Suf|IgnoreSize|Modrm, { Imm8, Reg32|Reg64|ShortMem, RegXMM } },
|
||||
{"pmaxsw", 2, 0x0fee, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } },
|
||||
{"pmaxsw", 2, 0x660fee, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
|
||||
{"pmaxub", 2, 0x0fde, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } },
|
||||
@ -1167,8 +1181,8 @@ static const template i386_optab[] = {
|
||||
{"pminsw", 2, 0x660fea, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
|
||||
{"pminub", 2, 0x0fda, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } },
|
||||
{"pminub", 2, 0x660fda, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
|
||||
{"pmovmskb", 2, 0x0fd7, X, CpuSSE, FP|Modrm, { RegMMX|InvMem, Reg32, 0 } },
|
||||
{"pmovmskb", 2, 0x660fd7, X, CpuSSE2,FP|Modrm, { RegXMM|InvMem, Reg32, 0 } },
|
||||
{"pmovmskb", 2, 0x0fd7, X, CpuSSE, lq_Suf|IgnoreSize|Modrm, { RegMMX|InvMem, Reg32|Reg64, 0 } },
|
||||
{"pmovmskb", 2, 0x660fd7, X, CpuSSE2,lq_Suf|IgnoreSize|Modrm, { RegXMM|InvMem, Reg32|Reg64, 0 } },
|
||||
{"pmulhuw", 2, 0x0fe4, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } },
|
||||
{"pmulhuw", 2, 0x660fe4, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
|
||||
{"prefetchnta", 1, 0x0f18, 0, CpuSSE, FP|Modrm, { LLongMem, 0, 0 } },
|
||||
@ -1233,7 +1247,7 @@ static const template i386_optab[] = {
|
||||
{"movhpd", 2, 0x660f17, X, CpuSSE2, FP|Modrm, { RegXMM, LLongMem, 0 } },
|
||||
{"movlpd", 2, 0x660f12, X, CpuSSE2, FP|Modrm, { LLongMem, RegXMM, 0 } },
|
||||
{"movlpd", 2, 0x660f13, X, CpuSSE2, FP|Modrm, { RegXMM, LLongMem, 0 } },
|
||||
{"movmskpd", 2, 0x660f50, X, CpuSSE2, FP|Modrm, { RegXMM|InvMem, Reg32, 0 } },
|
||||
{"movmskpd", 2, 0x660f50, X, CpuSSE2, lq_Suf|IgnoreSize|Modrm, { RegXMM|InvMem, Reg32|Reg64, 0 } },
|
||||
{"movntpd", 2, 0x660f2b, X, CpuSSE2, FP|Modrm, { RegXMM, LLongMem, 0 } },
|
||||
{"movsd", 2, 0xf20f10, X, CpuSSE2, FP|Modrm, { RegXMM|LongMem, RegXMM, 0 } },
|
||||
{"movsd", 2, 0xf20f11, X, CpuSSE2, FP|Modrm, { RegXMM, RegXMM|LongMem, 0 } },
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* ppc.h -- Header file for PowerPC opcode table
|
||||
Copyright 1994, 1995, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright 1994, 1995, 1999, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
Written by Ian Lance Taylor, Cygnus Support
|
||||
|
||||
This file is part of GDB, GAS, and the GNU binutils.
|
||||
@ -100,6 +101,12 @@ extern const int powerpc_num_opcodes;
|
||||
/* Opcode is only supported by 64-bit PowerPC BookE processor. */
|
||||
#define PPC_OPCODE_BOOKE64 (010000)
|
||||
|
||||
/* Opcode is only supported by Power4 architecture. */
|
||||
#define PPC_OPCODE_POWER4 (020000)
|
||||
|
||||
/* Opcode isn't supported by Power4 architecture. */
|
||||
#define PPC_OPCODE_NOPOWER4 (040000)
|
||||
|
||||
/* A macro to extract the major opcode from an instruction. */
|
||||
#define PPC_OP(i) (((i) >> 26) & 0x3f)
|
||||
|
||||
|
@ -61,6 +61,18 @@ typedef void (*splay_tree_delete_value_fn) PARAMS((splay_tree_value));
|
||||
/* The type of a function used to iterate over the tree. */
|
||||
typedef int (*splay_tree_foreach_fn) PARAMS((splay_tree_node, void*));
|
||||
|
||||
/* The type of a function used to allocate memory for tree root and
|
||||
node structures. The first argument is the number of bytes needed;
|
||||
the second is a data pointer the splay tree functions pass through
|
||||
to the allocator. This function must never return zero. */
|
||||
typedef void *(*splay_tree_allocate_fn) PARAMS((int, void *));
|
||||
|
||||
/* The type of a function used to free memory allocated using the
|
||||
corresponding splay_tree_allocate_fn. The first argument is the
|
||||
memory to be freed; the latter is a data pointer the splay tree
|
||||
functions pass through to the freer. */
|
||||
typedef void (*splay_tree_deallocate_fn) PARAMS((void *, void *));
|
||||
|
||||
/* The nodes in the splay tree. */
|
||||
struct splay_tree_node_s
|
||||
{
|
||||
@ -89,11 +101,24 @@ typedef struct splay_tree_s
|
||||
|
||||
/* The deallocate-value function. NULL if no cleanup is necessary. */
|
||||
splay_tree_delete_value_fn delete_value;
|
||||
|
||||
/* Allocate/free functions, and a data pointer to pass to them. */
|
||||
splay_tree_allocate_fn allocate;
|
||||
splay_tree_deallocate_fn deallocate;
|
||||
void *allocate_data;
|
||||
|
||||
} *splay_tree;
|
||||
|
||||
extern splay_tree splay_tree_new PARAMS((splay_tree_compare_fn,
|
||||
splay_tree_delete_key_fn,
|
||||
splay_tree_delete_value_fn));
|
||||
extern splay_tree splay_tree_new_with_allocator
|
||||
PARAMS((splay_tree_compare_fn,
|
||||
splay_tree_delete_key_fn,
|
||||
splay_tree_delete_value_fn,
|
||||
splay_tree_allocate_fn,
|
||||
splay_tree_deallocate_fn,
|
||||
void *));
|
||||
extern void splay_tree_delete PARAMS((splay_tree));
|
||||
extern splay_tree_node splay_tree_insert
|
||||
PARAMS((splay_tree,
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user