Import the binutils master branch from the sourceware CVS repository,
exactly as it was on Tue, 3 Jul 2007 07:54:19 +0000. Corresponds to git commit 397a64b350470350c8e0adb2af84439ea0f89272, which was the last commit before switching to GPLv3.
This commit is contained in:
parent
7a815afd9b
commit
b3cded65e9
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/binutils/dist/; revision=214571 svn path=/vendor/binutils/binutils-master-20070703-075419/; revision=214573; tag=vendor/binutils/binutils-master-20070703-075419
@ -30,3 +30,4 @@ Makefile
|
||||
lost+found
|
||||
update.out
|
||||
update.sourceware
|
||||
autom4te.cache
|
||||
|
239
COPYING.LIBGLOSS
239
COPYING.LIBGLOSS
@ -1,101 +1,52 @@
|
||||
The libgloss subdirectory is a collection of software from several sources.
|
||||
Each have their own copyrights embedded in each file that they concern.
|
||||
|
||||
(1) University of California, Berkeley
|
||||
Each file may have its own copyright/license that is embedded in the source
|
||||
file. Unless otherwise noted in the body of the source file(s), the following copyright
|
||||
notices will apply to the contents of the libgloss subdirectory:
|
||||
|
||||
[1a]
|
||||
(1) Red Hat Incorporated
|
||||
|
||||
Copyright (c) 1990 The Regents of the University of California.
|
||||
Copyright (c) 1994-2006 Red Hat, Inc. All rights reserved.
|
||||
|
||||
This copyrighted material is made available to anyone wishing to use, modify,
|
||||
copy, or redistribute it subject to the terms and conditions of the BSD
|
||||
License. This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY expressed or implied, including the implied warranties
|
||||
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy of this license
|
||||
is available at http://www.opensource.org/licenses. Any Red Hat trademarks that
|
||||
are incorporated in the source code or documentation are not subject to the BSD
|
||||
License and may only be used or replicated with the express permission of
|
||||
Red Hat, Inc.
|
||||
|
||||
(2) University of California, Berkeley
|
||||
|
||||
Copyright (c) 1981-2000 The Regents of the University of California.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms are permitted
|
||||
provided that the above copyright notice and this paragraph are
|
||||
duplicated in all such forms and that any documentation,
|
||||
and other materials related to such distribution and use
|
||||
acknowledge that the software was developed
|
||||
by the University of California, Berkeley. The name of the
|
||||
University may not be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
[1b]
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
be used to endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
Copyright (c) 1991, 2000 The Regents of the University of California.
|
||||
All rights reserved.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||
OF SUCH DAMAGE.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. All advertising materials mentioning features or use of this software
|
||||
must display the following acknowledgement:
|
||||
This product includes software developed by the University of
|
||||
California, Berkeley and its contributors.
|
||||
4. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
[1c]
|
||||
|
||||
Copyright (c) 1991, 1998, 2001 The Regents of the University of California.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. [rescinded 22 July 1999]
|
||||
4. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
-------------------------------------------------------------
|
||||
Please note that in some of the above alternate licenses, there is a
|
||||
statement regarding that acknowledgement must be made in any
|
||||
advertising materials for products using the code. This restriction
|
||||
no longer applies due to the following license change:
|
||||
|
||||
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
|
||||
|
||||
In some cases the defunct clause has been removed in modified newlib code and
|
||||
in some cases, the clause has been left as-is.
|
||||
-------------------------------------------------------------
|
||||
|
||||
(2) DJ Delorie
|
||||
(3) DJ Delorie
|
||||
|
||||
Copyright (C) 1993 DJ Delorie
|
||||
All rights reserved.
|
||||
@ -107,7 +58,7 @@ duplicated in all such forms.
|
||||
This file is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
(3) GPL (fr30 directory only)
|
||||
(4) GPL (fr30 directory only)
|
||||
|
||||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
Contributed by Cygnus Solutions.
|
||||
@ -129,7 +80,7 @@ along with GNU CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
|
||||
(4) Advanced Micro Devices
|
||||
(5) Advanced Micro Devices
|
||||
|
||||
Copyright 1989, 1990 Advanced Micro Devices, Inc.
|
||||
|
||||
@ -155,7 +106,7 @@ Mail Stop 573
|
||||
Austin, TX 78741
|
||||
800-292-9263
|
||||
|
||||
(5) Array Technology Corporation and MIPS (mips/lsi33k-stub.h)
|
||||
(6) Array Technology Corporation and MIPS (mips/lsi33k-stub.h)
|
||||
|
||||
COPYRIGHT (C) 1991, 1992 ARRAY TECHNOLOGY CORPORATION
|
||||
All Rights Reserved
|
||||
@ -166,9 +117,8 @@ disclosure is subject to the terms of a separate license agreement.
|
||||
|
||||
Copyright 1985 by MIPS Computer Systems, Inc.
|
||||
|
||||
(6) University of Utah and the Computer Systems Laboratory (CSL)
|
||||
[applies only to hppa*-*-pro* targets]
|
||||
|
||||
(7) University of Utah and the Computer Systems Laboratory (CSL)
|
||||
[applies only to hppa*-*-pro* targets]
|
||||
Copyright (c) 1990,1994 The University of Utah and
|
||||
the Computer Systems Laboratory (CSL). All rights reserved.
|
||||
|
||||
@ -187,22 +137,22 @@ ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
|
||||
CSL requests users of this software to return to csl-dist@cs.utah.edu any
|
||||
improvements that they make and grant CSL redistribution rights.
|
||||
|
||||
(7) Sun Microsystems
|
||||
(8) Sun Microsystems
|
||||
|
||||
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
|
||||
Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
Permission to use, copy, modify, and distribute this
|
||||
software is freely granted, provided that this notice
|
||||
is preserved.
|
||||
software is freely granted, provided that this notice is preserved.
|
||||
|
||||
(8) Hewlett Packard
|
||||
(9) Hewlett Packard
|
||||
|
||||
(c) Copyright 1986 HEWLETT-PACKARD COMPANY
|
||||
|
||||
To anyone who acknowledges that this file is provided "AS IS"
|
||||
without any express or implied warranty:
|
||||
permission to use, copy, modify, and distribute this file
|
||||
|
||||
permission to use, copy, modify, and distribute this file
|
||||
for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice and this notice appears in all
|
||||
copies, and that the name of Hewlett-Packard Company not be
|
||||
@ -211,7 +161,7 @@ of the software without specific, written prior permission.
|
||||
Hewlett-Packard Company makes no representations about the
|
||||
suitability of this software for any purpose.
|
||||
|
||||
(9) Hans-Peter Nilsson
|
||||
(10) Hans-Peter Nilsson
|
||||
|
||||
Copyright (C) 2001 Hans-Peter Nilsson
|
||||
|
||||
@ -224,74 +174,33 @@ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE.
|
||||
|
||||
(10) No Copyright
|
||||
(11) IBM Corp. spu processor (only spu-* targets)
|
||||
|
||||
THIS SOFTWARE IS NOT COPYRIGHTED
|
||||
(C) Copyright IBM Corp. 2005, 2006
|
||||
|
||||
(11) Cygnus Support / Cygnus Solutions
|
||||
|
||||
Copyright (c) 1995, 1996, 1997, 1998, 1999 Cygnus Support
|
||||
|
||||
The authors hereby grant permission to use, copy, modify, distribute,
|
||||
and license this software and its documentation for any purpose, provided
|
||||
that existing copyright notices are retained in all copies and that this
|
||||
notice is included verbatim in any distributions. No written agreement,
|
||||
license, or royalty fee is required for any of the authorized uses.
|
||||
Modifications to this software may be copyrighted by their authors
|
||||
and need not follow the licensing terms described here, provided that
|
||||
the new terms are clearly indicated on the first page of each file where
|
||||
they apply.
|
||||
|
||||
---------------------------------------------------------------
|
||||
Please note that the copyright above may be used with the name
|
||||
Cygnus Solutions instead of Cygnus Support. Both names should
|
||||
be considered interchangeable. These copyrights are now owned
|
||||
by Red Hat Incorporated.
|
||||
---------------------------------------------------------------
|
||||
|
||||
(12) Red Hat Incorporated
|
||||
|
||||
Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
|
||||
|
||||
The authors hereby grant permission to use, copy, modify, distribute,
|
||||
and license this software and its documentation for any purpose, provided
|
||||
that existing copyright notices are retained in all copies and that this
|
||||
notice is included verbatim in any distributions. No written agreement,
|
||||
license, or royalty fee is required for any of the authorized uses.
|
||||
Modifications to this software may be copyrighted by their authors
|
||||
and need not follow the licensing terms described here, provided that
|
||||
the new terms are clearly indicated on the first page of each file where
|
||||
they apply.
|
||||
|
||||
(13) Default copyright
|
||||
|
||||
Unless otherwise stated in each remaining libgloss file, the remaining
|
||||
files in the libgloss subdirectory are governed by the following copyright.
|
||||
|
||||
Copyright (c) 1994, 1997, 2001, 2002 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of IBM nor the names of its contributors may be
|
||||
used to endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
318
COPYING.NEWLIB
318
COPYING.NEWLIB
@ -1,197 +1,53 @@
|
||||
The newlib subdirectory is a collection of software from several sources.
|
||||
|
||||
Each file may have its own copyright/license that is embedded in the source
|
||||
file.
|
||||
file. Unless otherwise noted in the body of the source file(s), the following copyright
|
||||
notices will apply to the contents of the newlib subdirectory:
|
||||
|
||||
This list documents those licenses which are more restrictive than
|
||||
a BSD-like license or require the copyright notice
|
||||
to be duplicated in documentation and/or other materials associated with
|
||||
the distribution. Certain licenses documented here only apply to
|
||||
specific targets. Certain clauses only apply if you are building the
|
||||
code as part of your binary.
|
||||
(1) Red Hat Incorporated
|
||||
|
||||
Note that this list may omit certain licenses that
|
||||
only pertain to the copying/modifying of the individual source code.
|
||||
If you are distributing the source code, then you do not need to
|
||||
worry about these omitted licenses, so long as you do not modify the
|
||||
copyright information already in place.
|
||||
Copyright (c) 1994-2006 Red Hat, Inc. All rights reserved.
|
||||
|
||||
(1) University of California, Berkeley
|
||||
This copyrighted material is made available to anyone wishing to use,
|
||||
modify, copy, or redistribute it subject to the terms and conditions
|
||||
of the BSD License. This program is distributed in the hope that
|
||||
it will be useful, but WITHOUT ANY WARRANTY expressed or implied,
|
||||
including the implied warranties of MERCHANTABILITY or FITNESS FOR
|
||||
A PARTICULAR PURPOSE. A copy of this license is available at
|
||||
http://www.opensource.org/licenses. Any Red Hat trademarks that are
|
||||
incorporated in the source code or documentation are not subject to
|
||||
the BSD License and may only be used or replicated with the express
|
||||
permission of Red Hat, Inc.
|
||||
|
||||
[1a]
|
||||
(2) University of California, Berkeley
|
||||
|
||||
Copyright (c) 1990 The Regents of the University of California.
|
||||
Copyright (c) 1981-2000 The Regents of the University of California.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms are permitted
|
||||
provided that the above copyright notice and this paragraph are
|
||||
duplicated in all such forms and that any documentation,
|
||||
and other materials related to such distribution and use
|
||||
acknowledge that the software was developed
|
||||
by the University of California, Berkeley. The name of the
|
||||
University may not be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
[1b]
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
Copyright (c) 1990 The Regents of the University of California.
|
||||
All rights reserved.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||
OF SUCH DAMAGE.
|
||||
|
||||
Redistribution and use in source and binary forms are permitted
|
||||
provided that the above copyright notice and this paragraph are
|
||||
duplicated in all such forms and that any documentation,
|
||||
advertising materials, and other materials related to such
|
||||
distribution and use acknowledge that the software was developed
|
||||
by the University of California, Berkeley. The name of the
|
||||
University may not be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
[1c]
|
||||
|
||||
Copyright (c) 1981, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
|
||||
The Regents of the University of California.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. All advertising materials mentioning features or use of this software
|
||||
must display the following acknowledgement:
|
||||
This product includes software developed by the University of
|
||||
California, Berkeley and its contributors.
|
||||
4. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
[1d]
|
||||
|
||||
Copyright (c) 1988, 1990, 1993 Regents of the University of California.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
[1e]
|
||||
|
||||
Copyright (c) 1982, 1986, 1989, 1991, 1993, 1994
|
||||
The Regents of the University of California. All rights reserved.
|
||||
(c) UNIX System Laboratories, Inc.
|
||||
All or some portions of this file are derived from material licensed
|
||||
to the University of California by American Telephone and Telegraph
|
||||
Co. or Unix System Laboratories, Inc. and are reproduced herein with
|
||||
the permission of UNIX System Laboratories, Inc.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. All advertising materials mentioning features or use of this software
|
||||
must display the following acknowledgement:
|
||||
This product includes software developed by the University of
|
||||
California, Berkeley and its contributors.
|
||||
4. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
[1f]
|
||||
|
||||
Copyright (c) 1987, 1988, 2000 Regents of the University of California.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms are permitted
|
||||
provided that: (1) source distributions retain this entire copyright
|
||||
notice and comment, and (2) distributions including binaries display
|
||||
the following acknowledgement: ``This product includes software
|
||||
developed by the University of California, Berkeley and its contributors''
|
||||
in the documentation or other materials provided with the distribution
|
||||
and in all advertising materials mentioning features or use of this
|
||||
software. Neither the name of the University nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
-------------------------------------------------------------
|
||||
Please note that in some of the above alternate licenses, there is a
|
||||
statement regarding that acknowledgement must be made in any
|
||||
advertising materials for products using the code. This restriction
|
||||
no longer applies due to the following license change:
|
||||
|
||||
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
|
||||
|
||||
In some cases the defunct clause has been removed in modified newlib code and
|
||||
in some cases, the clause has been left as-is.
|
||||
-------------------------------------------------------------
|
||||
|
||||
(2) Cygwin (cygwin targets only)
|
||||
|
||||
Copyright 2001 Red Hat, Inc.
|
||||
|
||||
This software is a copyrighted work licensed under the terms of the
|
||||
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
details.
|
||||
|
||||
(3) David M. Gay at AT&T
|
||||
(3) David M. Gay (AT&T 1991, Lucent 1998)
|
||||
|
||||
The author of this software is David M. Gay.
|
||||
|
||||
@ -208,6 +64,33 @@ WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
|
||||
REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
|
||||
OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
The author of this software is David M. Gay.
|
||||
|
||||
Copyright (C) 1998-2001 by Lucent Technologies
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and
|
||||
its documentation for any purpose and without fee is hereby
|
||||
granted, provided that the above copyright notice appear in all
|
||||
copies and that both that the copyright notice and this
|
||||
permission notice and warranty disclaimer appear in supporting
|
||||
documentation, and that the name of Lucent or any of its entities
|
||||
not be used in advertising or publicity pertaining to
|
||||
distribution of the software without specific, written prior
|
||||
permission.
|
||||
|
||||
LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
|
||||
IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
|
||||
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
|
||||
IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
|
||||
THIS SOFTWARE.
|
||||
|
||||
|
||||
(4) Advanced Micro Devices
|
||||
|
||||
Copyright 1989, 1990 Advanced Micro Devices, Inc.
|
||||
@ -253,8 +136,7 @@ Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
|
||||
Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
Permission to use, copy, modify, and distribute this
|
||||
software is freely granted, provided that this notice
|
||||
is preserved.
|
||||
software is freely granted, provided that this notice is preserved.
|
||||
|
||||
(8) Hewlett Packard
|
||||
|
||||
@ -335,7 +217,7 @@ provided this notice is not removed or altered. All other rights are
|
||||
reserved by SuperH.
|
||||
|
||||
SUPERH MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO
|
||||
THIS SOFTWARE. IN NO EVENT SHALL SUPERH BE LIABLE FOR INDIRECT, SPECIAL,
|
||||
THIS SOFTWARE. IN NO EVENT SHALL SUPERH BE LIABLE FOR INDIRECT, SPECIAL,
|
||||
INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING FROM
|
||||
THE FURNISHING, PERFORMANCE, OR USE OF THIS SOFTWARE.
|
||||
|
||||
@ -351,7 +233,7 @@ USA
|
||||
|
||||
(13) Royal Institute of Technology
|
||||
|
||||
Copyright (c) 1999 Kungliga Tekniska Högskolan
|
||||
Copyright (c) 1999 Kungliga Tekniska Högskolan
|
||||
(Royal Institute of Technology, Stockholm, Sweden).
|
||||
All rights reserved.
|
||||
|
||||
@ -530,8 +412,7 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
(20) DJ Delorie (i386)
|
||||
|
||||
(20) DJ Delorie (i386)
|
||||
Copyright (C) 1991 DJ Delorie
|
||||
All rights reserved.
|
||||
|
||||
@ -544,8 +425,7 @@ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
(21) Free Software Foundation LGPL License (*-linux* targets only)
|
||||
|
||||
Copyright (C) 1990-1999, 2000, 2001
|
||||
Free Software Foundation, Inc.
|
||||
Copyright (C) 1990-1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 1997.
|
||||
|
||||
@ -572,7 +452,7 @@ This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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
|
||||
@ -698,7 +578,7 @@ SUCH DAMAGE.
|
||||
|
||||
iconv (Charset Conversion Library) v2.0
|
||||
|
||||
(27) Artem Bityuckiy (--enable-newlib-iconv)
|
||||
(28) Artem Bityuckiy (--enable-newlib-iconv)
|
||||
|
||||
Copyright (c) 2003, Artem B. Bityuckiy, SoftMine Corporation.
|
||||
Rights transferred to Franklin Electronic Publishers.
|
||||
@ -724,37 +604,37 @@ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
(28) Red Hat Incorporated
|
||||
(29) IBM, Sony, Toshiba (only spu-* targets)
|
||||
|
||||
Unless otherwise stated in each remaining newlib file, the remaining
|
||||
files in the newlib subdirectory default to the following copyright.
|
||||
It should be noted that Red Hat Incorporated now owns copyrights
|
||||
belonging to Cygnus Solutions and Cygnus Support.
|
||||
(C) Copyright 2001,2006,
|
||||
International Business Machines Corporation,
|
||||
Sony Computer Entertainment, Incorporated,
|
||||
Toshiba Corporation,
|
||||
|
||||
Copyright (c) 1994, 1997, 2001, 2002, 2003, 2004, 2005 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the names of the copyright holders nor the names of their
|
||||
contributors may be used to endorse or promote products derived from this
|
||||
software without specific prior written permission.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
697
ChangeLog
697
ChangeLog
@ -1,8 +1,691 @@
|
||||
2007-06-29 Bernd Schmidt <bernd.schmidt@analog.com>
|
||||
|
||||
* configure.ac: Don't add target-libmudflap to noconfigdirs for
|
||||
uclinux and linux-uclibc targets.
|
||||
* configure: Regenerate.
|
||||
|
||||
2007-06-28 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* configure.ac (arm*-*-linux-gnueabi): Don't build libgloss if we're
|
||||
not building newlib.
|
||||
* configure: Regenerated.
|
||||
|
||||
2007-06-22 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* src-release (DEVO_SUPPORT): Correct typos.
|
||||
|
||||
2007-06-18 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* Makefile.def: Add dependency from configure-gdb to all-bfd.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2007-06-14 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* Makefile.tpl (cleanstrap): Don't delete the toplevel Makefile.
|
||||
(distclean-stage[+id+]): Possibly delete stage_last.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2007-06-07 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
* config.sub, config.guess: Update from upstream sources.
|
||||
|
||||
2007-06-07 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
* Makefile.tpl: Fix spelling error.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2007-06-04 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
Sync with gcc:
|
||||
2007-05-30 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR bootstrap/29382
|
||||
* configure.ac: Don't use -fkeep-inline-functions for GCC < 3.3.1.
|
||||
* configure: Rebuilt.
|
||||
|
||||
2007-06-01 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
* libtool.m4 (LT_CMD_MAX_LEN): Try using getconf to set
|
||||
lt_cv_sys_max_cmd_len.
|
||||
|
||||
2007-05-31 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* ltgcc.m4: Update from GCC.
|
||||
|
||||
2007-05-25 Andreas Tobler <a.tobler@schweiz.org>
|
||||
|
||||
* ltmain.sh: Fix Darwin verstring, remove ${wl}.
|
||||
|
||||
2007-05-24 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
* ltmain.sh: Update from GCC.
|
||||
* libtool.m4: Update from GCC.
|
||||
* ltsugar.m4: New. Update from GCC.
|
||||
* ltversion.m4: New. Update from GCC.
|
||||
* ltoptions.m4: New. Update from GCC.
|
||||
* ltconfig: Remove.
|
||||
* ltcf-c.sh: Remove.
|
||||
* ltcf-cxx.sh: Remove.
|
||||
* ltcf-gcj.sh: Remove.
|
||||
* src-release: Update with new libtool file list.
|
||||
|
||||
2007-05-16 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* Makefile.def (bootstrap_stage): Replace stage_make_flags with
|
||||
stage_cflags.
|
||||
* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS, POSTSTAGE1_FLAGS_TO_PASS):
|
||||
Remove CFLAGS/LIBCFLAGS.
|
||||
(configure-stage[+id+]-[+prefix+][+module+],
|
||||
all-stage[+id+]-[+prefix+][+module+]): Pass it from [+stage_cflags+].
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2007-04-14 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
* config-ml.in: Update from GCC.
|
||||
|
||||
2007-04-09 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* src-release (do-proto-toplev): Process the support directories before
|
||||
the tool directory.
|
||||
|
||||
2007-03-21 Richard Sandiford <richard@codesourcery.com>
|
||||
|
||||
* configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Fix m4 quoting
|
||||
of glob. Quote arguments with single quotes too.
|
||||
* configure: Regenerate.
|
||||
|
||||
2007-03-12 Brooks Moses <brooks.moses@codesourcery.com>
|
||||
|
||||
* Makefile.def (fixincludes): Remove unneeded "missing" lines.
|
||||
* Makefile.in: Regenerate
|
||||
|
||||
2007-03-07 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
|
||||
|
||||
* configure.ac: Add "--with-pdfdir" configure option,
|
||||
which defines pdfdir variable.
|
||||
* Makefile.def (target=fixincludes): Add install-pdf to
|
||||
missing targets.
|
||||
(recursive_targets): Add install-pdf target.
|
||||
(flags_to_pass): Add pdfdir.
|
||||
* Makefile.tpl: Add pdfdir handling, add do-install-pdf
|
||||
target.
|
||||
* configure: Regenerate
|
||||
* Makefile.in: Regenerate
|
||||
|
||||
2007-02-28 Eric Christopher <echristo@apple.com>
|
||||
|
||||
Revert:
|
||||
2006-12-07 Mike Stump <mrs@apple.com>
|
||||
|
||||
* Makefile.def (dependencies): Add dependency for
|
||||
install-target-libssp and install-target-libgomp on
|
||||
install-gcc.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2007-02-27 Matt Kraai <kraai@ftbfs.org>
|
||||
|
||||
* configure: Regenerate.
|
||||
* configure.ac: Move statements after variable declarations.
|
||||
|
||||
2007-02-19 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac: Adjust for loop syntax.
|
||||
* configure: Regenerate.
|
||||
|
||||
2007-02-18 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* configure: Rebuilt.
|
||||
|
||||
2007-02-18 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* configure.ac: Drop multiple occurrences of --enable-languages,
|
||||
and fix its quoting.
|
||||
* configure: Rebuilt.
|
||||
|
||||
2007-02-17 Mark Mitchell <mark@codesourcery.com>
|
||||
Nathan Sidwell <nathan@codesourcery.com>
|
||||
Vladimir Prus <vladimir@codesourcery.com
|
||||
Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Fix quoting.
|
||||
* configure: Regenerate.
|
||||
|
||||
2007-02-13 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* configure.ac (target_libraries): Move libgcc before libiberty.
|
||||
* configure: Regenerated.
|
||||
|
||||
2007-02-13 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* configure: Regenerate again?
|
||||
|
||||
2007-02-13 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* configure: Reapply PR30748 fix which was lost in the previous commit.
|
||||
|
||||
2007-02-13 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR bootstrap/30753
|
||||
* configure.ac: Remove obsolete build / host tests. Use AC_PROG_CC
|
||||
unconditionally. Use AC_PROG_CXX. Use ACX_TOOL_DIRS to find $prefix.
|
||||
* configure: Regenerated.
|
||||
|
||||
2007-02-10 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2007-02-09 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
PR bootstrap/30748
|
||||
* configure.ac: Correct syntax for Solaris ksh.
|
||||
* configure: Regenerated.
|
||||
|
||||
2007-02-09 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* Makefile.def: Sync with GCC.
|
||||
* Makefile.tpl: Sync with GCC.
|
||||
* Makefile.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
|
||||
2007-02-09 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* Makefile.tpl (build_alias, host_alias, target_alias): Use
|
||||
noncanonical equivalents.
|
||||
* configure.in: Rename to...
|
||||
* configure.ac: ...this. Update AC_PREREQ. Prevent error for
|
||||
AS_FOR_TARGET. Set build_noncanonical, host_noncanonical, and
|
||||
target_noncanonical. Use them. Rewrite removal of configure
|
||||
arguments for autoconf 2.59. Discard variable settings. Force
|
||||
program_transform_name for native tools.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
* configure: Regenerated with autoconf 2.59.
|
||||
|
||||
* src-release (DEVO_SUPPORT, do-proto-toplev): Expect configure.ac.
|
||||
|
||||
2007-02-08 Jeff Johnston <jjohnstn@redhat.com>
|
||||
|
||||
* COPYING.LIBGLOSS: Reformat default Red Hat
|
||||
license to fit within 80 columns.
|
||||
* COPYING.NEWLIB: Ditto.
|
||||
|
||||
2007-02-05 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
* Contribute the following changes:
|
||||
2006-11-28 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* configure.in: Fix typo for mep's target_makefile_frag.
|
||||
* configure: Regenerated.
|
||||
|
||||
2005-04-22 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* configure.in (mep*): Add -mlibrary to FLAGS_FOR_TARGET.
|
||||
* configure: Regenerate.
|
||||
|
||||
2001-09-19 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* configure.in (target_makefile_frag): use mt-mep
|
||||
|
||||
2001-06-12 Don Howard <dhoward@redhat.com>
|
||||
|
||||
* configure.in: Remove gdb from MeP skip list.
|
||||
|
||||
2001-04-05 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* configure.in (noconfigdirs): Remove gcc from MeP skip list.
|
||||
|
||||
2001-03-20 Ben Elliston <bje@redhat.com>
|
||||
|
||||
* configure.in (noconfigdirs): Add gcc and gdb for MeP.
|
||||
|
||||
2001-03-19 Ben Elliston <bje@redhat.com>
|
||||
|
||||
* config.sub (mep, mep-*): Add.
|
||||
|
||||
2007-01-31 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* Makefile.tpl (LDFLAGS): Substitute it.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2007-01-11 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* configure.in: Change == to = in test command.
|
||||
* configure: Regenerate.
|
||||
|
||||
2007-01-11 Paolo Bonzini <bonzini@gnu.org>
|
||||
Nick Clifton <nickc@redhat.com>
|
||||
Kaveh R. Ghazi <ghazi@caip.rutgets.edu>
|
||||
|
||||
* configure.in (build_configargs, host_configargs, target_configargs):
|
||||
Remove build/host/target parameters.
|
||||
(host_libs): Add gmp and mpfr.
|
||||
(GMP tests): Reorganize to allow in-tree GMP/MPFR.
|
||||
* Makefile.def (gmp, mpfr): New.
|
||||
(gcc): Remove target.
|
||||
* Makefile.tpl (build_os, build_vendor, host_os, host_vendor,
|
||||
target_os, target_vendor): New.
|
||||
(configure): Add host_alias/target_alias arguments. Adjust invocations.
|
||||
* configure: Regenerate.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2007-01-11 Matt Fago <fago@earthlink.net>
|
||||
|
||||
* configure.in: Try to link to functions only in mpfr 2.2.x
|
||||
to improve robustness of configure tests.
|
||||
* configure: Regenerate.
|
||||
|
||||
2007-01-08 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
* configure.in: Add support for an x86_64-mingw* target.
|
||||
* configure: Regenerate.
|
||||
|
||||
2007-01-05 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* Makefile.tpl (all-target): Correct @if conditional for target
|
||||
modules.
|
||||
* configure.in: Omit libiberty if building only target libgcc.
|
||||
* configure, Makefile.in: Regenerated.
|
||||
|
||||
2007-01-04 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* configure.in: Use DEV-PHASE to detect the default for --enable-werror.
|
||||
* configure: Regenerate.
|
||||
|
||||
2007-01-03 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* Makefile.def (target_modules): Add libgcc.
|
||||
(lang_env_dependencies): Remove default items. Use no_c and no_gcc.
|
||||
* Makefile.tpl (clean-target-libgcc): Delete.
|
||||
(configure-target-[+module+]): Emit --disable-bootstrap dependencies
|
||||
on gcc even for bootstrapped modules. Rewrite handling of
|
||||
lang_env_dependencies to loop over target_modules.
|
||||
* configure.in (target_libraries): Add target-libgcc.
|
||||
* Makefile.in, configure: Regenerated.
|
||||
|
||||
2006-12-29 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
Sync with gcc:
|
||||
2006-12-29 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* configure.in: Reorganize recognition of languages. Add
|
||||
--enable-stage1-languages. Show supported languages for the chosen
|
||||
target rather than all recognized languages.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-12-29 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* Makefile.tpl (GCC_STRAP_TARGETS, all-prebootstrap): Remove.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2006-12-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* configure.in: Warn that MPFR 2.2.0 is buggy.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-12-27 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* configure.in: When removing Makefiles to force a reconfigure, also
|
||||
remove prev-DIR*/Makefile.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-12-23 Kazu Hirata <kazu@codesourcery.com>
|
||||
|
||||
* config.bfd: Recognize fido.
|
||||
|
||||
2006-12-19 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
Sync with gcc:
|
||||
|
||||
2006-12-19 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* configure.in: Remove "$build" case for powerpc-*-darwin* since
|
||||
it only affects bootstrap and could be tested on "$host" as well.
|
||||
* configure: Regenerate.
|
||||
* config/mh-ppc-darwin: Add to the stage1 cflags here.
|
||||
|
||||
2006-12-19 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR bootstrap/29544
|
||||
* Makefile.def (flags_to_pass): Add STAGE1_CHECKING.
|
||||
(bootstrap_stage): Add STAGE1_CHECKING to stage1 configure flags,
|
||||
move here comment from Makefile.tpl.
|
||||
* Makefile.tpl: Move some definitions higher in the file.
|
||||
(STAGE1_CHECKING): New.
|
||||
* configure.in: Add --enable-stage1-checking.
|
||||
* configure: Regenerate.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2006-12-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* configure.in: Update error message for missing GMP/MPFR.
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* configure.in: Update MPFR version in error message.
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* configure.in (--with-mpfr-dir, --with-gmp-dir): Remove flags.
|
||||
(--with-mpfr-include, --with-mpfr-lib, --with-gmp-include,
|
||||
--with-gmp-lib): New flags.
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-12-12 Andreas Tobler <a.tobler@schweiz.org>
|
||||
|
||||
PR bootstrap/30134
|
||||
* configure.in: Correct x86 darwin support for libjava to powerpc
|
||||
and i?86 only.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-12-11 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* configure.in: Handle spu makefile frag.
|
||||
* Makefile.tpl (MAINT): Define
|
||||
(MAINTAINER_MODE_FALSE, MAINTAINER_MODE_TRUE): Define.
|
||||
* configure: Regenerate.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2006-12-11 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
* config.sub, config.guess: Update from upstream sources.
|
||||
|
||||
2006-12-11 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
* configure.in: Sync with GCC (spu-*-*).
|
||||
* configure: Sync with GCC.
|
||||
|
||||
2006-12-07 Mike Stump <mrs@apple.com>
|
||||
|
||||
* Makefile.def (dependencies): Add dependency for
|
||||
install-target-libssp and install-target-libgomp on
|
||||
install-gcc.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2006-11-16 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* Makefile.tpl (clean-target-libgcc): Test for gcc Makefile presence.
|
||||
(unstage): Test for stage_last presence.
|
||||
|
||||
PR bootstrap/29802
|
||||
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Add HOST_SUBDIR in STAGE_PREFIX.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2006-11-14 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* Makefile.tpl (clean-stage*): Sync with GCC (clean).
|
||||
* Makefile.in: Sync with GCC.
|
||||
* configure.in: Sync with GCC (mpfr, gmp).
|
||||
* configure: Sync with GCC.
|
||||
|
||||
2006-11-08 Jie Zhang <jie.zhang@analog.com>
|
||||
|
||||
* configure.in: Remove target-libgloss from noconfigdirs for
|
||||
bfin-*-*.
|
||||
* configure: Regenerated.
|
||||
|
||||
2006-10-27 Jeff Johnston <jjohnstn@redhat.com>
|
||||
|
||||
* COPYING.NEWLIB: Add spu license.
|
||||
* COPYING.LIBGLOSS: Ditto.
|
||||
|
||||
2006-10-17 Brooks Moses <bmoses@stanford.edu>
|
||||
|
||||
* Makefile.def: Added pdf target handling.
|
||||
* Makefile.tpl: Added pdf target handling.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2006-10-11 Jeff Johnston <jjohnstn@redhat.com>
|
||||
|
||||
* COPYING.NEWLIB: Updated.
|
||||
* COPYING.LIBGLOSS: Ditto.
|
||||
|
||||
2006-09-27 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
* configure.in (RUNTEST): Look for 'runtest' in the source tree by using
|
||||
$s instead of $r.
|
||||
* configure: Regenerated.
|
||||
|
||||
2006-09-26 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
* config.sub, config.guess: Update from upstream sources.
|
||||
|
||||
2006-09-20 Thiemo Seufer <ths@mips.com>
|
||||
|
||||
* configure.in: Remove redundant handling of mips*-dec-bsd*. Likewise
|
||||
for mipstx39-*-*. Disable libgloss for mips64*-*-linux*.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-08-30 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* configure.in: Never build newlib for a Mingw host.
|
||||
Never build newlib as Mingw target library.
|
||||
Test the existence of winsup/cygwin for building a Cygwin newlib,
|
||||
rather than just winsup.
|
||||
Add winsup/mingw and winsup/w32api paths to FLAGS_FOR_TARGET if
|
||||
building a Mingw target.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-08-15 Thiemo Seufer <ths@mips.com>
|
||||
Nigel Stephens <nigel@mips.com>
|
||||
David Ung <davidu@mips.com>
|
||||
|
||||
* config.sub: Add support for sde as alias of mipsisa32-sde-elf.
|
||||
|
||||
2006-07-25 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
Sync from GCC:
|
||||
2006-07-04 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
PR bootstrap/18058
|
||||
* configure.in: Add -fkeep-inline-functions to CFLAGS for stage 1
|
||||
if the bootstrap compiler is a GCC version that supports it.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-07-22 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* configure.in: Allow mingw32 and cygwin targets to build cross-gdb.
|
||||
* configure: Regenerated.
|
||||
|
||||
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* Makefile.tpl (configure-stageN-MODULE): Pass --with-build-libsubdir
|
||||
for stages after the first.
|
||||
|
||||
2006-07-17 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* Makefile.def: Add dependencies for configure-opcodes
|
||||
on configure-intl and all-opcodes on all-intl.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2006-07-04 Peter O'Gorman <peter@pogma.com>
|
||||
|
||||
* ltconfig: chmod 644 before ranlib during install.
|
||||
|
||||
2006-07-03 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* configure.in: Fix thinkos in previous check-in.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-07-03 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
Sync from gcc:
|
||||
|
||||
2007-07-03 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR other/27063
|
||||
* configure.in: Test subdir_requires and give an appropriate
|
||||
error message.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-06-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||
|
||||
PR target/27540
|
||||
* configure.in: Only enable libgomp on IRIX 6.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-06-20 David Ayers <d.ayers@inode.at>
|
||||
|
||||
PR bootstrap/28072
|
||||
* configure.in: Add target-boehm-gc to noconfigdirs depending on
|
||||
whether target-libjava is being configured instead of whether the
|
||||
java front end is enabled.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-06-15 Mark Shinwell <shinwell@codesourcery.com>
|
||||
|
||||
* include/elf/arm.h: Correct names of R_ARM_LDC_G{0,1,2}
|
||||
to R_ARM_LDC_SB_G{0,1,2} respectively.
|
||||
|
||||
2006-06-15 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Export CFLAGS and LDFLAGS
|
||||
too.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2006-06-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
Sync from gcc:
|
||||
|
||||
2006-06-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
* configure.in: Don't enable libgomp on hpux10.
|
||||
* configure: Rebuilt.
|
||||
|
||||
2006-06-13 David Ayers <d.ayers@inode.at>
|
||||
|
||||
Sync from gcc:
|
||||
|
||||
2006-06-12 David Ayers <d.ayers@inode.at>
|
||||
|
||||
PR bootstrap/27963
|
||||
PR target/19970
|
||||
* configure.in: Remove target-boehm-gc from noconfigdirs where
|
||||
${libgcj} is specified.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-06-08 Jeff Johnston <jjohnstn@redhat.com>
|
||||
|
||||
Sync from gcc:
|
||||
|
||||
2005-01-12 David Edelsohn <edelsohn@gnu.org>
|
||||
Andreas Schwab <schwab@suse.de>
|
||||
|
||||
PR bootstrap/18033
|
||||
* config-ml.in: Eval option if surrounded by single quotes.
|
||||
|
||||
2006-06-07 Carlos O'Donell <carlos@codesourcery.com>
|
||||
|
||||
Sync from gcc:
|
||||
|
||||
2006-06-06 David Ayers <d.ayers@inode.at>
|
||||
|
||||
PR libobjc/13946
|
||||
* Makefile.def: Add dependencies for libobjc which boehm-gc.
|
||||
* Makefile.in: Regenerate.
|
||||
* configure.in: Add --enable-objc-gc at toplevel and have it
|
||||
enable boehm-gc for Objective-C.
|
||||
Remove target-boehm-gc from libgcj.
|
||||
Add target-boehm-gc to target_libraries.
|
||||
Add target-boehm-gc to noconfigdirs where ${libgcj}
|
||||
is specified.
|
||||
Assert that boehm-gc is supported when requested for Objective-C.
|
||||
Only build boehm-gc if needed either for Java or Objective-C.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-06-05 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR 27674
|
||||
* Makefile.tpl (configure-[+prefix+][+module+],
|
||||
all-[+prefix+][+module+]): Depend on stage_current if bootstrapping.
|
||||
Remove rule to unstage bootstrapped modules.
|
||||
(stage_current): New.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2006-05-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
Andreas Tobler <a.tobler@schweiz.ch>
|
||||
|
||||
* configure.in: Enable libgcj for hppa*-hp-hpux11*.
|
||||
* configure: Rebuilt.
|
||||
|
||||
Revert
|
||||
2006-01-31 Richard Guenther <rguenther@suse.de>
|
||||
Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* Makefile.def (target_modules): Add libgcc-math target module.
|
||||
* configure.in (target_libraries): Add libgcc-math target library.
|
||||
(--enable-libgcc-math): New configure switch.
|
||||
* Makefile.in: Re-generate.
|
||||
* configure: Re-generate.
|
||||
|
||||
2006-06-05 Jeff Johnston <jjohnstn@redhat.com>
|
||||
|
||||
* config-ml.in: Alter CCASFLAGS to include special
|
||||
multilib options the same as is done for CFLAGS.
|
||||
|
||||
2006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* Makefile.def: Added dependencies from sim and gdb on intl, and
|
||||
added configure dependencies to everything with an all dependency
|
||||
on intl.
|
||||
* gettext.m4: Removed.
|
||||
* src-release (DEVO_SUPPORT): Don't mention gettext.m4.
|
||||
(GDB_SUPPORT_DIRS): Add intl.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2006-05-25 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* src-release (DEVO_SUPPORT): Add config.rpath.
|
||||
|
||||
2006-05-25 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* Makefile.def (bfd, opcodes): Fix lib_path.
|
||||
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Replace ADAC with ADAFLAGS.
|
||||
(restrap): Move under "@if gcc-bootstrap". Fix typo.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2006-05-24 Mark Shinwell <shinwell@codesourcery.com>
|
||||
|
||||
* configure.in: Enable gprof for cross builds.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-05-17 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* src-release (MAKEINFOFLAGS): Define.
|
||||
(do-proto-toplev): Pass MAKEINFOFLAGS to submakes.
|
||||
|
||||
2006-05-14 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
* config.sub, config.guess: Update from upstream sources.
|
||||
|
||||
2006-05-12 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
* config.sub, config.guess: Update from upstream sources.
|
||||
|
||||
2006-05-04 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
* blt, iwidgets, mmalloc: Remove directories.
|
||||
|
||||
2006-05-01 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* configure.in: Restore CFLAGS if GMP isn't present.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-04-18 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* configure.in (m32c): Build libstdc++-v3. Pass flags to
|
||||
reference libgloss so that libssp can be built in a combined
|
||||
tree.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-04-10 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
* contrib: Remove directory.
|
||||
@ -35,7 +718,7 @@
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-02-21 Rafael Avila de Espindola <rafael.espindola@gmail.com>
|
||||
|
||||
|
||||
* Makefile.tpl (BUILD_CONFIGDIRS): Remove.
|
||||
(TARGET_CONFIGDIRS): Remove.
|
||||
* configure.in: Remove AC_SUBST(target_configdirs).
|
||||
@ -105,7 +788,7 @@
|
||||
|
||||
2006-02-14 Paolo Bonzini <bonzini@gnu.org>
|
||||
Andreas Schwab <schwab@suse.de>
|
||||
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-01-16 Paolo Bonzini <bonzini@gnu.org>
|
||||
@ -117,7 +800,7 @@
|
||||
|
||||
2006-01-16 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config.sub, config.guess: Sync from config repository.
|
||||
* config.sub, config.guess: Sync from config repository.
|
||||
|
||||
2006-01-05 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
@ -397,7 +1080,7 @@
|
||||
CONFIGURED_LIPO_FOR_TARGET, CONFIGURED_STRIP_FOR_TARGET.
|
||||
* Makefile.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
|
||||
|
||||
2005-09-19 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
* configure.in (powerpc-*-aix*): Add target-libssp to noconfigdirs.
|
||||
@ -464,7 +1147,7 @@
|
||||
2005-07-27 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* Makefile.tpl (EXTRA_TARGET_FLAGS): Set LDFLAGS=LDFLAGS_FOR_TARGET.
|
||||
* Makefile.def (flags_to_pass): Add LDFLAGS_FOR_TARGET.
|
||||
* Makefile.def (flags_to_pass): Add LDFLAGS_FOR_TARGET.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2005-07-26 Mark Mitchell <mark@codesourcery.com>
|
||||
@ -489,7 +1172,7 @@
|
||||
|
||||
* configure.in: Add cases for Renesas m32c.
|
||||
* configure: Regenerated.
|
||||
|
||||
|
||||
2005-07-14 Kelley Cook <kcook@gcc.gnu.org>
|
||||
|
||||
* COPYING, compile, config-ml.in, config.guess,
|
||||
@ -604,7 +1287,7 @@
|
||||
|
||||
2005-05-19 Paul Brook <paul@codesourcery.com>
|
||||
|
||||
* configure.in: Rewrite misleading error message when requested
|
||||
* configure.in: Rewrite misleading error message when requested
|
||||
language cannot be built.
|
||||
* configure: Regenerate.
|
||||
|
||||
|
14
MAINTAINERS
14
MAINTAINERS
@ -47,15 +47,15 @@ gdb/; readline/; sim/; GDB's part of include/
|
||||
include/
|
||||
See binutils/, gdb/, sid/, gcc/, libiberty/ etc.
|
||||
|
||||
libiberty/; libiberty's part of include/
|
||||
intl/; config.rhost; libiberty/; libiberty's part of include/
|
||||
gcc: http://gcc.gnu.org
|
||||
Changes need to be done in tandem with the official GCC
|
||||
sources or submitted to the master file maintainer and brought
|
||||
in via a merge. Note: approved patches in gcc's libiberty
|
||||
are automatically approved in this libiberty also; feel free
|
||||
to merge them yourself if needed sooner than the next merge.
|
||||
Otherwise, changes are automatically merged, usually within
|
||||
a day.
|
||||
in via a merge. Note: approved patches in gcc's libiberty or
|
||||
intl are automatically approved in this libiberty and intl also;
|
||||
feel free to merge them yourself if needed sooner than the next
|
||||
merge. Otherwise, changes are automatically merged, usually
|
||||
within a day.
|
||||
|
||||
ltconfig; ltmain.sh; ltcf-*.sh
|
||||
libtool: http://www.gnu.org/software/libtool/
|
||||
@ -99,7 +99,7 @@ winsup/
|
||||
See also winsup/MAINTAINERS.
|
||||
|
||||
config-ml.in; makefile.vms; mkdep; setup.com;
|
||||
etc/; intl/; utils/;
|
||||
etc/; utils/;
|
||||
Any global maintainer can approve changes to these
|
||||
files and directories.
|
||||
|
||||
|
94
Makefile.def
94
Makefile.def
@ -30,15 +30,14 @@ build_modules= { module= byacc; };
|
||||
build_modules= { module= flex; };
|
||||
build_modules= { module= m4; };
|
||||
build_modules= { module= texinfo; };
|
||||
build_modules= { module= fixincludes;
|
||||
extra_configure_args='--target=$(target)'; };
|
||||
build_modules= { module= fixincludes; };
|
||||
|
||||
host_modules= { module= ash; };
|
||||
host_modules= { module= autoconf; };
|
||||
host_modules= { module= automake; };
|
||||
host_modules= { module= bash; };
|
||||
host_modules= { module= bfd; lib_path=.; bootstrap=true; };
|
||||
host_modules= { module= opcodes; lib_path=.; bootstrap=true; };
|
||||
host_modules= { module= bfd; lib_path=.libs; bootstrap=true; };
|
||||
host_modules= { module= opcodes; lib_path=.libs; bootstrap=true; };
|
||||
host_modules= { module= binutils; bootstrap=true; };
|
||||
host_modules= { module= bison; no_check_cross= true; };
|
||||
host_modules= { module= byacc; no_check_cross= true; };
|
||||
@ -52,18 +51,23 @@ host_modules= { module= fileutils; };
|
||||
host_modules= { module= findutils; };
|
||||
host_modules= { module= find; };
|
||||
host_modules= { module= fixincludes;
|
||||
missing= info;
|
||||
missing= dvi;
|
||||
missing= TAGS;
|
||||
missing= install-info;
|
||||
missing= installcheck; };
|
||||
missing= TAGS; };
|
||||
host_modules= { module= flex; no_check_cross= true; };
|
||||
host_modules= { module= gas; bootstrap=true; };
|
||||
host_modules= { module= gcc; bootstrap=true;
|
||||
target="`if [ -f stage_last ]; then echo quickstrap ; else echo all; fi`";
|
||||
extra_make_flags="$(EXTRA_GCC_FLAGS)"; };
|
||||
host_modules= { module= gawk; };
|
||||
host_modules= { module= gettext; };
|
||||
host_modules= { module= gmp; lib_path=.libs; bootstrap=true;
|
||||
extra_configure_flags='--disable-shared';
|
||||
no_install= true;
|
||||
host="none-${host_vendor}-${host_os}";
|
||||
target="none-${host_vendor}-${host_os}"; };
|
||||
host_modules= { module= mpfr; lib_path=.libs; bootstrap=true;
|
||||
extra_configure_flags='--disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp';
|
||||
no_install= true;
|
||||
host="none-${host_vendor}-${host_os}";
|
||||
target="none-${host_vendor}-${host_os}"; };
|
||||
host_modules= { module= gnuserv; };
|
||||
host_modules= { module= gprof; };
|
||||
host_modules= { module= gzip; };
|
||||
@ -117,8 +121,8 @@ host_modules= { module= gnattools; };
|
||||
target_modules = { module= libstdc++-v3; lib_path=.libs; raw_cxx=true; };
|
||||
target_modules = { module= libmudflap; lib_path=.libs; };
|
||||
target_modules = { module= libssp; lib_path=.libs; };
|
||||
target_modules = { module= libgcc-math; lib_path=.libs; };
|
||||
target_modules = { module= newlib; };
|
||||
target_modules = { module= libgcc; bootstrap=true; no_check=true; };
|
||||
target_modules = { module= libgfortran; };
|
||||
target_modules = { module= libobjc; };
|
||||
target_modules = { module= libtermcap; no_check=true;
|
||||
@ -148,6 +152,8 @@ recursive_targets = { make_target= info;
|
||||
depend=configure; };
|
||||
recursive_targets = { make_target= dvi;
|
||||
depend=configure; };
|
||||
recursive_targets = { make_target= pdf;
|
||||
depend=configure; };
|
||||
recursive_targets = { make_target= html;
|
||||
depend=configure; };
|
||||
recursive_targets = { make_target= TAGS;
|
||||
@ -155,6 +161,9 @@ recursive_targets = { make_target= TAGS;
|
||||
recursive_targets = { make_target= install-info;
|
||||
depend=configure;
|
||||
depend=info; };
|
||||
recursive_targets = { make_target= install-pdf;
|
||||
depend=configure;
|
||||
depend=pdf; };
|
||||
recursive_targets = { make_target= install-html;
|
||||
depend=configure;
|
||||
depend=html; };
|
||||
@ -178,6 +187,7 @@ flags_to_pass = { flag= includedir ; };
|
||||
flags_to_pass = { flag= datarootdir ; };
|
||||
flags_to_pass = { flag= docdir ; };
|
||||
flags_to_pass = { flag= infodir ; };
|
||||
flags_to_pass = { flag= pdfdir ; };
|
||||
flags_to_pass = { flag= htmldir ; };
|
||||
flags_to_pass = { flag= libdir ; };
|
||||
flags_to_pass = { flag= libexecdir ; };
|
||||
@ -224,7 +234,10 @@ flags_to_pass = { flag= LDFLAGS ; };
|
||||
flags_to_pass = { flag= LIBCFLAGS ; };
|
||||
flags_to_pass = { flag= LIBCXXFLAGS ; };
|
||||
flags_to_pass = { flag= STAGE1_CFLAGS ; };
|
||||
flags_to_pass = { flag= STAGE1_CHECKING ; };
|
||||
flags_to_pass = { flag= STAGE1_LANGUAGES ; };
|
||||
flags_to_pass = { flag= GNATBIND ; };
|
||||
flags_to_pass = { flag= GNATMAKE ; };
|
||||
|
||||
// Target tools
|
||||
flags_to_pass = { flag= AR_FOR_TARGET ; };
|
||||
@ -271,7 +284,9 @@ dependencies = { module=configure-gcc; on=all-binutils; };
|
||||
dependencies = { module=configure-gcc; on=all-gas; };
|
||||
dependencies = { module=configure-gcc; on=all-ld; };
|
||||
dependencies = { module=all-gcc; on=all-libiberty; hard=true; };
|
||||
dependencies = { module=all-gcc; on=all-gmp; };
|
||||
dependencies = { module=all-gcc; on=all-intl; };
|
||||
dependencies = { module=all-gcc; on=all-mpfr; };
|
||||
dependencies = { module=all-gcc; on=all-build-texinfo; };
|
||||
dependencies = { module=all-gcc; on=all-build-bison; };
|
||||
dependencies = { module=all-gcc; on=all-build-byacc; };
|
||||
@ -294,11 +309,15 @@ dependencies = { module=all-fixincludes; on=all-libiberty; };
|
||||
|
||||
dependencies = { module=all-gnattools; on=all-target-libada; };
|
||||
|
||||
dependencies = { module=configure-mpfr; on=all-gmp; };
|
||||
|
||||
// Host modules specific to gdb.
|
||||
dependencies = { module=configure-gdb; on=configure-intl; };
|
||||
dependencies = { module=configure-gdb; on=configure-sim; };
|
||||
dependencies = { module=configure-gdb; on=all-bfd; };
|
||||
dependencies = { module=all-gdb; on=all-intl; };
|
||||
dependencies = { module=all-gdb; on=all-libiberty; };
|
||||
dependencies = { module=all-gdb; on=all-opcodes; };
|
||||
dependencies = { module=all-gdb; on=all-bfd; };
|
||||
dependencies = { module=all-gdb; on=all-readline; };
|
||||
dependencies = { module=all-gdb; on=all-build-bison; };
|
||||
dependencies = { module=all-gdb; on=all-build-byacc; };
|
||||
@ -312,9 +331,11 @@ dependencies = { module=all-libgui; on=all-itcl; };
|
||||
|
||||
// Host modules specific to binutils.
|
||||
dependencies = { module=configure-bfd; on=configure-libiberty; hard=true; };
|
||||
dependencies = { module=configure-bfd; on=configure-intl; };
|
||||
dependencies = { module=all-bfd; on=all-libiberty; };
|
||||
dependencies = { module=all-bfd; on=all-intl; };
|
||||
|
||||
dependencies = { module=configure-binutils; on=configure-intl; };
|
||||
dependencies = { module=all-binutils; on=all-libiberty; };
|
||||
dependencies = { module=all-binutils; on=all-opcodes; };
|
||||
dependencies = { module=all-binutils; on=all-bfd; };
|
||||
@ -331,14 +352,17 @@ dependencies = { module=install-binutils; on=install-opcodes; };
|
||||
// libopcodes depends on libbfd
|
||||
dependencies = { module=install-opcodes; on=install-bfd; };
|
||||
|
||||
dependencies = { module=configure-gas; on=configure-intl; };
|
||||
dependencies = { module=all-gas; on=all-libiberty; };
|
||||
dependencies = { module=all-gas; on=all-opcodes; };
|
||||
dependencies = { module=all-gas; on=all-bfd; };
|
||||
dependencies = { module=all-gas; on=all-intl; };
|
||||
dependencies = { module=configure-gprof; on=configure-intl; };
|
||||
dependencies = { module=all-gprof; on=all-libiberty; };
|
||||
dependencies = { module=all-gprof; on=all-bfd; };
|
||||
dependencies = { module=all-gprof; on=all-opcodes; };
|
||||
dependencies = { module=all-gprof; on=all-intl; };
|
||||
dependencies = { module=configure-ld; on=configure-intl; };
|
||||
dependencies = { module=all-ld; on=all-libiberty; };
|
||||
dependencies = { module=all-ld; on=all-bfd; };
|
||||
dependencies = { module=all-ld; on=all-opcodes; };
|
||||
@ -347,8 +371,10 @@ dependencies = { module=all-ld; on=all-build-byacc; };
|
||||
dependencies = { module=all-ld; on=all-build-flex; };
|
||||
dependencies = { module=all-ld; on=all-intl; };
|
||||
|
||||
dependencies = { module=configure-opcodes; on=configure-intl; };
|
||||
dependencies = { module=all-opcodes; on=all-bfd; };
|
||||
dependencies = { module=all-opcodes; on=all-libiberty; };
|
||||
dependencies = { module=all-opcodes; on=all-intl; };
|
||||
|
||||
// Other host modules in the 'src' repository.
|
||||
dependencies = { module=all-dejagnu; on=all-tcl; };
|
||||
@ -378,6 +404,8 @@ dependencies = { module=all-sid; on=all-tk; };
|
||||
dependencies = { module=install-sid; on=install-tcl; };
|
||||
dependencies = { module=install-sid; on=install-tk; };
|
||||
|
||||
dependencies = { module=configure-sim; on=configure-intl; };
|
||||
dependencies = { module=all-sim; on=all-intl; };
|
||||
dependencies = { module=all-sim; on=all-libiberty; };
|
||||
dependencies = { module=all-sim; on=all-bfd; };
|
||||
dependencies = { module=all-sim; on=all-opcodes; };
|
||||
@ -425,18 +453,17 @@ dependencies = { module=all-tar; on=all-build-texinfo; };
|
||||
dependencies = { module=all-uudecode; on=all-build-texinfo; };
|
||||
|
||||
// Target modules. These can also have dependencies on the language
|
||||
// environment (e.g. on libstdc++).
|
||||
lang_env_dependencies = { module=boehm-gc; };
|
||||
// environment (e.g. on libstdc++). By default target modules depend
|
||||
// on libgcc and newlib/libgloss.
|
||||
lang_env_dependencies = { module=gperf; cxx=true; };
|
||||
lang_env_dependencies = { module=libada; };
|
||||
lang_env_dependencies = { module=libgfortran; };
|
||||
lang_env_dependencies = { module=libffi; };
|
||||
lang_env_dependencies = { module=libjava; cxx=true; };
|
||||
lang_env_dependencies = { module=libmudflap; };
|
||||
lang_env_dependencies = { module=libobjc; };
|
||||
lang_env_dependencies = { module=libssp; };
|
||||
lang_env_dependencies = { module=libstdc++-v3; };
|
||||
lang_env_dependencies = { module=zlib; };
|
||||
lang_env_dependencies = { module=newlib; no_c=true; };
|
||||
lang_env_dependencies = { module=libgloss; no_c=true; };
|
||||
lang_env_dependencies = { module=libgcc; no_gcc=true; no_c=true; };
|
||||
// libiberty does not depend on newlib or libgloss because it must be
|
||||
// built newlib on some targets (e.g. Cygwin). It still needs
|
||||
// a dependency on libgcc for native targets to configure.
|
||||
lang_env_dependencies = { module=libiberty; no_c=true; };
|
||||
|
||||
dependencies = { module=configure-target-boehm-gc; on=configure-target-qthreads; };
|
||||
dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
|
||||
@ -451,7 +478,9 @@ dependencies = { module=all-target-libjava; on=all-target-zlib; };
|
||||
dependencies = { module=all-target-libjava; on=all-target-boehm-gc; };
|
||||
dependencies = { module=all-target-libjava; on=all-target-qthreads; };
|
||||
dependencies = { module=all-target-libjava; on=all-target-libffi; };
|
||||
dependencies = { module=configure-target-libobjc; on=configure-target-boehm-gc; };
|
||||
dependencies = { module=all-target-libobjc; on=all-target-libiberty; };
|
||||
dependencies = { module=all-target-libobjc; on=all-target-boehm-gc; };
|
||||
dependencies = { module=all-target-libstdc++-v3; on=all-target-libiberty; };
|
||||
|
||||
// Target modules in the 'src' repository.
|
||||
@ -468,33 +497,40 @@ dependencies = { module=all-target-winsup; on=all-target-libtermcap; };
|
||||
// Toplevel bootstrap
|
||||
bootstrap_stage = {
|
||||
id=1 ;
|
||||
stage_configure_flags='--disable-intermodule \
|
||||
|
||||
// * We force-disable intermodule optimizations, even if
|
||||
// --enable-intermodule was passed, since the installed compiler
|
||||
// probably can't handle them. Luckily, autoconf always respects
|
||||
// the last argument when conflicting --enable arguments are passed.
|
||||
// * Likewise, we force-disable coverage flags, since the installed
|
||||
// compiler probably has never heard of them.
|
||||
stage_configure_flags='--disable-intermodule $(STAGE1_CHECKING) \
|
||||
--disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"' ;
|
||||
stage_make_flags='CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"' ; };
|
||||
stage_cflags='$(STAGE1_CFLAGS)' ; };
|
||||
bootstrap_stage = {
|
||||
id=2 ; prev=1 ;
|
||||
bootstrap_target=bootstrap2 ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_make_flags="" ; };
|
||||
stage_cflags="$(BOOT_CFLAGS)" ; };
|
||||
bootstrap_stage = {
|
||||
id=3 ; prev=2 ; lean=1 ;
|
||||
compare_target=compare ;
|
||||
bootstrap_target=bootstrap ;
|
||||
cleanstrap_target=cleanstrap ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_make_flags="" ; };
|
||||
stage_cflags="$(BOOT_CFLAGS)" ; };
|
||||
bootstrap_stage = {
|
||||
id=4 ; prev=3 ; lean=2 ;
|
||||
compare_target=compare3 ;
|
||||
bootstrap_target=bootstrap4 ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_make_flags="" ; };
|
||||
stage_cflags="$(BOOT_CFLAGS)" ; };
|
||||
bootstrap_stage = {
|
||||
id=profile ; prev=1 ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"' ; };
|
||||
stage_cflags='$(BOOT_CFLAGS) -fprofile-generate' ; };
|
||||
bootstrap_stage = {
|
||||
id=feedback ; prev=profile ;
|
||||
bootstrap_target=profiledbootstrap ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-use"' ; };
|
||||
stage_cflags='$(BOOT_CFLAGS) -fprofile-use' ; };
|
||||
|
10934
Makefile.in
10934
Makefile.in
File diff suppressed because it is too large
Load Diff
286
Makefile.tpl
286
Makefile.tpl
@ -28,11 +28,17 @@ in
|
||||
# -------------------------------
|
||||
VPATH=@srcdir@
|
||||
|
||||
build_alias=@build_alias@
|
||||
build_alias=@build_noncanonical@
|
||||
build_vendor=@build_vendor@
|
||||
build_os=@build_os@
|
||||
build=@build@
|
||||
host_alias=@host_alias@
|
||||
host_alias=@host_noncanonical@
|
||||
host_vendor=@host_vendor@
|
||||
host_os=@host_os@
|
||||
host=@host@
|
||||
target_alias=@target_alias@
|
||||
target_alias=@target_noncanonical@
|
||||
target_vendor=@target_vendor@
|
||||
target_os=@target_os@
|
||||
target=@target@
|
||||
|
||||
program_transform_name = @program_transform_name@
|
||||
@ -55,6 +61,7 @@ oldincludedir = @oldincludedir@
|
||||
infodir = @infodir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
pdfdir = @pdfdir@
|
||||
htmldir = @htmldir@
|
||||
mandir = @mandir@
|
||||
man1dir = $(mandir)/man1
|
||||
@ -73,6 +80,9 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
LN = @LN@
|
||||
LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
|
||||
# -------------------------------------------------
|
||||
# Miscellaneous non-standard autoconf-set variables
|
||||
@ -180,7 +190,8 @@ POSTSTAGE1_HOST_EXPORTS = \
|
||||
CC_FOR_BUILD="$(STAGE_CC_WRAPPER) \
|
||||
$$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
|
||||
-B$$r/$(HOST_SUBDIR)/prev-gcc/ \
|
||||
-B$(build_tooldir)/bin/"; export CC_FOR_BUILD;
|
||||
-B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \
|
||||
LDFLAGS="$(BOOT_LDFLAGS)"; export LDFLAGS;
|
||||
|
||||
# Target libraries are put under this directory:
|
||||
TARGET_SUBDIR = @target_subdir@
|
||||
@ -288,13 +299,26 @@ RANLIB = @RANLIB@
|
||||
STRIP = @STRIP@
|
||||
WINDRES = @WINDRES@
|
||||
|
||||
GNATBIND = @GNATBIND@
|
||||
GNATMAKE = @GNATMAKE@
|
||||
|
||||
CFLAGS = @CFLAGS@
|
||||
LDFLAGS =
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBCFLAGS = $(CFLAGS)
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
|
||||
PICFLAG =
|
||||
|
||||
# Only build the C compiler for stage1, because that is the only one that
|
||||
# we can guarantee will build with the native compiler, and also it is the
|
||||
# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
|
||||
# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
|
||||
# overrideable (for a bootstrap build stage1 also builds gcc.info).
|
||||
|
||||
STAGE1_CFLAGS=@stage1_cflags@
|
||||
STAGE1_CHECKING=@stage1_checking@
|
||||
STAGE1_LANGUAGES=@stage1_languages@
|
||||
|
||||
# -----------------------------------------------
|
||||
# Programs producing files for the TARGET machine
|
||||
# -----------------------------------------------
|
||||
@ -426,6 +450,14 @@ X11_FLAGS_TO_PASS = \
|
||||
'X11_EXTRA_CFLAGS=$(X11_EXTRA_CFLAGS)' \
|
||||
'X11_EXTRA_LIBS=$(X11_EXTRA_LIBS)'
|
||||
|
||||
# Flags to pass to stage2 and later makes.
|
||||
|
||||
POSTSTAGE1_FLAGS_TO_PASS = \
|
||||
CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
|
||||
GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind" \
|
||||
LDFLAGS="$(BOOT_LDFLAGS)" \
|
||||
"`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
|
||||
|
||||
# Flags to pass down to makes which are built with the target environment.
|
||||
# The double $ decreases the length of the command line; those variables
|
||||
# are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. The
|
||||
@ -506,9 +538,10 @@ all-host: maybe-all-[+module+][+ IF bootstrap +]
|
||||
|
||||
.PHONY: all-target
|
||||
[+ FOR target_modules +][+ IF bootstrap +]
|
||||
@if [+module+]-no-bootstrap[+ ENDIF bootstrap +]
|
||||
@if target-[+module+]-no-bootstrap[+ ENDIF bootstrap +]
|
||||
all-target: maybe-all-target-[+module+][+ IF bootstrap +]
|
||||
@endif [+module+]-no-bootstrap[+ ENDIF bootstrap +][+ ENDFOR target_modules +]
|
||||
@endif target-[+module+]-no-bootstrap[+
|
||||
ENDIF bootstrap +][+ ENDFOR target_modules +]
|
||||
|
||||
# Do a target for all the subdirectories. A ``make do-X'' will do a
|
||||
# ``make X'' in all subdirectories (because, in general, there is a
|
||||
@ -535,12 +568,14 @@ do-[+make_target+]:
|
||||
|
||||
# Here are the targets which correspond to the do-X targets.
|
||||
|
||||
.PHONY: info installcheck dvi html install-info install-html
|
||||
.PHONY: info installcheck dvi pdf html
|
||||
.PHONY: install-info install-pdf install-html
|
||||
.PHONY: clean distclean mostlyclean maintainer-clean realclean
|
||||
.PHONY: local-clean local-distclean local-maintainer-clean
|
||||
info: do-info
|
||||
installcheck: do-installcheck
|
||||
dvi: do-dvi
|
||||
pdf: do-pdf
|
||||
html: do-html
|
||||
|
||||
# Make sure makeinfo is built before we do a `make info', if we're
|
||||
@ -553,6 +588,8 @@ install-info: do-install-info dir.info
|
||||
$(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info ; \
|
||||
else true ; fi
|
||||
|
||||
install-pdf: do-install-pdf
|
||||
|
||||
install-html: do-install-html
|
||||
|
||||
local-clean:
|
||||
@ -585,11 +622,6 @@ maintainer-clean: local-maintainer-clean do-maintainer-clean local-clean
|
||||
maintainer-clean: local-distclean
|
||||
realclean: maintainer-clean
|
||||
|
||||
# Extra dependency for clean-target, owing to the mixed nature of gcc.
|
||||
clean-target: clean-target-libgcc
|
||||
clean-target-libgcc:
|
||||
test ! -d gcc || (cd gcc && $(MAKE) $@)
|
||||
|
||||
# Check target.
|
||||
|
||||
.PHONY: check do-check
|
||||
@ -720,14 +752,12 @@ TAGS: do-TAGS
|
||||
[+ DEFINE configure +]
|
||||
.PHONY: configure-[+prefix+][+module+] maybe-configure-[+prefix+][+module+]
|
||||
maybe-configure-[+prefix+][+module+]:
|
||||
@if gcc-bootstrap
|
||||
configure-[+prefix+][+module+]: stage_current
|
||||
@endif gcc-bootstrap
|
||||
@if [+prefix+][+module+]
|
||||
maybe-configure-[+prefix+][+module+]: configure-[+prefix+][+module+]
|
||||
configure-[+prefix+][+module+]: [+ IF bootstrap +]
|
||||
@endif [+prefix+][+module+]
|
||||
@if [+prefix+][+module+]-bootstrap
|
||||
@if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi
|
||||
@endif [+prefix+][+module+]-bootstrap
|
||||
@if [+prefix+][+module+][+ ELSE bootstrap +]
|
||||
configure-[+prefix+][+module+]: [+ IF bootstrap +][+ ELSE +]
|
||||
@: $(MAKE); $(unstage)[+ ENDIF bootstrap +]
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
@ -759,7 +789,8 @@ configure-[+prefix+][+module+]: [+ IF bootstrap +]
|
||||
libsrcdir="$$s/[+module+]"; \
|
||||
[+ IF no-config-site +]rm -f no-such-file || : ; \
|
||||
CONFIG_SITE=no-such-file [+ ENDIF +]$(SHELL) $${libsrcdir}/configure \
|
||||
[+args+] $${srcdiroption} [+extra_configure_flags+] \
|
||||
[+args+] --build=${build_alias} --host=[+host_alias+] \
|
||||
--target=[+target_alias+] $${srcdiroption} [+extra_configure_flags+] \
|
||||
|| exit 1
|
||||
@endif [+prefix+][+module+]
|
||||
|
||||
@ -790,6 +821,8 @@ configure-stage[+id+]-[+prefix+][+module+]:
|
||||
[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
|
||||
[+exports+][+ IF prev +] \
|
||||
[+poststage1_exports+][+ ENDIF prev +] \
|
||||
CFLAGS="[+stage_cflags+]"; export CFLAGS; \
|
||||
LIBCFLAGS="[+stage_cflags+]"; export LIBCFLAGS; \
|
||||
echo Configuring stage [+id+] in [+subdir+]/[+module+] ; \
|
||||
$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
|
||||
cd [+subdir+]/[+module+] || exit 1; \
|
||||
@ -801,7 +834,9 @@ configure-stage[+id+]-[+prefix+][+module+]:
|
||||
srcdiroption="--srcdir=$${topdir}/[+module+]"; \
|
||||
libsrcdir="$$s/[+module+]"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
[+args+] $${srcdiroption} \
|
||||
[+args+] --build=${build_alias} --host=[+host_alias+] \
|
||||
--target=[+target_alias+] $${srcdiroption} \
|
||||
[+ IF prev +]--with-build-libsubdir=$(HOST_SUBDIR)[+ ENDIF prev +] \
|
||||
[+stage_configure_flags+] [+extra_configure_flags+]
|
||||
@endif [+prefix+][+module+]-bootstrap
|
||||
[+ ENDFOR bootstrap_stage +]
|
||||
@ -811,16 +846,14 @@ configure-stage[+id+]-[+prefix+][+module+]:
|
||||
[+ DEFINE all +]
|
||||
.PHONY: all-[+prefix+][+module+] maybe-all-[+prefix+][+module+]
|
||||
maybe-all-[+prefix+][+module+]:
|
||||
@if gcc-bootstrap
|
||||
all-[+prefix+][+module+]: stage_current
|
||||
@endif gcc-bootstrap
|
||||
@if [+prefix+][+module+]
|
||||
TARGET-[+prefix+][+module+]=[+
|
||||
IF target +][+target+][+ ELSE +]all[+ ENDIF target +]
|
||||
IF all_target +][+all_target+][+ ELSE +]all[+ ENDIF all_target +]
|
||||
maybe-all-[+prefix+][+module+]: all-[+prefix+][+module+]
|
||||
all-[+prefix+][+module+]: configure-[+prefix+][+module+][+ IF bootstrap +]
|
||||
@endif [+prefix+][+module+]
|
||||
@if [+prefix+][+module+]-bootstrap
|
||||
@if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi
|
||||
@endif [+prefix+][+module+]-bootstrap
|
||||
@if [+prefix+][+module+][+ ELSE bootstrap +]
|
||||
all-[+prefix+][+module+]: configure-[+prefix+][+module+][+ IF bootstrap +][+ ELSE +]
|
||||
@: $(MAKE); $(unstage)[+ ENDIF bootstrap +]
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
@ -846,21 +879,25 @@ all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
|
||||
[+exports+][+ IF prev +] \
|
||||
[+poststage1_exports+][+ ENDIF prev +] \
|
||||
cd [+subdir+]/[+module+] && \
|
||||
$(MAKE) [+args+] [+ IF prev
|
||||
+][+poststage1_args+][+ ENDIF prev
|
||||
+] [+stage_make_flags+] [+extra_make_flags+] \
|
||||
$(MAKE) [+args+] \
|
||||
CFLAGS="[+stage_cflags+]" LIBCFLAGS="[+stage_cflags+]" [+
|
||||
IF prev +][+poststage1_args+][+ ENDIF prev
|
||||
+] [+extra_make_flags+] \
|
||||
$(TARGET-stage[+id+]-[+prefix+][+module+])
|
||||
|
||||
maybe-clean-stage[+id+]-[+prefix+][+module+]: clean-stage[+id+]-[+prefix+][+module+]
|
||||
clean-stage[+id+]: clean-stage[+id+]-[+prefix+][+module+]
|
||||
clean-stage[+id+]-[+prefix+][+module+]:
|
||||
@[ -f [+subdir+]/[+module+]/Makefile ] || [ -f [+subdir+]/stage[+id+]-[+module+]/Makefile ] \
|
||||
|| exit 0 ; \
|
||||
[ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start; \
|
||||
@if [ $(current_stage) = stage[+id+] ]; then \
|
||||
[ -f [+subdir+]/[+module+]/Makefile ] || exit 0; \
|
||||
else \
|
||||
[ -f [+subdir+]/stage[+id+]-[+module+]/Makefile ] || exit 0; \
|
||||
$(MAKE) stage[+id+]-start; \
|
||||
fi; \
|
||||
cd [+subdir+]/[+module+] && \
|
||||
$(MAKE) [+args+] [+ IF prev +] \
|
||||
[+poststage1_args+] [+ ENDIF prev +] \
|
||||
[+stage_make_flags+] [+extra_make_flags+] clean
|
||||
[+extra_make_flags+] clean
|
||||
@endif [+prefix+][+module+]-bootstrap
|
||||
|
||||
[+ ENDFOR bootstrap_stage +]
|
||||
@ -872,6 +909,8 @@ clean-stage[+id+]-[+prefix+][+module+]:
|
||||
# --------------------------------------
|
||||
[+ FOR build_modules +]
|
||||
[+ configure prefix="build-" subdir="$(BUILD_SUBDIR)" exports="$(BUILD_EXPORTS)"
|
||||
host_alias=(get "host" "${build_alias}")
|
||||
target_alias=(get "target" "${target_alias}")
|
||||
args="$(BUILD_CONFIGARGS)" no-config-site=true +]
|
||||
|
||||
[+ all prefix="build-" subdir="$(BUILD_SUBDIR)" exports="$(BUILD_EXPORTS)" +]
|
||||
@ -884,6 +923,8 @@ clean-stage[+id+]-[+prefix+][+module+]:
|
||||
[+ configure prefix="" subdir="$(HOST_SUBDIR)"
|
||||
exports="$(HOST_EXPORTS)"
|
||||
poststage1_exports="$(POSTSTAGE1_HOST_EXPORTS)"
|
||||
host_alias=(get "host" "${host_alias}")
|
||||
target_alias=(get "target" "${target_alias}")
|
||||
args="$(HOST_CONFIGARGS)" +]
|
||||
|
||||
[+ all prefix="" subdir="$(HOST_SUBDIR)"
|
||||
@ -937,7 +978,7 @@ install-[+module+]: installdirs
|
||||
[+ ENDIF no_install +]
|
||||
@endif [+module+]
|
||||
|
||||
# Other targets (info, dvi, etc.)
|
||||
# Other targets (info, dvi, pdf, etc.)
|
||||
[+ FOR recursive_targets +]
|
||||
.PHONY: maybe-[+make_target+]-[+module+] [+make_target+]-[+module+]
|
||||
maybe-[+make_target+]-[+module+]:
|
||||
@ -981,6 +1022,8 @@ maybe-[+make_target+]-[+module+]: [+make_target+]-[+module+]
|
||||
[+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
|
||||
check_multilibs=true
|
||||
exports="$(RAW_CXX_TARGET_EXPORTS)"
|
||||
host_alias=(get "host" "${target_alias}")
|
||||
target_alias=(get "target" "${target_alias}")
|
||||
args="$(TARGET_CONFIGARGS)" no-config-site=true +]
|
||||
|
||||
[+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
|
||||
@ -990,6 +1033,8 @@ maybe-[+make_target+]-[+module+]: [+make_target+]-[+module+]
|
||||
[+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
|
||||
check_multilibs=true
|
||||
exports="$(NORMAL_TARGET_EXPORTS)"
|
||||
host_alias=(get "host" "${target_alias}")
|
||||
target_alias=(get "target" "${target_alias}")
|
||||
args="$(TARGET_CONFIGARGS)" no-config-site=true +]
|
||||
|
||||
[+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
|
||||
@ -1045,7 +1090,7 @@ ENDIF raw_cxx +]
|
||||
[+ ENDIF no_install +]
|
||||
@endif target-[+module+]
|
||||
|
||||
# Other targets (info, dvi, etc.)
|
||||
# Other targets (info, dvi, pdf, etc.)
|
||||
[+ FOR recursive_targets +]
|
||||
.PHONY: maybe-[+make_target+]-target-[+module+] [+make_target+]-target-[+module+]
|
||||
maybe-[+make_target+]-target-[+module+]:
|
||||
@ -1089,60 +1134,6 @@ ENDIF raw_cxx +]
|
||||
# ----------
|
||||
|
||||
@if gcc-no-bootstrap
|
||||
# GCC has some more recursive targets, which trigger the old
|
||||
# (but still current, until the toplevel bootstrap project
|
||||
# is finished) compiler bootstrapping rules.
|
||||
|
||||
GCC_STRAP_TARGETS = bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap
|
||||
.PHONY: $(GCC_STRAP_TARGETS)
|
||||
$(GCC_STRAP_TARGETS): all-prebootstrap configure-gcc
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
echo "Bootstrapping the compiler"; \
|
||||
$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,:[ :]*,:,g;s,^[ :]*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
|
||||
cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $@
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
case "$@" in \
|
||||
*bootstrap4-lean ) \
|
||||
msg="Comparing stage3 and stage4 of the compiler"; \
|
||||
compare=compare3-lean ;; \
|
||||
*bootstrap4 ) \
|
||||
msg="Comparing stage3 and stage4 of the compiler"; \
|
||||
compare=compare3 ;; \
|
||||
*-lean ) \
|
||||
msg="Comparing stage2 and stage3 of the compiler"; \
|
||||
compare=compare-lean ;; \
|
||||
* ) \
|
||||
msg="Comparing stage2 and stage3 of the compiler"; \
|
||||
compare=compare ;; \
|
||||
esac; \
|
||||
$(HOST_EXPORTS) \
|
||||
echo "$$msg"; \
|
||||
cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $$compare
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
|
||||
echo "Building runtime libraries"; \
|
||||
$(MAKE) $(RECURSE_FLAGS_TO_PASS) all
|
||||
|
||||
profiledbootstrap: all-prebootstrap configure-gcc
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,:[ :]*,:,g;s,^[ :]*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
|
||||
echo "Bootstrapping training compiler"; \
|
||||
cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stageprofile_build
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
echo "Building feedback based compiler"; \
|
||||
cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stagefeedback_build
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
|
||||
echo "Building runtime libraries"; \
|
||||
$(MAKE) $(RECURSE_FLAGS_TO_PASS) all
|
||||
|
||||
.PHONY: cross
|
||||
cross: all-build all-gas all-ld
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
@ -1212,7 +1203,7 @@ stage = :
|
||||
current_stage = ""
|
||||
|
||||
@if gcc-bootstrap
|
||||
unstage = [ -f stage_current ] || $(MAKE) `cat stage_last`-start
|
||||
unstage = if [ -f stage_last ]; then [ -f stage_current ] || $(MAKE) `cat stage_last`-start || exit 1; else :; fi
|
||||
stage = if [ -f stage_current ]; then $(MAKE) `cat stage_current`-end || exit 1; else :; fi
|
||||
current_stage = "`cat stage_current 2> /dev/null`"
|
||||
@endif gcc-bootstrap
|
||||
@ -1240,36 +1231,9 @@ LEAN = false
|
||||
# 'touch' doesn't work right on some platforms.
|
||||
STAMP = echo timestamp >
|
||||
|
||||
# Only build the C compiler for stage1, because that is the only one that
|
||||
# we can guarantee will build with the native compiler, and also it is the
|
||||
# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
|
||||
# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
|
||||
# overrideable (for a bootstrap build stage1 also builds gcc.info).
|
||||
|
||||
STAGE1_CFLAGS=@stage1_cflags@
|
||||
STAGE1_LANGUAGES=@stage1_languages@
|
||||
|
||||
# We only want to compare .o files, so set this!
|
||||
objext = .o
|
||||
|
||||
# Flags to pass to stage2 and later makes.
|
||||
POSTSTAGE1_FLAGS_TO_PASS = \
|
||||
CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
|
||||
STAGE_PREFIX=$$r/prev-gcc/ \
|
||||
CFLAGS="$(BOOT_CFLAGS)" \
|
||||
LIBCFLAGS="$(BOOT_CFLAGS)" \
|
||||
LDFLAGS="$(BOOT_LDFLAGS)" \
|
||||
ADAC="\$$(CC)"
|
||||
|
||||
# For stage 1:
|
||||
# * We force-disable intermodule optimizations, even if
|
||||
# --enable-intermodule was passed, since the installed compiler probably
|
||||
# can't handle them. Luckily, autoconf always respects
|
||||
# the last argument when conflicting --enable arguments are passed.
|
||||
# * Likewise, we force-disable coverage flags, since the installed compiler
|
||||
# probably has never heard of them.
|
||||
# * We build only C (and possibly Ada).
|
||||
|
||||
[+ FOR bootstrap-stage +]
|
||||
.PHONY: stage[+id+]-start stage[+id+]-end
|
||||
|
||||
@ -1303,7 +1267,7 @@ stage[+id+]-end:: [+ FOR host_modules +][+ IF bootstrap +]
|
||||
fi
|
||||
rm -f stage_current
|
||||
|
||||
# Bubble a bugfix through all the stages up to stage [+id+]. They are
|
||||
# Bubble a bug fix through all the stages up to stage [+id+]. They are
|
||||
# remade, but not reconfigured. The next stage (if any) will not be
|
||||
# reconfigured as well.
|
||||
.PHONY: stage[+id+]-bubble
|
||||
@ -1397,12 +1361,21 @@ do-clean: clean-stage[+id+]
|
||||
.PHONY: distclean-stage[+id+]
|
||||
distclean-stage[+id+]::
|
||||
@: $(MAKE); $(stage)
|
||||
@test "`cat stage_last`" != stage[+id+] || rm -f stage_last
|
||||
rm -rf stage[+id+]-* [+
|
||||
IF compare-target +][+compare-target+] [+ ENDIF compare-target +]
|
||||
|
||||
[+ IF cleanstrap-target +]
|
||||
.PHONY: [+cleanstrap-target+]
|
||||
[+cleanstrap-target+]: distclean [+bootstrap-target+]
|
||||
[+cleanstrap-target+]: do-distclean local-clean
|
||||
echo stage[+id+] > stage_final
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage[+id+]-bubble
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
|
||||
[+ ENDIF cleanstrap-target +]
|
||||
@endif gcc-bootstrap
|
||||
|
||||
@ -1428,14 +1401,19 @@ do-distclean: distclean-stage1
|
||||
# not work as a dependency, just as the minimum necessary to avoid errors.
|
||||
stage_last:
|
||||
$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage1-bubble
|
||||
@endif gcc-bootstrap
|
||||
|
||||
# Same as unstage, but not phony and defaulting to stage1-start. We place
|
||||
# it in the dependency so that for example `make -j3 all-gcc' works.
|
||||
stage_current:
|
||||
@if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi
|
||||
|
||||
.PHONY: restrap
|
||||
restrap:
|
||||
@: $(MAKE); $(stage)
|
||||
rm -rf stage1-$(TARGET_SUBDIR) [+ FOR bootstrap-stage +][+ IF prev
|
||||
+]stage[+id+] [+ ENDIF prev +][+ ENDFOR bootstrap-stage +]
|
||||
+]stage[+id+]-* [+ ENDIF prev +][+ ENDFOR bootstrap-stage +]
|
||||
$(MAKE) $(RECURSE_FLAGS_TO_PASS) all
|
||||
@endif gcc-bootstrap
|
||||
|
||||
# --------------------------------------
|
||||
# Dependencies between different modules
|
||||
@ -1450,18 +1428,12 @@ configure-target-[+module+]: stage_last[+
|
||||
ENDIF bootstrap +][+ ENDFOR target_modules +]
|
||||
@endif gcc-bootstrap
|
||||
|
||||
@if gcc-no-bootstrap[+ FOR target_modules +][+ IF bootstrap
|
||||
+][+ ELSE +]
|
||||
@if gcc-no-bootstrap[+ FOR target_modules +]
|
||||
configure-target-[+module+]: maybe-all-gcc[+
|
||||
ENDIF bootstrap +][+ ENDFOR target_modules +]
|
||||
ENDFOR target_modules +]
|
||||
@endif gcc-no-bootstrap
|
||||
|
||||
|
||||
[+ FOR lang_env_dependencies +]
|
||||
configure-target-[+module+]: maybe-all-target-newlib maybe-all-target-libgloss
|
||||
[+ IF cxx +]configure-target-[+module+]: maybe-all-target-libstdc++-v3
|
||||
[+ ENDIF cxx +][+ ENDFOR lang_env_dependencies +]
|
||||
|
||||
# There are two types of dependencies here: 'hard' dependencies, where one
|
||||
# module simply won't build without the other; and 'soft' dependencies, where
|
||||
# if the depended-on module is missing, the depending module will do without
|
||||
@ -1550,7 +1522,6 @@ configure-target-[+module+]: maybe-all-target-newlib maybe-all-target-libgloss
|
||||
+][+ FOR bootstrap_stage +]
|
||||
[+ (make-dep (dep-stage) "") +][+
|
||||
ENDFOR bootstrap_stage +]
|
||||
all-prebootstrap: [+ (dep-target "" "on" (exist? "hard")) +]
|
||||
[+ == "bootstrap"
|
||||
+][+ FOR bootstrap_stage +]
|
||||
[+ (make-dep (dep-stage) (dep-stage)) +][+
|
||||
@ -1558,17 +1529,48 @@ all-prebootstrap: [+ (dep-target "" "on" (exist? "hard")) +]
|
||||
[+ ESAC +][+
|
||||
ENDFOR dependencies +]
|
||||
|
||||
# Non-toplevel bootstrap rules must depend on several packages, to be built
|
||||
# before gcc. Another wart that will go away, hopefully soon.
|
||||
@if gcc-no-bootstrap
|
||||
[+ FOR host_modules +][+
|
||||
IF (and (not (= (get "module") "gcc"))
|
||||
(hash-ref boot-modules (get "module"))) +]
|
||||
all-prebootstrap: maybe-all-[+module+][+
|
||||
ENDIF +][+
|
||||
ENDFOR host_modules +]
|
||||
# Dependencies for target modules on other target modules are
|
||||
# described by lang_env_dependencies; the defaults apply to anything
|
||||
# not mentioned there.
|
||||
[+
|
||||
;; Predicate for whether LANG was specified in lang_env_dependencies.
|
||||
(define lang-dep (lambda (lang)
|
||||
(hash-ref lang-env-deps (string-append (get "module") "-" lang))))
|
||||
|
||||
;; Build the hash table we will need.
|
||||
(define lang-env-deps (make-hash-table 7))
|
||||
+][+ FOR lang_env_dependencies +][+
|
||||
(if (exist? "cxx")
|
||||
(hash-create-handle! lang-env-deps
|
||||
(string-append (get "module") "-" "cxx") #t))
|
||||
|
||||
(if (exist? "no_c")
|
||||
(hash-create-handle! lang-env-deps
|
||||
(string-append (get "module") "-" "no_c") #t))
|
||||
|
||||
(if (exist? "no_gcc")
|
||||
(hash-create-handle! lang-env-deps
|
||||
(string-append (get "module") "-" "no_gcc") #t))
|
||||
"" +][+ ENDFOR lang_env_dependencies +]
|
||||
|
||||
@if gcc-bootstrap[+ FOR target_modules +][+ IF (not (lang-dep "no_gcc"))
|
||||
+][+ IF bootstrap +][+ FOR bootstrap_stage +]
|
||||
configure-stage[+id+]-target-[+module+]: maybe-all-stage[+id+]-target-libgcc[+
|
||||
ENDFOR +][+ ENDIF bootstrap +][+ ENDIF +][+ ENDFOR target_modules +]
|
||||
@endif gcc-bootstrap
|
||||
|
||||
@if gcc-no-bootstrap[+ FOR target_modules +][+ IF (not (lang-dep "no_gcc")) +]
|
||||
configure-target-[+module+]: maybe-all-target-libgcc[+
|
||||
ENDIF +][+ ENDFOR target_modules +]
|
||||
@endif gcc-no-bootstrap
|
||||
|
||||
[+ FOR target_modules +][+ IF (not (lang-dep "no_c")) +]
|
||||
configure-target-[+module+]: maybe-all-target-newlib maybe-all-target-libgloss[+
|
||||
ENDIF +][+ IF (lang-dep "cxx") +]
|
||||
configure-target-[+module+]: maybe-all-target-libstdc++-v3[+
|
||||
ENDIF +]
|
||||
[+ ENDFOR target_modules +]
|
||||
|
||||
CONFIGURE_GDB_TK = @CONFIGURE_GDB_TK@
|
||||
GDB_TK = @GDB_TK@
|
||||
INSTALL_GDB_TK = @INSTALL_GDB_TK@
|
||||
@ -1599,7 +1601,7 @@ config.status: configure
|
||||
|
||||
# Rebuilding configure.
|
||||
AUTOCONF = autoconf
|
||||
$(srcdir)/configure: @MAINT@ $(srcdir)/configure.in $(srcdir)/config/acx.m4
|
||||
$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac $(srcdir)/config/acx.m4
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
# ------------------------------
|
||||
|
2897
bfd/ChangeLog
2897
bfd/ChangeLog
File diff suppressed because it is too large
Load Diff
@ -858,7 +858,7 @@
|
||||
Bernardo Innocenti <bernie@develer.com>
|
||||
|
||||
* archures.c: Add MCF528x (MCFv4) support.
|
||||
* bfd/cpu-m68k.c (arch_info_struct): Likewise.
|
||||
* cpu-m68k.c (arch_info_struct): Likewise.
|
||||
* bfd-in2.h: Regenerate.
|
||||
|
||||
2003-10-20 Andrew Cagney <cagney@redhat.com>
|
||||
@ -1953,10 +1953,10 @@
|
||||
|
||||
2003-07-12 Jeff Baker <jbaker@qnx.com>
|
||||
|
||||
* bfd/config.bfd (__QNXTARGET__): Define for Neutrino architectures.
|
||||
* bfd/elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
|
||||
* bfd/elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
|
||||
* bfd/elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
|
||||
* config.bfd (__QNXTARGET__): Define for Neutrino architectures.
|
||||
* elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
|
||||
* elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
|
||||
* elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
|
||||
|
||||
2003-07-12 Jeff Muizelaar <muizelaar@rogers.com>
|
||||
|
||||
@ -2196,13 +2196,13 @@
|
||||
|
||||
2003-07-09 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
|
||||
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
|
||||
forced-local symbols like other locals. Don't create relocations
|
||||
against STN_UNDEF in irix objects.
|
||||
|
||||
2003-07-09 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
|
||||
* elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
|
||||
compatible objects, add the values of defined external symbols
|
||||
to the addend.
|
||||
|
||||
|
@ -283,7 +283,7 @@
|
||||
|
||||
2004-11-13 Paul Brook <paul@codesourcery.com>
|
||||
|
||||
* bfd/elf32-arm.c (elf32_arm_final_link_relocate): Resolve
|
||||
* elf32-arm.c (elf32_arm_final_link_relocate): Resolve
|
||||
R_ARM_PREL31 relocations to PLT entries.
|
||||
(elf32_arm_relocate_section, elf32_arm_gc_sweep_hook): Ditto.
|
||||
(elf32_arm_check_relocs): Ditto.
|
||||
@ -1248,7 +1248,7 @@
|
||||
* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
|
||||
(bfd_elf32_arm_process_before_allocation): Update prototype.
|
||||
* bfd-in2.h: Regenerate.
|
||||
* bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
|
||||
* elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
|
||||
(elf32_arm_link_hash_table_create): Set it.
|
||||
(bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
|
||||
(bfd_elf32_arm_set_target_relocs): New function.
|
||||
@ -3017,7 +3017,7 @@
|
||||
2004-06-07 Daniel Jacobowitz <dan@debian.org>
|
||||
|
||||
From: Albert Chin-A-Young <china@thewrittenword.com>
|
||||
* bfd/elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
|
||||
* elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
|
||||
to unsigned int.
|
||||
|
||||
2004-05-29 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
@ -1899,7 +1899,7 @@
|
||||
|
||||
2005-06-27 Carlos O'Donell <carlos@systemhalted.org>
|
||||
|
||||
* bfd/elf32-hppa.c (struct elf32_hppa_stub_hash_entry):
|
||||
* elf32-hppa.c (struct elf32_hppa_stub_hash_entry):
|
||||
Use bh_root, and hh.
|
||||
(struct elf32_hppa_link_hash_entry): Use eh, and hsh_cache.
|
||||
(struct elf32_hppa_dyn_reloc_entry): Use hdh_next.
|
||||
@ -1936,7 +1936,7 @@
|
||||
|
||||
2005-06-21 Carlos O'Donell <carlos@systemhalted.org>
|
||||
|
||||
* bfd/elf32-hppa.c (hppa_elf_hash_entry): Define.
|
||||
* elf32-hppa.c (hppa_elf_hash_entry): Define.
|
||||
(hppa_stub_hash_entry): Define.
|
||||
(stub_hash_newfunc): Rename variables.
|
||||
(hppa_link_hash_newfunc): Likewise.
|
||||
@ -2504,7 +2504,7 @@
|
||||
|
||||
2005-05-20 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* bfd/elf32-ppc.c (struct ppc_elf_link_hash_entry): Add new field
|
||||
* elf32-ppc.c (struct ppc_elf_link_hash_entry): Add new field
|
||||
has_sda_refs.
|
||||
(ppc_elf_copy_indirect_symbol): Copy has_sda_refs.
|
||||
(ppc_elf_check_relocs): Set has_sda_refs.
|
||||
@ -5202,7 +5202,7 @@
|
||||
|
||||
2005-01-07 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* bfd/elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections into
|
||||
* elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections into
|
||||
PT_DYNAMIC segment, unless .dynamic.
|
||||
|
||||
2005-01-06 Paul Brook <paul@codesourcery.com>
|
||||
|
3601
bfd/ChangeLog-2006
Normal file
3601
bfd/ChangeLog-2006
Normal file
File diff suppressed because it is too large
Load Diff
208
bfd/Makefile.am
208
bfd/Makefile.am
@ -1,6 +1,7 @@
|
||||
## Process this file with automake to generate Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = 1.9 cygnus
|
||||
ACLOCAL_AMFLAGS = -I . -I .. -I ../config
|
||||
|
||||
# Uncomment the following line when doing a release.
|
||||
# RELEASE=y
|
||||
@ -63,6 +64,7 @@ ALL_MACHINES = \
|
||||
cpu-arm.lo \
|
||||
cpu-avr.lo \
|
||||
cpu-bfin.lo \
|
||||
cpu-cr16.lo \
|
||||
cpu-cr16c.lo \
|
||||
cpu-cris.lo \
|
||||
cpu-crx.lo \
|
||||
@ -91,6 +93,7 @@ ALL_MACHINES = \
|
||||
cpu-m10300.lo \
|
||||
cpu-maxq.lo \
|
||||
cpu-mcore.lo \
|
||||
cpu-mep.lo \
|
||||
cpu-mips.lo \
|
||||
cpu-mmix.lo \
|
||||
cpu-mt.lo \
|
||||
@ -103,8 +106,10 @@ ALL_MACHINES = \
|
||||
cpu-powerpc.lo \
|
||||
cpu-rs6000.lo \
|
||||
cpu-s390.lo \
|
||||
cpu-score.lo \
|
||||
cpu-sh.lo \
|
||||
cpu-sparc.lo \
|
||||
cpu-spu.lo \
|
||||
cpu-tic30.lo \
|
||||
cpu-tic4x.lo \
|
||||
cpu-tic54x.lo \
|
||||
@ -125,6 +130,7 @@ ALL_MACHINES_CFILES = \
|
||||
cpu-arm.c \
|
||||
cpu-avr.c \
|
||||
cpu-bfin.c \
|
||||
cpu-cr16.c \
|
||||
cpu-cris.c \
|
||||
cpu-cr16c.c \
|
||||
cpu-crx.c \
|
||||
@ -153,6 +159,7 @@ ALL_MACHINES_CFILES = \
|
||||
cpu-m10300.c \
|
||||
cpu-maxq.c \
|
||||
cpu-mcore.c \
|
||||
cpu-mep.c \
|
||||
cpu-mips.c \
|
||||
cpu-mmix.c \
|
||||
cpu-mt.c \
|
||||
@ -165,8 +172,10 @@ ALL_MACHINES_CFILES = \
|
||||
cpu-powerpc.c \
|
||||
cpu-rs6000.c \
|
||||
cpu-s390.c \
|
||||
cpu-score.c \
|
||||
cpu-sh.c \
|
||||
cpu-sparc.c \
|
||||
cpu-spu.c \
|
||||
cpu-tic30.c \
|
||||
cpu-tic4x.c \
|
||||
cpu-tic54x.c \
|
||||
@ -235,6 +244,7 @@ BFD32_BACKENDS = \
|
||||
elf32-arm.lo \
|
||||
elf32-avr.lo \
|
||||
elf32-bfin.lo \
|
||||
elf32-cr16.lo \
|
||||
elf32-cr16c.lo \
|
||||
elf32-cris.lo \
|
||||
elf32-crx.lo \
|
||||
@ -262,6 +272,7 @@ BFD32_BACKENDS = \
|
||||
elf-m10200.lo \
|
||||
elf-m10300.lo \
|
||||
elf32-mcore.lo \
|
||||
elf32-mep.lo \
|
||||
elfxx-mips.lo \
|
||||
elf32-mips.lo \
|
||||
elf32-mt.lo \
|
||||
@ -271,12 +282,14 @@ BFD32_BACKENDS = \
|
||||
elf32-pj.lo \
|
||||
elf32-ppc.lo \
|
||||
elf32-s390.lo \
|
||||
elf32-score.lo \
|
||||
elf32-sh.lo \
|
||||
elf32-sh-symbian.lo \
|
||||
elf32-sh64.lo \
|
||||
elf32-sh64-com.lo \
|
||||
elfxx-sparc.lo \
|
||||
elf32-sparc.lo \
|
||||
elf32-spu.lo \
|
||||
elf32-v850.lo \
|
||||
elf32-vax.lo \
|
||||
elf32-xstormy16.lo \
|
||||
@ -284,6 +297,7 @@ BFD32_BACKENDS = \
|
||||
elf32-xc16x.lo \
|
||||
elf32.lo \
|
||||
elflink.lo \
|
||||
elf-attrs.lo \
|
||||
elf-strtab.lo \
|
||||
elf-eh-frame.lo \
|
||||
elf-vxworks.lo \
|
||||
@ -323,6 +337,8 @@ BFD32_BACKENDS = \
|
||||
pef.lo \
|
||||
pe-arm.lo \
|
||||
pei-arm.lo \
|
||||
pe-arm-wince.lo \
|
||||
pei-arm-wince.lo \
|
||||
pe-i386.lo \
|
||||
pei-i386.lo \
|
||||
pe-mcore.lo \
|
||||
@ -407,6 +423,7 @@ BFD32_BACKENDS_CFILES = \
|
||||
elf32-arm.c \
|
||||
elf32-avr.c \
|
||||
elf32-bfin.c \
|
||||
elf32-cr16.c \
|
||||
elf32-cr16c.c \
|
||||
elf32-cris.c \
|
||||
elf32-crx.c \
|
||||
@ -434,6 +451,7 @@ BFD32_BACKENDS_CFILES = \
|
||||
elf-m10200.c \
|
||||
elf-m10300.c \
|
||||
elf32-mcore.c \
|
||||
elf32-mep.c \
|
||||
elfxx-mips.c \
|
||||
elf32-mips.c \
|
||||
elf32-mt.c \
|
||||
@ -445,10 +463,12 @@ BFD32_BACKENDS_CFILES = \
|
||||
elf32-sh64.c \
|
||||
elf32-sh64-com.c \
|
||||
elf32-s390.c \
|
||||
elf32-score.c \
|
||||
elf32-sh.c \
|
||||
elf32-sh-symbian.c \
|
||||
elfxx-sparc.c \
|
||||
elf32-sparc.c \
|
||||
elf32-spu.c \
|
||||
elf32-v850.c \
|
||||
elf32-vax.c \
|
||||
elf32-xstormy16.c \
|
||||
@ -456,6 +476,7 @@ BFD32_BACKENDS_CFILES = \
|
||||
elf32-xc16x.c \
|
||||
elf32.c \
|
||||
elflink.c \
|
||||
elf-attrs.c \
|
||||
elf-strtab.c \
|
||||
elf-eh-frame.c \
|
||||
elf-vxworks.c \
|
||||
@ -495,6 +516,8 @@ BFD32_BACKENDS_CFILES = \
|
||||
pef.c \
|
||||
pe-arm.c \
|
||||
pei-arm.c \
|
||||
pe-arm-wince.c \
|
||||
pei-arm-wince.c \
|
||||
pe-i386.c \
|
||||
pei-i386.c \
|
||||
pe-mcore.c \
|
||||
@ -538,6 +561,7 @@ BFD64_BACKENDS = \
|
||||
coff64-rs6000.lo \
|
||||
demo64.lo \
|
||||
efi-app-ia64.lo \
|
||||
efi-app-x86_64.lo \
|
||||
elf64-x86-64.lo \
|
||||
elf64-alpha.lo \
|
||||
elf64-hppa.lo \
|
||||
@ -555,7 +579,11 @@ BFD64_BACKENDS = \
|
||||
mmo.lo \
|
||||
nlm32-alpha.lo \
|
||||
nlm64.lo \
|
||||
pepigen.lo
|
||||
coff-x86_64.lo \
|
||||
pe-x86_64.lo \
|
||||
pei-x86_64.lo \
|
||||
pepigen.lo \
|
||||
pex64igen.lo
|
||||
|
||||
BFD64_BACKENDS_CFILES = \
|
||||
aix5ppc-core.c \
|
||||
@ -564,6 +592,7 @@ BFD64_BACKENDS_CFILES = \
|
||||
coff64-rs6000.c \
|
||||
demo64.c \
|
||||
efi-app-ia64.c \
|
||||
efi-app-x86_64.c \
|
||||
elf64-x86-64.c \
|
||||
elf64-alpha.c \
|
||||
elf64-hppa.c \
|
||||
@ -578,7 +607,10 @@ BFD64_BACKENDS_CFILES = \
|
||||
elf64.c \
|
||||
mmo.c \
|
||||
nlm32-alpha.c \
|
||||
nlm64.c
|
||||
nlm64.c \
|
||||
coff-x86_64.c \
|
||||
pe-x86_64.c \
|
||||
pei-x86_64.c
|
||||
|
||||
OPTIONAL_BACKENDS = \
|
||||
aix386-core.lo \
|
||||
@ -612,11 +644,10 @@ CONFIG_STATUS_DEPENDENCIES = \
|
||||
WORDSIZE = @wordsize@
|
||||
ALL_BACKENDS = @all_backends@
|
||||
BFD_BACKENDS = @bfd_backends@
|
||||
BFD_LIBS = @bfd_libs@
|
||||
BFD_MACHINES = @bfd_machines@
|
||||
TDEFAULTS = @tdefaults@
|
||||
|
||||
INCLUDES = @HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) -I$(srcdir)/../intl -I../intl
|
||||
INCLUDES = @HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) @INCINTL@
|
||||
|
||||
# C source files that correspond to .o's.
|
||||
SOURCE_CFILES = \
|
||||
@ -628,7 +659,7 @@ SOURCE_CFILES = \
|
||||
$(OPTIONAL_BACKENDS_CFILES)
|
||||
|
||||
BUILD_CFILES = \
|
||||
elf32-ia64.c elf64-ia64.c peigen.c pepigen.c
|
||||
elf32-ia64.c elf64-ia64.c peigen.c pepigen.c pex64igen.c
|
||||
|
||||
CFILES = $(SOURCE_CFILES) $(BUILD_CFILES)
|
||||
|
||||
@ -698,7 +729,8 @@ install-html-recursive:
|
||||
# BFD_BACKENDS Routines the configured targets need.
|
||||
# BFD_MACHINES Architecture-specific routines the configured targets need.
|
||||
# COREFILE Core file routines for a native configuration
|
||||
OFILES = $(BFD_BACKENDS) $(BFD_MACHINES) @COREFILE@
|
||||
# bfd64_libs Routines for 64bit support
|
||||
OFILES = $(BFD_BACKENDS) $(BFD_MACHINES) @COREFILE@ @bfd64_libs@
|
||||
|
||||
stamp-ofiles: Makefile
|
||||
rm -f tofiles
|
||||
@ -715,10 +747,12 @@ stamp-ofiles: Makefile
|
||||
|
||||
ofiles: stamp-ofiles ; @true
|
||||
|
||||
libbfd_la_SOURCES = $(BFD32_LIBS_CFILES) $(BFD64_LIBS_CFILES)
|
||||
# Since BFD64_LIBS is optional and we can't have substitution in
|
||||
# libbfd_la_SOURCES, we put BFD64_LIBS in OFILES instead.
|
||||
libbfd_la_SOURCES = $(BFD32_LIBS_CFILES)
|
||||
libbfd_la_DEPENDENCIES = $(OFILES) ofiles
|
||||
libbfd_la_LIBADD = `cat ofiles` @WIN32LIBADD@
|
||||
libbfd_la_LDFLAGS = -release $(VERSION) @WIN32LDFLAGS@
|
||||
libbfd_la_LDFLAGS = -release `cat libtool-soversion` @WIN32LDFLAGS@
|
||||
|
||||
# libtool will build .libs/libbfd.a. We create libbfd.a in the build
|
||||
# directory so that we don't have to convert all the programs that use
|
||||
@ -756,6 +790,9 @@ targets.lo: targets.c Makefile
|
||||
archures.lo: archures.c Makefile
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $(TDEFAULTS) $(srcdir)/archures.c
|
||||
|
||||
dwarf2.lo: dwarf2.c Makefile
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c -DDEBUGDIR=\"$(DEBUGDIR)\" $(srcdir)/dwarf2.c
|
||||
|
||||
elf32-target.h : elfxx-target.h
|
||||
rm -f elf32-target.h
|
||||
sed -e s/NN/32/g < $(srcdir)/elfxx-target.h > elf32-target.new
|
||||
@ -786,6 +823,11 @@ pepigen.c : peXXigen.c
|
||||
sed -e s/XX/pep/g < $(srcdir)/peXXigen.c > pepigen.new
|
||||
mv -f pepigen.new pepigen.c
|
||||
|
||||
pex64igen.c: peXXigen.c
|
||||
rm -f pex64igen.c
|
||||
sed -e s/XX/pex64/g < $(srcdir)/peXXigen.c > pex64igen.new
|
||||
mv -f pex64igen.new pex64igen.c
|
||||
|
||||
BFD_H_DEPS= $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
|
||||
LOCAL_H_DEPS= libbfd.h sysdep.h config.h
|
||||
$(BFD32_LIBS) \
|
||||
@ -929,17 +971,26 @@ MOSTLYCLEANFILES = ofiles stamp-ofiles
|
||||
CLEANFILES = bfd.h dep.sed stmp-bfd-h DEP DEPA DEP1 DEP2 libbfd.a stamp-lib \
|
||||
stmp-bin2-h stmp-lbfd-h stmp-lcoff-h
|
||||
|
||||
DISTCLEANFILES = $(BUILD_CFILES) $(BUILD_HFILES)
|
||||
DISTCLEANFILES = $(BUILD_CFILES) $(BUILD_HFILES) libtool-soversion
|
||||
|
||||
bfdver.h: $(srcdir)/version.h $(srcdir)/Makefile.in
|
||||
@echo "creating $@"
|
||||
@bfd_version=`echo "$(VERSION)" | sed -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\
|
||||
bfd_version_string="\"$(VERSION)\"" ;\
|
||||
bfd_soversion="$(VERSION)" ;\
|
||||
bfd_version_package="\"$(PKGVERSION)\"" ;\
|
||||
report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\
|
||||
if test "x$(RELEASE)" = x ; then \
|
||||
bfd_version_date=`sed -n -e 's/.*DATE //p' < $(srcdir)/version.h` ;\
|
||||
bfd_version_string="\"$(VERSION) $${bfd_version_date}\"" ;\
|
||||
bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\
|
||||
bfd_soversion="$(VERSION).$${bfd_version_date}" ;\
|
||||
fi ;\
|
||||
sed -e "s/@bfd_version@/$$bfd_version/" -e "s/@bfd_version_string@/$$bfd_version_string/" < $(srcdir)/version.h > $@
|
||||
sed -e "s,@bfd_version@,$$bfd_version," \
|
||||
-e "s,@bfd_version_string@,$$bfd_version_string," \
|
||||
-e "s,@bfd_version_package@,$$bfd_version_package," \
|
||||
-e "s,@report_bugs_to@,$$report_bugs_to," \
|
||||
< $(srcdir)/version.h > $@; \
|
||||
echo "$${bfd_soversion}" > libtool-soversion
|
||||
|
||||
# What appears below is generated by a hacked mkdep using gcc -MM.
|
||||
|
||||
@ -950,11 +1001,12 @@ archive.lo: archive.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/safe-ctype.h
|
||||
archures.lo: archures.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/safe-ctype.h
|
||||
bfd.lo: bfd.c bfdver.h $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/safe-ctype.h $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/sym.h libcoff.h \
|
||||
libecoff.h $(INCDIR)/coff/ecoff.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h
|
||||
bfd.lo: bfd.c $(INCDIR)/filenames.h bfdver.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/demangle.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/coff/sym.h libcoff.h libecoff.h $(INCDIR)/coff/ecoff.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h
|
||||
bfdio.lo: bfdio.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
bfdwin.lo: bfdwin.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cache.lo: cache.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
@ -1008,6 +1060,7 @@ cpu-arm.lo: cpu-arm.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/libiberty.h
|
||||
cpu-avr.lo: cpu-avr.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-bfin.lo: cpu-bfin.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-cr16.lo: cpu-cr16.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-cris.lo: cpu-cris.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-cr16c.lo: cpu-cr16c.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-crx.lo: cpu-crx.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
@ -1040,6 +1093,7 @@ cpu-m10200.lo: cpu-m10200.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-m10300.lo: cpu-m10300.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-maxq.lo: cpu-maxq.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-mcore.lo: cpu-mcore.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-mep.lo: cpu-mep.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-mips.lo: cpu-mips.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-mmix.lo: cpu-mmix.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-mt.lo: cpu-mt.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
@ -1055,9 +1109,11 @@ cpu-powerpc.lo: cpu-powerpc.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h
|
||||
cpu-rs6000.lo: cpu-rs6000.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-s390.lo: cpu-s390.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-score.lo: cpu-score.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-sh.lo: cpu-sh.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(srcdir)/../opcodes/sh-opc.h
|
||||
cpu-sparc.lo: cpu-sparc.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-spu.lo: cpu-spu.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-tic30.lo: cpu-tic30.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-tic4x.lo: cpu-tic4x.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-tic54x.lo: cpu-tic54x.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
@ -1127,7 +1183,8 @@ coff-arm.lo: coff-arm.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
|
||||
coff-aux.lo: coff-aux.c $(INCDIR)/filenames.h $(INCDIR)/coff/aux-coff.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \
|
||||
coff-m68k.c $(INCDIR)/hashtab.h libcoff.h $(INCDIR)/bfdlink.h \
|
||||
coff-m68k.c $(INCDIR)/hashtab.h $(INCDIR)/coff/m68k.h \
|
||||
$(INCDIR)/coff/internal.h libcoff.h $(INCDIR)/bfdlink.h \
|
||||
coffcode.h coffswap.h
|
||||
coff-h8300.lo: coff-h8300.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/bfdlink.h genlink.h $(INCDIR)/coff/h8300.h \
|
||||
@ -1197,7 +1254,7 @@ coff-tic54x.lo: coff-tic54x.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/bfdlink.h $(INCDIR)/coff/tic54x.h \
|
||||
$(INCDIR)/coff/ti.h $(INCDIR)/coff/internal.h libcoff.h \
|
||||
coffcode.h coffswap.h
|
||||
coff-tic80.lo: coff-tic80.c $(INCDIR)/bfdlink.h $(INCDIR)/filenames.h \
|
||||
coff-tic80.lo: coff-tic80.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/tic80.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h libcoff.h coffcode.h coffswap.h
|
||||
coff-u68k.lo: coff-u68k.c coff-m68k.c $(INCDIR)/filenames.h \
|
||||
@ -1260,11 +1317,16 @@ elf32-arm.lo: elf32-arm.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
|
||||
elf32-avr.lo: elf32-avr.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/avr.h \
|
||||
$(INCDIR)/elf/reloc-macros.h elf32-target.h
|
||||
$(INCDIR)/elf/reloc-macros.h elf32-avr.h elf32-target.h
|
||||
elf32-bfin.lo: elf32-bfin.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/bfin.h \
|
||||
$(INCDIR)/elf/reloc-macros.h elf32-target.h
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/elf/dwarf2.h \
|
||||
elf32-target.h
|
||||
elf32-cr16.lo: elf32-cr16.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \
|
||||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/elf/cr16.h $(INCDIR)/elf/reloc-macros.h elf32-target.h
|
||||
elf32-cr16c.lo: elf32-cr16c.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/cr16c.h \
|
||||
$(INCDIR)/elf/reloc-macros.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
@ -1378,19 +1440,24 @@ elf32-mcore.lo: elf32-mcore.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/mcore.h \
|
||||
$(INCDIR)/elf/reloc-macros.h elf32-target.h
|
||||
elf32-mep.lo: elf32-mep.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/mep.h \
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
|
||||
elf32-target.h
|
||||
elfxx-mips.lo: elfxx-mips.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/libiberty.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
|
||||
elfxx-mips.h $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h \
|
||||
$(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h $(INCDIR)/coff/ecoff.h \
|
||||
$(INCDIR)/coff/mips.h $(INCDIR)/coff/external.h elf-vxworks.h
|
||||
elf-vxworks.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h \
|
||||
$(INCDIR)/coff/ecoff.h $(INCDIR)/coff/mips.h $(INCDIR)/coff/external.h
|
||||
elf32-mips.lo: elf32-mips.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/bfdlink.h genlink.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elfxx-mips.h \
|
||||
$(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/coff/sym.h \
|
||||
$(INCDIR)/coff/symconst.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h elf-vxworks.h \
|
||||
$(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/coff/ecoff.h $(INCDIR)/coff/mips.h $(INCDIR)/coff/external.h \
|
||||
ecoffswap.h elf32-target.h elf-vxworks.h
|
||||
ecoffswap.h elf32-target.h
|
||||
elf32-mt.lo: elf32-mt.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/mt.h \
|
||||
@ -1422,9 +1489,9 @@ elf32-ppc.lo: elf32-ppc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
elf32-sh64.lo: elf32-sh64.c $(INCDIR)/filenames.h elf-bfd.h \
|
||||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/bfdlink.h $(srcdir)/../opcodes/sh64-opc.h \
|
||||
elf32-sh64.h elf32-sh.c $(INCDIR)/hashtab.h $(INCDIR)/elf/sh.h \
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
|
||||
$(srcdir)/../opcodes/sh-opc.h elf32-target.h
|
||||
elf32-sh64.h elf32-sh.c $(INCDIR)/hashtab.h elf-vxworks.h \
|
||||
$(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
|
||||
$(srcdir)/../opcodes/sh-opc.h elf32-sh-relocs.h elf32-target.h
|
||||
elf32-sh64-com.lo: elf32-sh64-com.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
|
||||
@ -1434,27 +1501,36 @@ elf32-s390.lo: elf32-s390.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/s390.h \
|
||||
$(INCDIR)/elf/reloc-macros.h elf32-target.h
|
||||
elf32-score.lo: elf32-score.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \
|
||||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \
|
||||
elf32-target.h
|
||||
elf32-sh.lo: elf32-sh.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h \
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
|
||||
$(srcdir)/../opcodes/sh-opc.h elf32-target.h
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elf-vxworks.h \
|
||||
$(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
|
||||
$(srcdir)/../opcodes/sh-opc.h elf32-sh-relocs.h elf32-target.h
|
||||
elf32-sh-symbian.lo: elf32-sh-symbian.c elf32-sh.c \
|
||||
$(INCDIR)/filenames.h $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \
|
||||
$(INCDIR)/libiberty.h $(srcdir)/../opcodes/sh-opc.h \
|
||||
elf32-target.h
|
||||
$(INCDIR)/elf/external.h elf-vxworks.h $(INCDIR)/elf/sh.h \
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
|
||||
$(srcdir)/../opcodes/sh-opc.h elf32-sh-relocs.h elf32-target.h
|
||||
elfxx-sparc.lo: elfxx-sparc.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sparc.h \
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/opcode/sparc.h \
|
||||
elfxx-sparc.h elf-vxworks.h
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/elf/sparc.h $(INCDIR)/elf/reloc-macros.h \
|
||||
$(INCDIR)/opcode/sparc.h elfxx-sparc.h elf-vxworks.h
|
||||
elf32-sparc.lo: elf32-sparc.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sparc.h \
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/opcode/sparc.h \
|
||||
elfxx-sparc.h elf32-target.h elf-vxworks.h
|
||||
elfxx-sparc.h elf-vxworks.h elf32-target.h
|
||||
elf32-spu.lo: elf32-spu.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/spu.h \
|
||||
$(INCDIR)/elf/reloc-macros.h elf32-spu.h elf32-target.h
|
||||
elf32-v850.lo: elf32-v850.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/v850.h \
|
||||
@ -1486,6 +1562,9 @@ elflink.lo: elflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/safe-ctype.h \
|
||||
$(INCDIR)/libiberty.h $(INCDIR)/objalloc.h
|
||||
elf-attrs.lo: elf-attrs.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h
|
||||
elf-strtab.lo: elf-strtab.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/libiberty.h
|
||||
@ -1570,7 +1649,7 @@ m88kopenbsd.lo: m88kopenbsd.c netbsd.h $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h libaout.h $(INCDIR)/bfdlink.h aout-target.h \
|
||||
$(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def \
|
||||
$(INCDIR)/aout/ar.h
|
||||
mach-o.lo: mach-o.c mach-o.h $(INCDIR)/filenames.h \
|
||||
mach-o.lo: mach-o.c $(INCDIR)/filenames.h mach-o.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/libiberty.h mach-o-target.c
|
||||
mipsbsd.lo: mipsbsd.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
libaout.h $(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \
|
||||
@ -1610,8 +1689,8 @@ pdp11.lo: pdp11.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
libaout.h $(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \
|
||||
$(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h \
|
||||
$(INCDIR)/safe-ctype.h
|
||||
pef.lo: pef.c $(INCDIR)/safe-ctype.h pef.h pef-traceback.h \
|
||||
$(INCDIR)/filenames.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h
|
||||
pef.lo: pef.c $(INCDIR)/filenames.h $(INCDIR)/safe-ctype.h \
|
||||
pef.h pef-traceback.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h
|
||||
pe-arm.lo: pe-arm.c $(INCDIR)/filenames.h coff-arm.c \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/arm.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
@ -1620,6 +1699,16 @@ pei-arm.lo: pei-arm.c $(INCDIR)/filenames.h coff-arm.c \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/arm.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
$(INCDIR)/bfdlink.h coffcode.h peicode.h libpei.h
|
||||
pe-arm-wince.lo: pe-arm-wince.c pe-arm.c $(INCDIR)/filenames.h \
|
||||
coff-arm.c $(INCDIR)/hashtab.h $(INCDIR)/coff/arm.h \
|
||||
$(INCDIR)/coff/external.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h coffcode.h \
|
||||
peicode.h libpei.h
|
||||
pei-arm-wince.lo: pei-arm-wince.c pei-arm.c $(INCDIR)/filenames.h \
|
||||
coff-arm.c $(INCDIR)/hashtab.h $(INCDIR)/coff/arm.h \
|
||||
$(INCDIR)/coff/external.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h coffcode.h \
|
||||
peicode.h libpei.h
|
||||
pe-i386.lo: pe-i386.c $(INCDIR)/filenames.h coff-i386.c \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/i386.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
@ -1662,7 +1751,7 @@ pei-mips.lo: pei-mips.c $(INCDIR)/filenames.h pe-mips.c \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/mipspe.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
$(INCDIR)/bfdlink.h coffcode.h peicode.h libpei.h
|
||||
ppcboot.lo: ppcboot.c $(INCDIR)/safe-ctype.h $(INCDIR)/filenames.h \
|
||||
ppcboot.lo: ppcboot.c $(INCDIR)/filenames.h $(INCDIR)/safe-ctype.h \
|
||||
$(INCDIR)/hashtab.h
|
||||
reloc16.lo: reloc16.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/bfdlink.h genlink.h $(INCDIR)/coff/internal.h \
|
||||
@ -1703,7 +1792,7 @@ vms.lo: vms.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h vms.h
|
||||
vms-gsd.lo: vms-gsd.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h vms.h
|
||||
vms-hdr.lo: vms-hdr.c bfdver.h $(INCDIR)/filenames.h \
|
||||
vms-hdr.lo: vms-hdr.c $(INCDIR)/filenames.h bfdver.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h $(INCDIR)/hashtab.h \
|
||||
vms.h
|
||||
vms-misc.lo: vms-misc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
@ -1713,12 +1802,12 @@ vms-tir.lo: vms-tir.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
xcofflink.lo: xcofflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/xcoff.h \
|
||||
libcoff.h libxcoff.h
|
||||
xsym.lo: xsym.c xsym.h $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
xsym.lo: xsym.c $(INCDIR)/filenames.h xsym.h $(INCDIR)/hashtab.h
|
||||
xtensa-isa.lo: xtensa-isa.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/xtensa-isa.h $(INCDIR)/xtensa-isa-internal.h
|
||||
xtensa-modules.lo: xtensa-modules.c $(INCDIR)/xtensa-isa.h \
|
||||
$(INCDIR)/xtensa-isa-internal.h
|
||||
aix5ppc-core.lo: aix5ppc-core.c
|
||||
aix5ppc-core.lo: aix5ppc-core.c $(INCDIR)/filenames.h
|
||||
aout64.lo: aout64.c aoutx.h $(INCDIR)/filenames.h $(INCDIR)/safe-ctype.h \
|
||||
$(INCDIR)/bfdlink.h libaout.h $(INCDIR)/hashtab.h $(INCDIR)/aout/aout64.h \
|
||||
$(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
|
||||
@ -1740,6 +1829,11 @@ efi-app-ia64.lo: efi-app-ia64.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/coff/external.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h coffcode.h \
|
||||
peicode.h libpei.h
|
||||
efi-app-x86_64.lo: efi-app-x86_64.c $(INCDIR)/filenames.h \
|
||||
coff-x86_64.c $(INCDIR)/hashtab.h $(INCDIR)/coff/x86_64.h \
|
||||
$(INCDIR)/coff/external.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/libiberty.h \
|
||||
coffcode.h peicode.h libpei.h
|
||||
elf64-x86-64.lo: elf64-x86-64.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/x86-64.h \
|
||||
@ -1808,6 +1902,21 @@ nlm32-alpha.lo: nlm32-alpha.c $(INCDIR)/filenames.h \
|
||||
nlm64.lo: nlm64.c nlmcode.h $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
libnlm.h $(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h \
|
||||
$(INCDIR)/nlm/external.h
|
||||
coff-x86_64.lo: coff-x86_64.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/x86_64.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/libiberty.h coffcode.h \
|
||||
coffswap.h
|
||||
pe-x86_64.lo: pe-x86_64.c $(INCDIR)/filenames.h coff-x86_64.c \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/x86_64.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/libiberty.h coffcode.h \
|
||||
peicode.h libpei.h
|
||||
pei-x86_64.lo: pei-x86_64.c $(INCDIR)/filenames.h coff-x86_64.c \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/x86_64.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/libiberty.h coffcode.h \
|
||||
peicode.h libpei.h
|
||||
aix386-core.lo: aix386-core.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/i386.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h libcoff.h $(INCDIR)/bfdlink.h
|
||||
@ -1824,16 +1933,19 @@ elf32-ia64.lo: elf32-ia64.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/ia64.h \
|
||||
$(INCDIR)/elf/ia64.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/objalloc.h \
|
||||
elf32-target.h
|
||||
$(INCDIR)/hashtab.h elf32-target.h
|
||||
elf64-ia64.lo: elf64-ia64.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/ia64.h \
|
||||
$(INCDIR)/elf/ia64.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/objalloc.h \
|
||||
elf64-target.h
|
||||
$(INCDIR)/hashtab.h elf64-target.h
|
||||
peigen.lo: peigen.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h libpei.h
|
||||
pepigen.lo: pepigen.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/ia64.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h libpei.h
|
||||
pex64igen.lo: pex64igen.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/x86_64.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h libpei.h
|
||||
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
|
||||
|
275
bfd/Makefile.in
275
bfd/Makefile.in
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.9.5 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -15,8 +15,6 @@
|
||||
@SET_MAKE@
|
||||
|
||||
|
||||
SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES)
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
@ -49,10 +47,17 @@ DIST_COMMON = $(srcdir)/../config.guess $(srcdir)/../config.sub README \
|
||||
$(srcdir)/../config.sub
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
||||
$(top_srcdir)/../config/acx.m4 $(top_srcdir)/../bfd/bfd.m4 \
|
||||
$(top_srcdir)/../bfd/warning.m4 $(top_srcdir)/../libtool.m4 \
|
||||
$(top_srcdir)/../gettext.m4 $(top_srcdir)/configure.in
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
|
||||
$(top_srcdir)/../config/depstand.m4 \
|
||||
$(top_srcdir)/../config/gettext-sister.m4 \
|
||||
$(top_srcdir)/../config/lead-dot.m4 \
|
||||
$(top_srcdir)/../config/nls.m4 $(top_srcdir)/../config/po.m4 \
|
||||
$(top_srcdir)/../config/progtest.m4 \
|
||||
$(top_srcdir)/../config/stdint.m4 $(top_srcdir)/../libtool.m4 \
|
||||
$(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \
|
||||
$(top_srcdir)/../ltversion.m4 $(top_srcdir)/bfd.m4 \
|
||||
$(top_srcdir)/warning.m4 $(top_srcdir)/acinclude.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
@ -80,19 +85,18 @@ am__objects_1 = archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \
|
||||
opncls.lo reloc.lo section.lo syms.lo targets.lo hash.lo \
|
||||
linker.lo srec.lo binary.lo tekhex.lo ihex.lo stabs.lo \
|
||||
stab-syms.lo merge.lo dwarf2.lo simple.lo
|
||||
am__objects_2 = archive64.lo
|
||||
am_libbfd_la_OBJECTS = $(am__objects_1) $(am__objects_2)
|
||||
am_libbfd_la_OBJECTS = $(am__objects_1)
|
||||
libbfd_la_OBJECTS = $(am_libbfd_la_OBJECTS)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
|
||||
depcomp =
|
||||
am__depfiles_maybe =
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
|
||||
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES)
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
@ -105,7 +109,6 @@ ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ALLOCA = @ALLOCA@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
@ -131,20 +134,24 @@ CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEBUGDIR = @DEBUGDIR@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
|
||||
GMOFILES = @GMOFILES@
|
||||
FGREP = @FGREP@
|
||||
GENCAT = @GENCAT@
|
||||
GENINSRC_NEVER_FALSE = @GENINSRC_NEVER_FALSE@
|
||||
GENINSRC_NEVER_TRUE = @GENINSRC_NEVER_TRUE@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GT_NO = @GT_NO@
|
||||
GT_YES = @GT_YES@
|
||||
GREP = @GREP@
|
||||
HDEFINES = @HDEFINES@
|
||||
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
|
||||
INCINTL = @INCINTL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_LIBBFD_FALSE = @INSTALL_LIBBFD_FALSE@
|
||||
INSTALL_LIBBFD_TRUE = @INSTALL_LIBBFD_TRUE@
|
||||
@ -152,10 +159,10 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INSTOBJEXT = @INSTOBJEXT@
|
||||
INTLDEPS = @INTLDEPS@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBINTL = @LIBINTL@
|
||||
LIBINTL_DEP = @LIBINTL_DEP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
@ -167,6 +174,8 @@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
MSGMERGE = @MSGMERGE@
|
||||
NM = @NM@
|
||||
NO_WERROR = @NO_WERROR@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
@ -176,14 +185,16 @@ PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
POFILES = @POFILES@
|
||||
PKGVERSION = @PKGVERSION@
|
||||
POSUB = @POSUB@
|
||||
RANLIB = @RANLIB@
|
||||
REPORT_BUGS_TEXI = @REPORT_BUGS_TEXI@
|
||||
REPORT_BUGS_TO = @REPORT_BUGS_TO@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TDEFINES = @TDEFINES@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
WARN_CFLAGS = @WARN_CFLAGS@
|
||||
@ -192,6 +203,7 @@ WIN32LIBADD = @WIN32LIBADD@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
all_backends = @all_backends@
|
||||
@ -202,10 +214,10 @@ am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bfd64_libs = @bfd64_libs@
|
||||
bfd_backends = @bfd_backends@
|
||||
bfd_default_target_size = @bfd_default_target_size@
|
||||
bfd_file_ptr = @bfd_file_ptr@
|
||||
bfd_libs = @bfd_libs@
|
||||
bfd_machines = @bfd_machines@
|
||||
bfd_ufile_ptr = @bfd_ufile_ptr@
|
||||
bfdincludedir = @bfdincludedir@
|
||||
@ -230,10 +242,10 @@ htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
l = @l@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
lt_ECHO = @lt_ECHO@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
@ -251,6 +263,7 @@ target_vendor = @target_vendor@
|
||||
tdefaults = @tdefaults@
|
||||
wordsize = @wordsize@
|
||||
AUTOMAKE_OPTIONS = 1.9 cygnus
|
||||
ACLOCAL_AMFLAGS = -I . -I .. -I ../config
|
||||
|
||||
# Uncomment the following line when doing a release.
|
||||
# RELEASE=y
|
||||
@ -299,6 +312,7 @@ ALL_MACHINES = \
|
||||
cpu-arm.lo \
|
||||
cpu-avr.lo \
|
||||
cpu-bfin.lo \
|
||||
cpu-cr16.lo \
|
||||
cpu-cr16c.lo \
|
||||
cpu-cris.lo \
|
||||
cpu-crx.lo \
|
||||
@ -327,6 +341,7 @@ ALL_MACHINES = \
|
||||
cpu-m10300.lo \
|
||||
cpu-maxq.lo \
|
||||
cpu-mcore.lo \
|
||||
cpu-mep.lo \
|
||||
cpu-mips.lo \
|
||||
cpu-mmix.lo \
|
||||
cpu-mt.lo \
|
||||
@ -339,8 +354,10 @@ ALL_MACHINES = \
|
||||
cpu-powerpc.lo \
|
||||
cpu-rs6000.lo \
|
||||
cpu-s390.lo \
|
||||
cpu-score.lo \
|
||||
cpu-sh.lo \
|
||||
cpu-sparc.lo \
|
||||
cpu-spu.lo \
|
||||
cpu-tic30.lo \
|
||||
cpu-tic4x.lo \
|
||||
cpu-tic54x.lo \
|
||||
@ -361,6 +378,7 @@ ALL_MACHINES_CFILES = \
|
||||
cpu-arm.c \
|
||||
cpu-avr.c \
|
||||
cpu-bfin.c \
|
||||
cpu-cr16.c \
|
||||
cpu-cris.c \
|
||||
cpu-cr16c.c \
|
||||
cpu-crx.c \
|
||||
@ -389,6 +407,7 @@ ALL_MACHINES_CFILES = \
|
||||
cpu-m10300.c \
|
||||
cpu-maxq.c \
|
||||
cpu-mcore.c \
|
||||
cpu-mep.c \
|
||||
cpu-mips.c \
|
||||
cpu-mmix.c \
|
||||
cpu-mt.c \
|
||||
@ -401,8 +420,10 @@ ALL_MACHINES_CFILES = \
|
||||
cpu-powerpc.c \
|
||||
cpu-rs6000.c \
|
||||
cpu-s390.c \
|
||||
cpu-score.c \
|
||||
cpu-sh.c \
|
||||
cpu-sparc.c \
|
||||
cpu-spu.c \
|
||||
cpu-tic30.c \
|
||||
cpu-tic4x.c \
|
||||
cpu-tic54x.c \
|
||||
@ -472,6 +493,7 @@ BFD32_BACKENDS = \
|
||||
elf32-arm.lo \
|
||||
elf32-avr.lo \
|
||||
elf32-bfin.lo \
|
||||
elf32-cr16.lo \
|
||||
elf32-cr16c.lo \
|
||||
elf32-cris.lo \
|
||||
elf32-crx.lo \
|
||||
@ -499,6 +521,7 @@ BFD32_BACKENDS = \
|
||||
elf-m10200.lo \
|
||||
elf-m10300.lo \
|
||||
elf32-mcore.lo \
|
||||
elf32-mep.lo \
|
||||
elfxx-mips.lo \
|
||||
elf32-mips.lo \
|
||||
elf32-mt.lo \
|
||||
@ -508,12 +531,14 @@ BFD32_BACKENDS = \
|
||||
elf32-pj.lo \
|
||||
elf32-ppc.lo \
|
||||
elf32-s390.lo \
|
||||
elf32-score.lo \
|
||||
elf32-sh.lo \
|
||||
elf32-sh-symbian.lo \
|
||||
elf32-sh64.lo \
|
||||
elf32-sh64-com.lo \
|
||||
elfxx-sparc.lo \
|
||||
elf32-sparc.lo \
|
||||
elf32-spu.lo \
|
||||
elf32-v850.lo \
|
||||
elf32-vax.lo \
|
||||
elf32-xstormy16.lo \
|
||||
@ -521,6 +546,7 @@ BFD32_BACKENDS = \
|
||||
elf32-xc16x.lo \
|
||||
elf32.lo \
|
||||
elflink.lo \
|
||||
elf-attrs.lo \
|
||||
elf-strtab.lo \
|
||||
elf-eh-frame.lo \
|
||||
elf-vxworks.lo \
|
||||
@ -560,6 +586,8 @@ BFD32_BACKENDS = \
|
||||
pef.lo \
|
||||
pe-arm.lo \
|
||||
pei-arm.lo \
|
||||
pe-arm-wince.lo \
|
||||
pei-arm-wince.lo \
|
||||
pe-i386.lo \
|
||||
pei-i386.lo \
|
||||
pe-mcore.lo \
|
||||
@ -644,6 +672,7 @@ BFD32_BACKENDS_CFILES = \
|
||||
elf32-arm.c \
|
||||
elf32-avr.c \
|
||||
elf32-bfin.c \
|
||||
elf32-cr16.c \
|
||||
elf32-cr16c.c \
|
||||
elf32-cris.c \
|
||||
elf32-crx.c \
|
||||
@ -671,6 +700,7 @@ BFD32_BACKENDS_CFILES = \
|
||||
elf-m10200.c \
|
||||
elf-m10300.c \
|
||||
elf32-mcore.c \
|
||||
elf32-mep.c \
|
||||
elfxx-mips.c \
|
||||
elf32-mips.c \
|
||||
elf32-mt.c \
|
||||
@ -682,10 +712,12 @@ BFD32_BACKENDS_CFILES = \
|
||||
elf32-sh64.c \
|
||||
elf32-sh64-com.c \
|
||||
elf32-s390.c \
|
||||
elf32-score.c \
|
||||
elf32-sh.c \
|
||||
elf32-sh-symbian.c \
|
||||
elfxx-sparc.c \
|
||||
elf32-sparc.c \
|
||||
elf32-spu.c \
|
||||
elf32-v850.c \
|
||||
elf32-vax.c \
|
||||
elf32-xstormy16.c \
|
||||
@ -693,6 +725,7 @@ BFD32_BACKENDS_CFILES = \
|
||||
elf32-xc16x.c \
|
||||
elf32.c \
|
||||
elflink.c \
|
||||
elf-attrs.c \
|
||||
elf-strtab.c \
|
||||
elf-eh-frame.c \
|
||||
elf-vxworks.c \
|
||||
@ -732,6 +765,8 @@ BFD32_BACKENDS_CFILES = \
|
||||
pef.c \
|
||||
pe-arm.c \
|
||||
pei-arm.c \
|
||||
pe-arm-wince.c \
|
||||
pei-arm-wince.c \
|
||||
pe-i386.c \
|
||||
pei-i386.c \
|
||||
pe-mcore.c \
|
||||
@ -776,6 +811,7 @@ BFD64_BACKENDS = \
|
||||
coff64-rs6000.lo \
|
||||
demo64.lo \
|
||||
efi-app-ia64.lo \
|
||||
efi-app-x86_64.lo \
|
||||
elf64-x86-64.lo \
|
||||
elf64-alpha.lo \
|
||||
elf64-hppa.lo \
|
||||
@ -793,7 +829,11 @@ BFD64_BACKENDS = \
|
||||
mmo.lo \
|
||||
nlm32-alpha.lo \
|
||||
nlm64.lo \
|
||||
pepigen.lo
|
||||
coff-x86_64.lo \
|
||||
pe-x86_64.lo \
|
||||
pei-x86_64.lo \
|
||||
pepigen.lo \
|
||||
pex64igen.lo
|
||||
|
||||
BFD64_BACKENDS_CFILES = \
|
||||
aix5ppc-core.c \
|
||||
@ -802,6 +842,7 @@ BFD64_BACKENDS_CFILES = \
|
||||
coff64-rs6000.c \
|
||||
demo64.c \
|
||||
efi-app-ia64.c \
|
||||
efi-app-x86_64.c \
|
||||
elf64-x86-64.c \
|
||||
elf64-alpha.c \
|
||||
elf64-hppa.c \
|
||||
@ -816,7 +857,10 @@ BFD64_BACKENDS_CFILES = \
|
||||
elf64.c \
|
||||
mmo.c \
|
||||
nlm32-alpha.c \
|
||||
nlm64.c
|
||||
nlm64.c \
|
||||
coff-x86_64.c \
|
||||
pe-x86_64.c \
|
||||
pei-x86_64.c
|
||||
|
||||
OPTIONAL_BACKENDS = \
|
||||
aix386-core.lo \
|
||||
@ -852,10 +896,9 @@ CONFIG_STATUS_DEPENDENCIES = \
|
||||
WORDSIZE = @wordsize@
|
||||
ALL_BACKENDS = @all_backends@
|
||||
BFD_BACKENDS = @bfd_backends@
|
||||
BFD_LIBS = @bfd_libs@
|
||||
BFD_MACHINES = @bfd_machines@
|
||||
TDEFAULTS = @tdefaults@
|
||||
INCLUDES = @HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) -I$(srcdir)/../intl -I../intl
|
||||
INCLUDES = @HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) @INCINTL@
|
||||
|
||||
# C source files that correspond to .o's.
|
||||
SOURCE_CFILES = \
|
||||
@ -867,7 +910,7 @@ SOURCE_CFILES = \
|
||||
$(OPTIONAL_BACKENDS_CFILES)
|
||||
|
||||
BUILD_CFILES = \
|
||||
elf32-ia64.c elf64-ia64.c peigen.c pepigen.c
|
||||
elf32-ia64.c elf64-ia64.c peigen.c pepigen.c pex64igen.c
|
||||
|
||||
CFILES = $(SOURCE_CFILES) $(BUILD_CFILES)
|
||||
SOURCE_HFILES = \
|
||||
@ -892,11 +935,15 @@ BLD_POTFILES = $(BUILD_CFILES) $(BUILD_HFILES)
|
||||
# BFD_BACKENDS Routines the configured targets need.
|
||||
# BFD_MACHINES Architecture-specific routines the configured targets need.
|
||||
# COREFILE Core file routines for a native configuration
|
||||
OFILES = $(BFD_BACKENDS) $(BFD_MACHINES) @COREFILE@
|
||||
libbfd_la_SOURCES = $(BFD32_LIBS_CFILES) $(BFD64_LIBS_CFILES)
|
||||
# bfd64_libs Routines for 64bit support
|
||||
OFILES = $(BFD_BACKENDS) $(BFD_MACHINES) @COREFILE@ @bfd64_libs@
|
||||
|
||||
# Since BFD64_LIBS is optional and we can't have substitution in
|
||||
# libbfd_la_SOURCES, we put BFD64_LIBS in OFILES instead.
|
||||
libbfd_la_SOURCES = $(BFD32_LIBS_CFILES)
|
||||
libbfd_la_DEPENDENCIES = $(OFILES) ofiles
|
||||
libbfd_la_LIBADD = `cat ofiles` @WIN32LIBADD@
|
||||
libbfd_la_LDFLAGS = -release $(VERSION) @WIN32LDFLAGS@
|
||||
libbfd_la_LDFLAGS = -release `cat libtool-soversion` @WIN32LDFLAGS@
|
||||
|
||||
# libtool will build .libs/libbfd.a. We create libbfd.a in the build
|
||||
# directory so that we don't have to convert all the programs that use
|
||||
@ -919,7 +966,7 @@ MOSTLYCLEANFILES = ofiles stamp-ofiles
|
||||
CLEANFILES = bfd.h dep.sed stmp-bfd-h DEP DEPA DEP1 DEP2 libbfd.a stamp-lib \
|
||||
stmp-bin2-h stmp-lbfd-h stmp-lcoff-h
|
||||
|
||||
DISTCLEANFILES = $(BUILD_CFILES) $(BUILD_HFILES)
|
||||
DISTCLEANFILES = $(BUILD_CFILES) $(BUILD_HFILES) libtool-soversion
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
|
||||
@ -931,15 +978,15 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --cygnus '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --cygnus \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
$(AUTOMAKE) --cygnus Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
@ -1340,6 +1387,9 @@ targets.lo: targets.c Makefile
|
||||
archures.lo: archures.c Makefile
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $(TDEFAULTS) $(srcdir)/archures.c
|
||||
|
||||
dwarf2.lo: dwarf2.c Makefile
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c -DDEBUGDIR=\"$(DEBUGDIR)\" $(srcdir)/dwarf2.c
|
||||
|
||||
elf32-target.h : elfxx-target.h
|
||||
rm -f elf32-target.h
|
||||
sed -e s/NN/32/g < $(srcdir)/elfxx-target.h > elf32-target.new
|
||||
@ -1369,6 +1419,11 @@ pepigen.c : peXXigen.c
|
||||
rm -f pepigen.c
|
||||
sed -e s/XX/pep/g < $(srcdir)/peXXigen.c > pepigen.new
|
||||
mv -f pepigen.new pepigen.c
|
||||
|
||||
pex64igen.c: peXXigen.c
|
||||
rm -f pex64igen.c
|
||||
sed -e s/XX/pex64/g < $(srcdir)/peXXigen.c > pex64igen.new
|
||||
mv -f pex64igen.new pex64igen.c
|
||||
$(BFD32_LIBS) \
|
||||
$(BFD64_LIBS) \
|
||||
$(ALL_MACHINES) \
|
||||
@ -1501,11 +1556,20 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/Makefile.in
|
||||
@echo "creating $@"
|
||||
@bfd_version=`echo "$(VERSION)" | sed -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\
|
||||
bfd_version_string="\"$(VERSION)\"" ;\
|
||||
bfd_soversion="$(VERSION)" ;\
|
||||
bfd_version_package="\"$(PKGVERSION)\"" ;\
|
||||
report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\
|
||||
if test "x$(RELEASE)" = x ; then \
|
||||
bfd_version_date=`sed -n -e 's/.*DATE //p' < $(srcdir)/version.h` ;\
|
||||
bfd_version_string="\"$(VERSION) $${bfd_version_date}\"" ;\
|
||||
bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\
|
||||
bfd_soversion="$(VERSION).$${bfd_version_date}" ;\
|
||||
fi ;\
|
||||
sed -e "s/@bfd_version@/$$bfd_version/" -e "s/@bfd_version_string@/$$bfd_version_string/" < $(srcdir)/version.h > $@
|
||||
sed -e "s,@bfd_version@,$$bfd_version," \
|
||||
-e "s,@bfd_version_string@,$$bfd_version_string," \
|
||||
-e "s,@bfd_version_package@,$$bfd_version_package," \
|
||||
-e "s,@report_bugs_to@,$$report_bugs_to," \
|
||||
< $(srcdir)/version.h > $@; \
|
||||
echo "$${bfd_soversion}" > libtool-soversion
|
||||
|
||||
# What appears below is generated by a hacked mkdep using gcc -MM.
|
||||
|
||||
@ -1516,11 +1580,12 @@ archive.lo: archive.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/safe-ctype.h
|
||||
archures.lo: archures.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/safe-ctype.h
|
||||
bfd.lo: bfd.c bfdver.h $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/safe-ctype.h $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/sym.h libcoff.h \
|
||||
libecoff.h $(INCDIR)/coff/ecoff.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h
|
||||
bfd.lo: bfd.c $(INCDIR)/filenames.h bfdver.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/demangle.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/coff/sym.h libcoff.h libecoff.h $(INCDIR)/coff/ecoff.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h
|
||||
bfdio.lo: bfdio.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
bfdwin.lo: bfdwin.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cache.lo: cache.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
@ -1574,6 +1639,7 @@ cpu-arm.lo: cpu-arm.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/libiberty.h
|
||||
cpu-avr.lo: cpu-avr.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-bfin.lo: cpu-bfin.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-cr16.lo: cpu-cr16.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-cris.lo: cpu-cris.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-cr16c.lo: cpu-cr16c.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-crx.lo: cpu-crx.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
@ -1606,6 +1672,7 @@ cpu-m10200.lo: cpu-m10200.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-m10300.lo: cpu-m10300.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-maxq.lo: cpu-maxq.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-mcore.lo: cpu-mcore.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-mep.lo: cpu-mep.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-mips.lo: cpu-mips.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-mmix.lo: cpu-mmix.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-mt.lo: cpu-mt.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
@ -1621,9 +1688,11 @@ cpu-powerpc.lo: cpu-powerpc.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h
|
||||
cpu-rs6000.lo: cpu-rs6000.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-s390.lo: cpu-s390.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-score.lo: cpu-score.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-sh.lo: cpu-sh.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(srcdir)/../opcodes/sh-opc.h
|
||||
cpu-sparc.lo: cpu-sparc.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-spu.lo: cpu-spu.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-tic30.lo: cpu-tic30.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-tic4x.lo: cpu-tic4x.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
cpu-tic54x.lo: cpu-tic54x.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
@ -1693,7 +1762,8 @@ coff-arm.lo: coff-arm.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
|
||||
coff-aux.lo: coff-aux.c $(INCDIR)/filenames.h $(INCDIR)/coff/aux-coff.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h \
|
||||
coff-m68k.c $(INCDIR)/hashtab.h libcoff.h $(INCDIR)/bfdlink.h \
|
||||
coff-m68k.c $(INCDIR)/hashtab.h $(INCDIR)/coff/m68k.h \
|
||||
$(INCDIR)/coff/internal.h libcoff.h $(INCDIR)/bfdlink.h \
|
||||
coffcode.h coffswap.h
|
||||
coff-h8300.lo: coff-h8300.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/bfdlink.h genlink.h $(INCDIR)/coff/h8300.h \
|
||||
@ -1763,7 +1833,7 @@ coff-tic54x.lo: coff-tic54x.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/bfdlink.h $(INCDIR)/coff/tic54x.h \
|
||||
$(INCDIR)/coff/ti.h $(INCDIR)/coff/internal.h libcoff.h \
|
||||
coffcode.h coffswap.h
|
||||
coff-tic80.lo: coff-tic80.c $(INCDIR)/bfdlink.h $(INCDIR)/filenames.h \
|
||||
coff-tic80.lo: coff-tic80.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/tic80.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h libcoff.h coffcode.h coffswap.h
|
||||
coff-u68k.lo: coff-u68k.c coff-m68k.c $(INCDIR)/filenames.h \
|
||||
@ -1826,11 +1896,16 @@ elf32-arm.lo: elf32-arm.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
|
||||
elf32-avr.lo: elf32-avr.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/avr.h \
|
||||
$(INCDIR)/elf/reloc-macros.h elf32-target.h
|
||||
$(INCDIR)/elf/reloc-macros.h elf32-avr.h elf32-target.h
|
||||
elf32-bfin.lo: elf32-bfin.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/bfin.h \
|
||||
$(INCDIR)/elf/reloc-macros.h elf32-target.h
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/elf/dwarf2.h \
|
||||
elf32-target.h
|
||||
elf32-cr16.lo: elf32-cr16.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \
|
||||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/elf/cr16.h $(INCDIR)/elf/reloc-macros.h elf32-target.h
|
||||
elf32-cr16c.lo: elf32-cr16c.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/cr16c.h \
|
||||
$(INCDIR)/elf/reloc-macros.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
@ -1944,19 +2019,24 @@ elf32-mcore.lo: elf32-mcore.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/mcore.h \
|
||||
$(INCDIR)/elf/reloc-macros.h elf32-target.h
|
||||
elf32-mep.lo: elf32-mep.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/mep.h \
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
|
||||
elf32-target.h
|
||||
elfxx-mips.lo: elfxx-mips.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/libiberty.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
|
||||
elfxx-mips.h $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h \
|
||||
$(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h $(INCDIR)/coff/ecoff.h \
|
||||
$(INCDIR)/coff/mips.h $(INCDIR)/coff/external.h elf-vxworks.h
|
||||
elf-vxworks.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h \
|
||||
$(INCDIR)/coff/ecoff.h $(INCDIR)/coff/mips.h $(INCDIR)/coff/external.h
|
||||
elf32-mips.lo: elf32-mips.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/bfdlink.h genlink.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elfxx-mips.h \
|
||||
$(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/coff/sym.h \
|
||||
$(INCDIR)/coff/symconst.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h elf-vxworks.h \
|
||||
$(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/coff/ecoff.h $(INCDIR)/coff/mips.h $(INCDIR)/coff/external.h \
|
||||
ecoffswap.h elf32-target.h elf-vxworks.h
|
||||
ecoffswap.h elf32-target.h
|
||||
elf32-mt.lo: elf32-mt.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/mt.h \
|
||||
@ -1988,9 +2068,9 @@ elf32-ppc.lo: elf32-ppc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
elf32-sh64.lo: elf32-sh64.c $(INCDIR)/filenames.h elf-bfd.h \
|
||||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/bfdlink.h $(srcdir)/../opcodes/sh64-opc.h \
|
||||
elf32-sh64.h elf32-sh.c $(INCDIR)/hashtab.h $(INCDIR)/elf/sh.h \
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
|
||||
$(srcdir)/../opcodes/sh-opc.h elf32-target.h
|
||||
elf32-sh64.h elf32-sh.c $(INCDIR)/hashtab.h elf-vxworks.h \
|
||||
$(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
|
||||
$(srcdir)/../opcodes/sh-opc.h elf32-sh-relocs.h elf32-target.h
|
||||
elf32-sh64-com.lo: elf32-sh64-com.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
|
||||
@ -2000,27 +2080,36 @@ elf32-s390.lo: elf32-s390.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/s390.h \
|
||||
$(INCDIR)/elf/reloc-macros.h elf32-target.h
|
||||
elf32-score.lo: elf32-score.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \
|
||||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \
|
||||
elf32-target.h
|
||||
elf32-sh.lo: elf32-sh.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h \
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
|
||||
$(srcdir)/../opcodes/sh-opc.h elf32-target.h
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elf-vxworks.h \
|
||||
$(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
|
||||
$(srcdir)/../opcodes/sh-opc.h elf32-sh-relocs.h elf32-target.h
|
||||
elf32-sh-symbian.lo: elf32-sh-symbian.c elf32-sh.c \
|
||||
$(INCDIR)/filenames.h $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \
|
||||
$(INCDIR)/libiberty.h $(srcdir)/../opcodes/sh-opc.h \
|
||||
elf32-target.h
|
||||
$(INCDIR)/elf/external.h elf-vxworks.h $(INCDIR)/elf/sh.h \
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
|
||||
$(srcdir)/../opcodes/sh-opc.h elf32-sh-relocs.h elf32-target.h
|
||||
elfxx-sparc.lo: elfxx-sparc.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sparc.h \
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/opcode/sparc.h \
|
||||
elfxx-sparc.h elf-vxworks.h
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/elf/sparc.h $(INCDIR)/elf/reloc-macros.h \
|
||||
$(INCDIR)/opcode/sparc.h elfxx-sparc.h elf-vxworks.h
|
||||
elf32-sparc.lo: elf32-sparc.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sparc.h \
|
||||
$(INCDIR)/elf/reloc-macros.h $(INCDIR)/opcode/sparc.h \
|
||||
elfxx-sparc.h elf32-target.h elf-vxworks.h
|
||||
elfxx-sparc.h elf-vxworks.h elf32-target.h
|
||||
elf32-spu.lo: elf32-spu.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/spu.h \
|
||||
$(INCDIR)/elf/reloc-macros.h elf32-spu.h elf32-target.h
|
||||
elf32-v850.lo: elf32-v850.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/v850.h \
|
||||
@ -2052,6 +2141,9 @@ elflink.lo: elflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/safe-ctype.h \
|
||||
$(INCDIR)/libiberty.h $(INCDIR)/objalloc.h
|
||||
elf-attrs.lo: elf-attrs.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h
|
||||
elf-strtab.lo: elf-strtab.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/libiberty.h
|
||||
@ -2136,7 +2228,7 @@ m88kopenbsd.lo: m88kopenbsd.c netbsd.h $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h libaout.h $(INCDIR)/bfdlink.h aout-target.h \
|
||||
$(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def \
|
||||
$(INCDIR)/aout/ar.h
|
||||
mach-o.lo: mach-o.c mach-o.h $(INCDIR)/filenames.h \
|
||||
mach-o.lo: mach-o.c $(INCDIR)/filenames.h mach-o.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/libiberty.h mach-o-target.c
|
||||
mipsbsd.lo: mipsbsd.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
libaout.h $(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \
|
||||
@ -2176,8 +2268,8 @@ pdp11.lo: pdp11.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
libaout.h $(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \
|
||||
$(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h \
|
||||
$(INCDIR)/safe-ctype.h
|
||||
pef.lo: pef.c $(INCDIR)/safe-ctype.h pef.h pef-traceback.h \
|
||||
$(INCDIR)/filenames.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h
|
||||
pef.lo: pef.c $(INCDIR)/filenames.h $(INCDIR)/safe-ctype.h \
|
||||
pef.h pef-traceback.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h
|
||||
pe-arm.lo: pe-arm.c $(INCDIR)/filenames.h coff-arm.c \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/arm.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
@ -2186,6 +2278,16 @@ pei-arm.lo: pei-arm.c $(INCDIR)/filenames.h coff-arm.c \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/arm.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
$(INCDIR)/bfdlink.h coffcode.h peicode.h libpei.h
|
||||
pe-arm-wince.lo: pe-arm-wince.c pe-arm.c $(INCDIR)/filenames.h \
|
||||
coff-arm.c $(INCDIR)/hashtab.h $(INCDIR)/coff/arm.h \
|
||||
$(INCDIR)/coff/external.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h coffcode.h \
|
||||
peicode.h libpei.h
|
||||
pei-arm-wince.lo: pei-arm-wince.c pei-arm.c $(INCDIR)/filenames.h \
|
||||
coff-arm.c $(INCDIR)/hashtab.h $(INCDIR)/coff/arm.h \
|
||||
$(INCDIR)/coff/external.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h coffcode.h \
|
||||
peicode.h libpei.h
|
||||
pe-i386.lo: pe-i386.c $(INCDIR)/filenames.h coff-i386.c \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/i386.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
@ -2228,7 +2330,7 @@ pei-mips.lo: pei-mips.c $(INCDIR)/filenames.h pe-mips.c \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/mipspe.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
$(INCDIR)/bfdlink.h coffcode.h peicode.h libpei.h
|
||||
ppcboot.lo: ppcboot.c $(INCDIR)/safe-ctype.h $(INCDIR)/filenames.h \
|
||||
ppcboot.lo: ppcboot.c $(INCDIR)/filenames.h $(INCDIR)/safe-ctype.h \
|
||||
$(INCDIR)/hashtab.h
|
||||
reloc16.lo: reloc16.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/bfdlink.h genlink.h $(INCDIR)/coff/internal.h \
|
||||
@ -2269,7 +2371,7 @@ vms.lo: vms.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h vms.h
|
||||
vms-gsd.lo: vms-gsd.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h vms.h
|
||||
vms-hdr.lo: vms-hdr.c bfdver.h $(INCDIR)/filenames.h \
|
||||
vms-hdr.lo: vms-hdr.c $(INCDIR)/filenames.h bfdver.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h $(INCDIR)/hashtab.h \
|
||||
vms.h
|
||||
vms-misc.lo: vms-misc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
@ -2279,12 +2381,12 @@ vms-tir.lo: vms-tir.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
xcofflink.lo: xcofflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/xcoff.h \
|
||||
libcoff.h libxcoff.h
|
||||
xsym.lo: xsym.c xsym.h $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
|
||||
xsym.lo: xsym.c $(INCDIR)/filenames.h xsym.h $(INCDIR)/hashtab.h
|
||||
xtensa-isa.lo: xtensa-isa.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/xtensa-isa.h $(INCDIR)/xtensa-isa-internal.h
|
||||
xtensa-modules.lo: xtensa-modules.c $(INCDIR)/xtensa-isa.h \
|
||||
$(INCDIR)/xtensa-isa-internal.h
|
||||
aix5ppc-core.lo: aix5ppc-core.c
|
||||
aix5ppc-core.lo: aix5ppc-core.c $(INCDIR)/filenames.h
|
||||
aout64.lo: aout64.c aoutx.h $(INCDIR)/filenames.h $(INCDIR)/safe-ctype.h \
|
||||
$(INCDIR)/bfdlink.h libaout.h $(INCDIR)/hashtab.h $(INCDIR)/aout/aout64.h \
|
||||
$(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
|
||||
@ -2306,6 +2408,11 @@ efi-app-ia64.lo: efi-app-ia64.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/coff/external.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h coffcode.h \
|
||||
peicode.h libpei.h
|
||||
efi-app-x86_64.lo: efi-app-x86_64.c $(INCDIR)/filenames.h \
|
||||
coff-x86_64.c $(INCDIR)/hashtab.h $(INCDIR)/coff/x86_64.h \
|
||||
$(INCDIR)/coff/external.h $(INCDIR)/coff/internal.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/libiberty.h \
|
||||
coffcode.h peicode.h libpei.h
|
||||
elf64-x86-64.lo: elf64-x86-64.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
|
||||
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/x86-64.h \
|
||||
@ -2374,6 +2481,21 @@ nlm32-alpha.lo: nlm32-alpha.c $(INCDIR)/filenames.h \
|
||||
nlm64.lo: nlm64.c nlmcode.h $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
libnlm.h $(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h \
|
||||
$(INCDIR)/nlm/external.h
|
||||
coff-x86_64.lo: coff-x86_64.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/x86_64.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/libiberty.h coffcode.h \
|
||||
coffswap.h
|
||||
pe-x86_64.lo: pe-x86_64.c $(INCDIR)/filenames.h coff-x86_64.c \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/x86_64.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/libiberty.h coffcode.h \
|
||||
peicode.h libpei.h
|
||||
pei-x86_64.lo: pei-x86_64.c $(INCDIR)/filenames.h coff-x86_64.c \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/x86_64.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/libiberty.h coffcode.h \
|
||||
peicode.h libpei.h
|
||||
aix386-core.lo: aix386-core.c $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/hashtab.h $(INCDIR)/coff/i386.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/internal.h libcoff.h $(INCDIR)/bfdlink.h
|
||||
@ -2390,18 +2512,21 @@ elf32-ia64.lo: elf32-ia64.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/ia64.h \
|
||||
$(INCDIR)/elf/ia64.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/objalloc.h \
|
||||
elf32-target.h
|
||||
$(INCDIR)/hashtab.h elf32-target.h
|
||||
elf64-ia64.lo: elf64-ia64.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/ia64.h \
|
||||
$(INCDIR)/elf/ia64.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/objalloc.h \
|
||||
elf64-target.h
|
||||
$(INCDIR)/hashtab.h elf64-target.h
|
||||
peigen.lo: peigen.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h libpei.h
|
||||
pepigen.lo: pepigen.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/ia64.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h libpei.h
|
||||
pex64igen.lo: pex64igen.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
|
||||
$(INCDIR)/coff/internal.h $(INCDIR)/coff/x86_64.h $(INCDIR)/coff/external.h \
|
||||
$(INCDIR)/coff/pe.h libcoff.h $(INCDIR)/bfdlink.h libpei.h
|
||||
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
|
@ -1,7 +1,3 @@
|
||||
sinclude(../config/acx.m4)
|
||||
sinclude(../bfd/bfd.m4)
|
||||
sinclude(../bfd/warning.m4)
|
||||
|
||||
dnl See whether we need to use fopen-bin.h rather than fopen-same.h.
|
||||
AC_DEFUN([BFD_BINARY_FOPEN],
|
||||
[AC_REQUIRE([AC_CANONICAL_TARGET])
|
||||
@ -45,22 +41,6 @@ else
|
||||
fi
|
||||
AC_SUBST(EXEEXT_FOR_BUILD)])dnl
|
||||
|
||||
sinclude(../libtool.m4)
|
||||
dnl The lines below arrange for aclocal not to bring libtool.m4
|
||||
dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake
|
||||
dnl to add a definition of LIBTOOL to Makefile.in.
|
||||
ifelse(yes,no,[
|
||||
AC_DEFUN([AM_PROG_LIBTOOL],)
|
||||
AC_DEFUN([AM_DISABLE_SHARED],)
|
||||
AC_SUBST(LIBTOOL)
|
||||
])
|
||||
|
||||
sinclude(../gettext.m4)
|
||||
ifelse(yes,no,[
|
||||
AC_DEFUN([CY_WITH_NLS],)
|
||||
AC_SUBST(INTLLIBS)
|
||||
])
|
||||
|
||||
AC_DEFUN([AM_INSTALL_LIBBFD],
|
||||
[AC_MSG_CHECKING([whether to install libbfd])
|
||||
AC_ARG_ENABLE(install-libbfd,
|
||||
|
39
bfd/aclocal.m4
vendored
39
bfd/aclocal.m4
vendored
@ -1,4 +1,4 @@
|
||||
# generated automatically by aclocal 1.9.5 -*- Autoconf -*-
|
||||
# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
# 2005 Free Software Foundation, Inc.
|
||||
@ -28,7 +28,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
|
||||
# Call AM_AUTOMAKE_VERSION so it can be traced.
|
||||
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||
[AM_AUTOMAKE_VERSION([1.9.5])])
|
||||
[AM_AUTOMAKE_VERSION([1.9.6])])
|
||||
|
||||
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||
|
||||
@ -480,27 +480,6 @@ AC_DEFUN([AM_PROG_INSTALL_SH],
|
||||
install_sh=${install_sh-"$am_aux_dir/install-sh"}
|
||||
AC_SUBST(install_sh)])
|
||||
|
||||
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 2
|
||||
|
||||
# Check whether the underlying file-system supports filenames
|
||||
# with a leading dot. For instance MS-DOS doesn't.
|
||||
AC_DEFUN([AM_SET_LEADING_DOT],
|
||||
[rm -rf .tst 2>/dev/null
|
||||
mkdir .tst 2>/dev/null
|
||||
if test -d .tst; then
|
||||
am__leading_dot=.
|
||||
else
|
||||
am__leading_dot=_
|
||||
fi
|
||||
rmdir .tst 2>/dev/null
|
||||
AC_SUBST([am__leading_dot])])
|
||||
|
||||
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
||||
# From Jim Meyering
|
||||
|
||||
@ -889,4 +868,18 @@ AC_SUBST([am__tar])
|
||||
AC_SUBST([am__untar])
|
||||
]) # _AM_PROG_TAR
|
||||
|
||||
m4_include([../config/acx.m4])
|
||||
m4_include([../config/depstand.m4])
|
||||
m4_include([../config/gettext-sister.m4])
|
||||
m4_include([../config/lead-dot.m4])
|
||||
m4_include([../config/nls.m4])
|
||||
m4_include([../config/po.m4])
|
||||
m4_include([../config/progtest.m4])
|
||||
m4_include([../config/stdint.m4])
|
||||
m4_include([../libtool.m4])
|
||||
m4_include([../ltoptions.m4])
|
||||
m4_include([../ltsugar.m4])
|
||||
m4_include([../ltversion.m4])
|
||||
m4_include([bfd.m4])
|
||||
m4_include([warning.m4])
|
||||
m4_include([acinclude.m4])
|
||||
|
@ -2,7 +2,7 @@
|
||||
This was based on trad-core.c, which was written by John Gilmore of
|
||||
Cygnus Support.
|
||||
Copyright 1988, 1989, 1991, 1992, 1993, 1994, 1996, 1998, 1999, 2000,
|
||||
2001, 2002, 2004
|
||||
2001, 2002, 2004, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Minh Tran-Le <TRANLE@INTELLICORP.COM>.
|
||||
Converted to back end form by Ian Lance Taylor <ian@cygnus.com>.
|
||||
@ -23,8 +23,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/i386.h"
|
||||
#include "coff/internal.h"
|
||||
@ -80,6 +80,7 @@ aix386_core_file_p (abfd)
|
||||
struct trad_core_struct coredata;
|
||||
struct corehdr internal_core;
|
||||
} *mergem;
|
||||
flagword flags;
|
||||
|
||||
amt = sizeof (longbuf);
|
||||
if (bfd_bread ((PTR) longbuf, amt, abfd) != amt)
|
||||
@ -117,11 +118,12 @@ aix386_core_file_p (abfd)
|
||||
core_hdr (abfd) = core;
|
||||
|
||||
/* Create the sections. */
|
||||
core_regsec (abfd) = bfd_make_section_anyway (abfd, ".reg");
|
||||
flags = SEC_HAS_CONTENTS;
|
||||
core_regsec (abfd) = bfd_make_section_anyway_with_flags (abfd, ".reg",
|
||||
flags);
|
||||
if (core_regsec (abfd) == NULL)
|
||||
goto loser;
|
||||
|
||||
core_regsec (abfd)->flags = SEC_HAS_CONTENTS;
|
||||
core_regsec (abfd)->size = sizeof (core->cd_regs);
|
||||
core_regsec (abfd)->vma = (bfd_vma) -1;
|
||||
|
||||
@ -129,12 +131,13 @@ aix386_core_file_p (abfd)
|
||||
core_regsec (abfd)->filepos =
|
||||
(file_ptr) offsetof (struct corehdr, cd_regs[0]);
|
||||
|
||||
core_reg2sec (abfd) = bfd_make_section_anyway (abfd, ".reg2");
|
||||
flags = SEC_HAS_CONTENTS;
|
||||
core_reg2sec (abfd) = bfd_make_section_anyway_with_flags (abfd, ".reg2",
|
||||
flags);
|
||||
if (core_reg2sec (abfd) == NULL)
|
||||
/* bfd_release frees everything allocated after it's arg. */
|
||||
goto loser;
|
||||
|
||||
core_reg2sec (abfd)->flags = SEC_HAS_CONTENTS;
|
||||
core_reg2sec (abfd)->size = sizeof (core->cd_fpregs);
|
||||
core_reg2sec (abfd)->vma = (bfd_vma) -1;
|
||||
core_reg2sec (abfd)->filepos =
|
||||
@ -175,11 +178,12 @@ aix386_core_file_p (abfd)
|
||||
flags = SEC_ALLOC + SEC_HAS_CONTENTS;
|
||||
break;
|
||||
}
|
||||
core_section (abfd, n) = bfd_make_section_anyway (abfd, sname);
|
||||
core_section (abfd, n) = bfd_make_section_anyway_with_flags (abfd,
|
||||
sname,
|
||||
flags);
|
||||
if (core_section (abfd, n) == NULL)
|
||||
goto loser;
|
||||
|
||||
core_section (abfd, n)->flags = flags;
|
||||
core_section (abfd, n)->size = core->cd_segs[i].cs_len;
|
||||
core_section (abfd, n)->vma = core->cd_segs[i].cs_address;
|
||||
core_section (abfd, n)->filepos = core->cd_segs[i].cs_offset;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* IBM RS/6000 "XCOFF" back-end for BFD.
|
||||
Copyright 2001, 2002, 2003, 2004, 2005
|
||||
Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Tom Rix
|
||||
Contributed by Red Hat Inc.
|
||||
@ -21,6 +21,7 @@
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
|
||||
const bfd_target *xcoff64_core_p (bfd *);
|
||||
@ -30,7 +31,6 @@ int xcoff64_core_file_failing_signal (bfd *);
|
||||
|
||||
#ifdef AIX_5_CORE
|
||||
|
||||
#include "sysdep.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
/* Aix 5.1 system include file. */
|
||||
@ -56,6 +56,7 @@ xcoff64_core_p (bfd *abfd)
|
||||
bfd_size_type i;
|
||||
struct vm_infox vminfo;
|
||||
const bfd_target *return_value = NULL;
|
||||
flagword flags;
|
||||
|
||||
/* Get the header. */
|
||||
if (bfd_seek (abfd, 0, SEEK_SET) != 0)
|
||||
@ -117,21 +118,21 @@ xcoff64_core_p (bfd *abfd)
|
||||
abfd->tdata.any = new_core_hdr;
|
||||
|
||||
/* .stack section. */
|
||||
sec = bfd_make_section_anyway (abfd, ".stack");
|
||||
flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS;
|
||||
sec = bfd_make_section_anyway_with_flags (abfd, ".stack", flags);
|
||||
if (NULL == sec)
|
||||
return return_value;
|
||||
|
||||
sec->flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS;
|
||||
sec->size = core.c_size;
|
||||
sec->vma = core.c_stackorg;
|
||||
sec->filepos = core.c_stack;
|
||||
|
||||
/* .reg section for all registers. */
|
||||
sec = bfd_make_section_anyway (abfd, ".reg");
|
||||
flags = SEC_HAS_CONTENTS | SEC_IN_MEMORY;
|
||||
sec = bfd_make_section_anyway_with_flags (abfd, ".reg", flags);
|
||||
if (NULL == sec)
|
||||
return return_value;
|
||||
|
||||
sec->flags = SEC_HAS_CONTENTS | SEC_IN_MEMORY;
|
||||
sec->size = sizeof (struct __context64);
|
||||
sec->vma = 0;
|
||||
sec->filepos = 0;
|
||||
@ -141,11 +142,11 @@ xcoff64_core_p (bfd *abfd)
|
||||
To actually find out how long this section is in this particular
|
||||
core dump would require going down the whole list of struct
|
||||
ld_info's. See if we can just fake it. */
|
||||
sec = bfd_make_section_anyway (abfd, ".ldinfo");
|
||||
flags = SEC_HAS_CONTENTS;
|
||||
sec = bfd_make_section_anyway_with_flags (abfd, ".ldinfo", flags);
|
||||
if (NULL == sec)
|
||||
return return_value;
|
||||
|
||||
sec->flags = SEC_HAS_CONTENTS;
|
||||
sec->size = core.c_lsize;
|
||||
sec->vma = 0;
|
||||
sec->filepos = core.c_loader;
|
||||
@ -155,11 +156,11 @@ xcoff64_core_p (bfd *abfd)
|
||||
regions. */
|
||||
|
||||
/* .data section from executable. */
|
||||
sec = bfd_make_section_anyway (abfd, ".data");
|
||||
flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS;
|
||||
sec = bfd_make_section_anyway_with_flags (abfd, ".data", flags);
|
||||
if (NULL == sec)
|
||||
return return_value;
|
||||
|
||||
sec->flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS;
|
||||
sec->size = core.c_datasize;
|
||||
sec->vma = core.c_dataorg;
|
||||
sec->filepos = core.c_data;
|
||||
@ -178,11 +179,11 @@ xcoff64_core_p (bfd *abfd)
|
||||
|
||||
if (ldinfo.ldinfo_core)
|
||||
{
|
||||
sec = bfd_make_section_anyway (abfd, ".data");
|
||||
flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS;
|
||||
sec = bfd_make_section_anyway_with_flags (abfd, ".data", flags);
|
||||
if (NULL == sec)
|
||||
return return_value;
|
||||
|
||||
sec->flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS;
|
||||
sec->size = ldinfo.ldinfo_datasize;
|
||||
sec->vma = ldinfo.ldinfo_dataorg;
|
||||
sec->filepos = ldinfo.ldinfo_core;
|
||||
@ -206,11 +207,11 @@ xcoff64_core_p (bfd *abfd)
|
||||
|
||||
if (vminfo.vminfo_offset)
|
||||
{
|
||||
sec = bfd_make_section_anyway (abfd, ".vmdata");
|
||||
flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS;
|
||||
sec = bfd_make_section_anyway_with_flags (abfd, ".vmdata", flags);
|
||||
if (NULL == sec)
|
||||
return return_value;
|
||||
|
||||
sec->flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS;
|
||||
sec->size = vminfo.vminfo_size;
|
||||
sec->vma = vminfo.vminfo_addr;
|
||||
sec->filepos = vminfo.vminfo_offset;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for a.out.adobe binaries.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000,
|
||||
2001, 2002, 2003, 2004, 2005
|
||||
2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support. Based on bout.c.
|
||||
|
||||
@ -20,8 +20,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "aout/adobe.h"
|
||||
#include "aout/stab_gnu.h"
|
||||
@ -132,7 +132,7 @@ aout_adobe_callback (bfd *abfd)
|
||||
/* First one is called ".text" or whatever; subsequent ones are
|
||||
".text1", ".text2", ... */
|
||||
bfd_set_error (bfd_error_no_error);
|
||||
sect = bfd_make_section (abfd, section_name);
|
||||
sect = bfd_make_section_with_flags (abfd, section_name, flags);
|
||||
trynum = 0;
|
||||
|
||||
while (!sect)
|
||||
@ -141,7 +141,7 @@ aout_adobe_callback (bfd *abfd)
|
||||
/* Some other error -- slide into the sunset. */
|
||||
return NULL;
|
||||
sprintf (try_again, "%s%d", section_name, ++trynum);
|
||||
sect = bfd_make_section (abfd, try_again);
|
||||
sect = bfd_make_section_with_flags (abfd, try_again, flags);
|
||||
}
|
||||
|
||||
/* Fix the name, if it is a sprintf'd name. */
|
||||
@ -155,8 +155,6 @@ aout_adobe_callback (bfd *abfd)
|
||||
sect->name = newname;
|
||||
}
|
||||
|
||||
/* Now set the section's attributes. */
|
||||
bfd_set_section_flags (abfd, sect, flags);
|
||||
/* Assumed big-endian. */
|
||||
sect->size = ((ext->e_size[0] << 8)
|
||||
| ext->e_size[1] << 8
|
||||
@ -443,7 +441,7 @@ aout_adobe_set_arch_mach (bfd *abfd,
|
||||
|
||||
static int
|
||||
aout_adobe_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED,
|
||||
bfd_boolean ignore ATTRIBUTE_UNUSED)
|
||||
struct bfd_link_info *info ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return sizeof (struct internal_exec);
|
||||
}
|
||||
@ -452,6 +450,7 @@ aout_adobe_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED,
|
||||
|
||||
#define aout_32_bfd_make_debug_symbol ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
|
||||
#define aout_32_bfd_reloc_type_lookup ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
|
||||
#define aout_32_bfd_reloc_name_lookup ((reloc_howto_type *(*) (bfd *, const char *)) bfd_nullvoidptr)
|
||||
#define aout_32_close_and_cleanup aout_32_bfd_free_cached_info
|
||||
#define aout_32_set_arch_mach aout_adobe_set_arch_mach
|
||||
#define aout_32_set_section_contents aout_adobe_set_section_contents
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for raw ARM a.out binaries.
|
||||
Copyright 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005
|
||||
Free Software Foundation, Inc.
|
||||
Copyright 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005,
|
||||
2007 Free Software Foundation, Inc.
|
||||
Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -19,8 +19,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
|
||||
/* Avoid multiple definitions from aoutx if supporting standard a.out
|
||||
as well as our own. */
|
||||
@ -50,6 +50,7 @@
|
||||
#define N_MAGIC(x) ((x).a_info & ~07200)
|
||||
|
||||
#define MY_bfd_reloc_type_lookup aoutarm_bfd_reloc_type_lookup
|
||||
#define MY_bfd_reloc_name_lookup aoutarm_bfd_reloc_name_lookup
|
||||
|
||||
#include "libaout.h"
|
||||
#include "aout/aout64.h"
|
||||
@ -317,6 +318,22 @@ MY (bfd_reloc_type_lookup) (bfd *abfd,
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
MY (bfd_reloc_name_lookup) (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < sizeof (MY (howto_table)) / sizeof (MY (howto_table)[0]);
|
||||
i++)
|
||||
if (MY (howto_table)[i].name != NULL
|
||||
&& strcasecmp (MY (howto_table)[i].name, r_name) == 0)
|
||||
return &MY (howto_table)[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#define MY_swap_std_reloc_in MY (swap_std_reloc_in)
|
||||
#define MY_swap_std_reloc_out MY (swap_std_reloc_out)
|
||||
#define MY_get_section_contents _bfd_generic_get_section_contents
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for ns32k a.out-ish binaries.
|
||||
Copyright 1990, 1991, 1992, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
2002, 2003, 2005 Free Software Foundation, Inc.
|
||||
2002, 2003, 2005, 2007 Free Software Foundation, Inc.
|
||||
Contributed by Ian Dall (idall@eleceng.adelaide.edu.au).
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -28,8 +28,9 @@
|
||||
the tokens. */
|
||||
#define MYNS(OP) CONCAT2 (ns32kaout_,OP)
|
||||
|
||||
reloc_howto_type * MYNS (bfd_reloc_type_lookup) (bfd * abfd, bfd_reloc_code_real_type);
|
||||
bfd_boolean MYNS (write_object_contents) (bfd *abfd);
|
||||
reloc_howto_type * MYNS (bfd_reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
|
||||
reloc_howto_type * MYNS (bfd_reloc_name_lookup) (bfd *, const char *);
|
||||
bfd_boolean MYNS (write_object_contents) (bfd *);
|
||||
|
||||
/* Avoid multiple definitions from aoutx if supporting
|
||||
standard a.out format(s) as well as this one. */
|
||||
@ -246,6 +247,22 @@ MY (bfd_reloc_type_lookup) (bfd *abfd, bfd_reloc_code_real_type code)
|
||||
#undef ENTRY
|
||||
}
|
||||
|
||||
reloc_howto_type *
|
||||
MY (bfd_reloc_name_lookup) (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < sizeof (MY (howto_table)) / sizeof (MY (howto_table)[0]);
|
||||
i++)
|
||||
if (MY (howto_table)[i].name != NULL
|
||||
&& strcasecmp (MY (howto_table)[i].name, r_name) == 0)
|
||||
return &MY (howto_table)[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
MY_swap_std_reloc_in (bfd *abfd,
|
||||
struct reloc_std_external *bytes,
|
||||
@ -274,11 +291,8 @@ MY_swap_std_reloc_out (bfd *abfd,
|
||||
int r_index;
|
||||
asymbol *sym = *(g->sym_ptr_ptr);
|
||||
int r_extern;
|
||||
unsigned int r_addend;
|
||||
asection *output_section = sym->section->output_section;
|
||||
|
||||
r_addend = g->addend + (*(g->sym_ptr_ptr))->section->output_section->vma;
|
||||
|
||||
/* Name was clobbered by aout_write_syms to be symbol index. */
|
||||
|
||||
/* If this relocation is relative to a symbol then set the
|
||||
@ -341,7 +355,6 @@ _bfd_ns32k_relocate_contents (reloc_howto_type *howto,
|
||||
case 2:
|
||||
return _bfd_relocate_contents (howto, input_bfd, relocation,
|
||||
location);
|
||||
break;
|
||||
default:
|
||||
return bfd_reloc_notsupported;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Define a target vector and some small routines for a variant of a.out.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -29,6 +29,7 @@
|
||||
#endif
|
||||
|
||||
extern reloc_howto_type * NAME (aout, reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
|
||||
extern reloc_howto_type * NAME (aout, reloc_name_lookup) (bfd *, const char *);
|
||||
|
||||
/* Set parameters about this a.out file that are machine-dependent.
|
||||
This routine is called from some_aout_object_p just before it returns. */
|
||||
@ -494,6 +495,9 @@ MY_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
|
||||
#ifndef MY_bfd_reloc_type_lookup
|
||||
#define MY_bfd_reloc_type_lookup NAME (aout, reloc_type_lookup)
|
||||
#endif
|
||||
#ifndef MY_bfd_reloc_name_lookup
|
||||
#define MY_bfd_reloc_name_lookup NAME (aout, reloc_name_lookup)
|
||||
#endif
|
||||
#ifndef MY_bfd_make_debug_symbol
|
||||
#define MY_bfd_make_debug_symbol 0
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for TMS320C30 a.out binaries.
|
||||
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au)
|
||||
|
||||
@ -35,8 +35,8 @@
|
||||
#define TARGETNAME "a.out-tic30"
|
||||
#define NAME(x,y) CONCAT3 (tic30_aout,_32_,y)
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libaout.h"
|
||||
#include "aout/aout64.h"
|
||||
#include "aout/stab_gnu.h"
|
||||
@ -270,6 +270,23 @@ tic30_aout_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
tic30_aout_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < (sizeof (tic30_aout_howto_table)
|
||||
/ sizeof (tic30_aout_howto_table[0]));
|
||||
i++)
|
||||
if (tic30_aout_howto_table[i].name != NULL
|
||||
&& strcasecmp (tic30_aout_howto_table[i].name, r_name) == 0)
|
||||
return &tic30_aout_howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
tic30_aout_reloc_howto (bfd *abfd,
|
||||
struct reloc_std_external *relocs,
|
||||
@ -936,6 +953,9 @@ tic30_aout_set_arch_mach (bfd *abfd,
|
||||
#ifndef MY_bfd_reloc_type_lookup
|
||||
#define MY_bfd_reloc_type_lookup tic30_aout_reloc_type_lookup
|
||||
#endif
|
||||
#ifndef MY_bfd_reloc_name_lookup
|
||||
#define MY_bfd_reloc_name_lookup tic30_aout_reloc_name_lookup
|
||||
#endif
|
||||
#ifndef MY_bfd_make_debug_symbol
|
||||
#define MY_bfd_make_debug_symbol 0
|
||||
#endif
|
||||
|
26
bfd/aoutf1.h
26
bfd/aoutf1.h
@ -1,6 +1,6 @@
|
||||
/* A.out "format 1" file handling code for BFD.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000,
|
||||
2001, 2002, 2003, 2004, 2005, 2006
|
||||
2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
@ -20,8 +20,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
#include "aout/sun4.h"
|
||||
@ -566,6 +566,7 @@ sunos4_core_file_p (bfd *abfd)
|
||||
struct internal_sunos_core internal_sunos_core;
|
||||
char external_core[1];
|
||||
} *mergem;
|
||||
flagword flags;
|
||||
|
||||
if (bfd_bread ((void *) longbuf, (bfd_size_type) sizeof (longbuf), abfd)
|
||||
!= sizeof (longbuf))
|
||||
@ -627,28 +628,31 @@ sunos4_core_file_p (bfd *abfd)
|
||||
abfd->tdata.sun_core_data->hdr = core;
|
||||
|
||||
/* Create the sections. */
|
||||
core_stacksec (abfd) = bfd_make_section_anyway (abfd, ".stack");
|
||||
flags = SEC_ALLOC + SEC_LOAD + SEC_HAS_CONTENTS;
|
||||
core_stacksec (abfd) = bfd_make_section_anyway_with_flags (abfd, ".stack",
|
||||
flags);
|
||||
if (core_stacksec (abfd) == NULL)
|
||||
/* bfd_release frees everything allocated after it's arg. */
|
||||
goto loser;
|
||||
|
||||
core_datasec (abfd) = bfd_make_section_anyway (abfd, ".data");
|
||||
flags = SEC_ALLOC + SEC_LOAD + SEC_HAS_CONTENTS;
|
||||
core_datasec (abfd) = bfd_make_section_anyway_with_flags (abfd, ".data",
|
||||
flags);
|
||||
if (core_datasec (abfd) == NULL)
|
||||
goto loser;
|
||||
|
||||
core_regsec (abfd) = bfd_make_section_anyway (abfd, ".reg");
|
||||
flags = SEC_HAS_CONTENTS;
|
||||
core_regsec (abfd) = bfd_make_section_anyway_with_flags (abfd, ".reg",
|
||||
flags);
|
||||
if (core_regsec (abfd) == NULL)
|
||||
goto loser;
|
||||
|
||||
core_reg2sec (abfd) = bfd_make_section_anyway (abfd, ".reg2");
|
||||
flags = SEC_HAS_CONTENTS;
|
||||
core_reg2sec (abfd) = bfd_make_section_anyway_with_flags (abfd, ".reg2",
|
||||
flags);
|
||||
if (core_reg2sec (abfd) == NULL)
|
||||
goto loser;
|
||||
|
||||
core_stacksec (abfd)->flags = SEC_ALLOC + SEC_LOAD + SEC_HAS_CONTENTS;
|
||||
core_datasec (abfd)->flags = SEC_ALLOC + SEC_LOAD + SEC_HAS_CONTENTS;
|
||||
core_regsec (abfd)->flags = SEC_HAS_CONTENTS;
|
||||
core_reg2sec (abfd)->flags = SEC_HAS_CONTENTS;
|
||||
|
||||
core_stacksec (abfd)->size = core->c_ssize;
|
||||
core_datasec (abfd)->size = core->c_dsize;
|
||||
core_regsec (abfd)->size = core->c_regs_size;
|
||||
|
50
bfd/aoutx.h
50
bfd/aoutx.h
@ -1,6 +1,6 @@
|
||||
/* BFD semi-generic back-end for a.out binaries.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
@ -118,8 +118,8 @@ DESCRIPTION
|
||||
|
||||
#define KEEPIT udata.i
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "safe-ctype.h"
|
||||
#include "bfdlink.h"
|
||||
|
||||
@ -129,8 +129,6 @@ DESCRIPTION
|
||||
#include "aout/stab_gnu.h"
|
||||
#include "aout/ar.h"
|
||||
|
||||
reloc_howto_type * NAME (aout, reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
|
||||
|
||||
/*
|
||||
SUBSECTION
|
||||
Relocations
|
||||
@ -319,6 +317,31 @@ NAME (aout, reloc_type_lookup) (bfd *abfd, bfd_reloc_code_real_type code)
|
||||
}
|
||||
}
|
||||
|
||||
reloc_howto_type *
|
||||
NAME (aout, reloc_name_lookup) (bfd *abfd, const char *r_name)
|
||||
{
|
||||
unsigned int i, size;
|
||||
reloc_howto_type *howto_table;
|
||||
|
||||
if (obj_reloc_entry_size (abfd) == RELOC_EXT_SIZE)
|
||||
{
|
||||
howto_table = howto_table_ext;
|
||||
size = sizeof (howto_table_ext) / sizeof (howto_table_ext[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
howto_table = howto_table_std;
|
||||
size = sizeof (howto_table_std) / sizeof (howto_table_std[0]);
|
||||
}
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
if (howto_table[i].name != NULL
|
||||
&& strcasecmp (howto_table[i].name, r_name) == 0)
|
||||
return &howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
SUBSECTION
|
||||
Internal entry points
|
||||
@ -1193,26 +1216,21 @@ NAME (aout, new_section_hook) (bfd *abfd, asection *newsect)
|
||||
{
|
||||
obj_textsec (abfd)= newsect;
|
||||
newsect->target_index = N_TEXT;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (obj_datasec (abfd) == NULL && !strcmp (newsect->name, ".data"))
|
||||
else if (obj_datasec (abfd) == NULL && !strcmp (newsect->name, ".data"))
|
||||
{
|
||||
obj_datasec (abfd) = newsect;
|
||||
newsect->target_index = N_DATA;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (obj_bsssec (abfd) == NULL && !strcmp (newsect->name, ".bss"))
|
||||
else if (obj_bsssec (abfd) == NULL && !strcmp (newsect->name, ".bss"))
|
||||
{
|
||||
obj_bsssec (abfd) = newsect;
|
||||
newsect->target_index = N_BSS;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* We allow more than three sections internally. */
|
||||
return TRUE;
|
||||
return _bfd_generic_new_section_hook (abfd, newsect);
|
||||
}
|
||||
|
||||
bfd_boolean
|
||||
@ -1934,7 +1952,10 @@ NAME (aout, swap_std_reloc_out) (bfd *abfd,
|
||||
|
||||
if (bfd_is_com_section (output_section)
|
||||
|| bfd_is_abs_section (output_section)
|
||||
|| bfd_is_und_section (output_section))
|
||||
|| bfd_is_und_section (output_section)
|
||||
/* PR gas/3041 a.out relocs against weak symbols
|
||||
must be treated as if they were against externs. */
|
||||
|| (sym->flags & BSF_WEAK))
|
||||
{
|
||||
if (bfd_abs_section_ptr->symbol == sym)
|
||||
{
|
||||
@ -2785,7 +2806,8 @@ NAME (aout, find_nearest_line) (bfd *abfd,
|
||||
}
|
||||
|
||||
int
|
||||
NAME (aout, sizeof_headers) (bfd *abfd, bfd_boolean execable ATTRIBUTE_UNUSED)
|
||||
NAME (aout, sizeof_headers) (bfd *abfd,
|
||||
struct bfd_link_info *info ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return adata (abfd).exec_bytes_size;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for archive files (libraries).
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support. Mostly Gumby Henkel-Wallace's fault.
|
||||
|
||||
@ -129,8 +129,8 @@ SUBSECTION
|
||||
" 18 " - Long name 18 characters long, extended pseudo-BSD.
|
||||
*/
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libiberty.h"
|
||||
#include "libbfd.h"
|
||||
#include "aout/ar.h"
|
||||
@ -666,10 +666,7 @@ bfd_generic_archive_p (bfd *abfd)
|
||||
first = bfd_openr_next_archived_file (abfd, NULL);
|
||||
if (first != NULL)
|
||||
{
|
||||
bfd_boolean fail;
|
||||
|
||||
first->target_defaulted = FALSE;
|
||||
fail = FALSE;
|
||||
if (bfd_check_format (first, bfd_object)
|
||||
&& first->xvec != abfd->xvec)
|
||||
{
|
||||
@ -915,12 +912,12 @@ bfd_slurp_armap (bfd *abfd)
|
||||
if (bfd_seek (abfd, (file_ptr) -16, SEEK_CUR) != 0)
|
||||
return FALSE;
|
||||
|
||||
if (!strncmp (nextname, "__.SYMDEF ", 16)
|
||||
|| !strncmp (nextname, "__.SYMDEF/ ", 16)) /* old Linux archives */
|
||||
if (CONST_STRNEQ (nextname, "__.SYMDEF ")
|
||||
|| CONST_STRNEQ (nextname, "__.SYMDEF/ ")) /* Old Linux archives. */
|
||||
return do_slurp_bsd_armap (abfd);
|
||||
else if (!strncmp (nextname, "/ ", 16))
|
||||
else if (CONST_STRNEQ (nextname, "/ "))
|
||||
return do_slurp_coff_armap (abfd);
|
||||
else if (!strncmp (nextname, "/SYM64/ ", 16))
|
||||
else if (CONST_STRNEQ (nextname, "/SYM64/ "))
|
||||
{
|
||||
/* 64bit ELF (Irix 6) archive. */
|
||||
#ifdef BFD64
|
||||
@ -966,11 +963,11 @@ bfd_slurp_bsd_armap_f2 (bfd *abfd)
|
||||
if (bfd_seek (abfd, (file_ptr) -16, SEEK_CUR) != 0)
|
||||
return FALSE;
|
||||
|
||||
if (!strncmp (nextname, "__.SYMDEF ", 16)
|
||||
|| !strncmp (nextname, "__.SYMDEF/ ", 16)) /* Old Linux archives. */
|
||||
if (CONST_STRNEQ (nextname, "__.SYMDEF ")
|
||||
|| CONST_STRNEQ (nextname, "__.SYMDEF/ ")) /* Old Linux archives. */
|
||||
return do_slurp_bsd_armap (abfd);
|
||||
|
||||
if (strncmp (nextname, "/ ", 16))
|
||||
if (! CONST_STRNEQ (nextname, "/ "))
|
||||
{
|
||||
bfd_has_map (abfd) = FALSE;
|
||||
return TRUE;
|
||||
@ -1066,8 +1063,8 @@ _bfd_slurp_extended_name_table (bfd *abfd)
|
||||
if (bfd_seek (abfd, (file_ptr) -16, SEEK_CUR) != 0)
|
||||
return FALSE;
|
||||
|
||||
if (strncmp (nextname, "ARFILENAMES/ ", 16) != 0 &&
|
||||
strncmp (nextname, "// ", 16) != 0)
|
||||
if (! CONST_STRNEQ (nextname, "ARFILENAMES/ ")
|
||||
&& ! CONST_STRNEQ (nextname, "// "))
|
||||
{
|
||||
bfd_ardata (abfd)->extended_names = NULL;
|
||||
bfd_ardata (abfd)->extended_names_size = 0;
|
||||
@ -1237,7 +1234,9 @@ _bfd_construct_extended_name_table (bfd *abfd,
|
||||
*tablen = 0;
|
||||
|
||||
/* Figure out how long the table should be. */
|
||||
for (current = abfd->archive_head; current != NULL; current = current->next)
|
||||
for (current = abfd->archive_head;
|
||||
current != NULL;
|
||||
current = current->archive_next)
|
||||
{
|
||||
const char *normal;
|
||||
unsigned int thislen;
|
||||
@ -1289,8 +1288,9 @@ _bfd_construct_extended_name_table (bfd *abfd,
|
||||
*tablen = total_namelen;
|
||||
strptr = *tabloc;
|
||||
|
||||
for (current = abfd->archive_head; current != NULL; current =
|
||||
current->next)
|
||||
for (current = abfd->archive_head;
|
||||
current != NULL;
|
||||
current = current->archive_next)
|
||||
{
|
||||
const char *normal;
|
||||
unsigned int thislen;
|
||||
@ -1339,7 +1339,7 @@ hpux_uid_gid_encode (char str[6], long int id)
|
||||
str[5] = '@' + (id & 3);
|
||||
id >>= 2;
|
||||
|
||||
for (cnt = 4; cnt >= 0; ++cnt, id >>= 6)
|
||||
for (cnt = 4; cnt >= 0; --cnt, id >>= 6)
|
||||
str[cnt] = ' ' + (id & 0x3f);
|
||||
}
|
||||
#endif /* HPUX_LARGE_AR_IDS */
|
||||
@ -1640,7 +1640,9 @@ _bfd_write_archive_contents (bfd *arch)
|
||||
/* Verify the viability of all entries; if any of them live in the
|
||||
filesystem (as opposed to living in an archive open for input)
|
||||
then construct a fresh ar_hdr for them. */
|
||||
for (current = arch->archive_head; current; current = current->next)
|
||||
for (current = arch->archive_head;
|
||||
current != NULL;
|
||||
current = current->archive_next)
|
||||
{
|
||||
/* This check is checking the bfds for the objects we're reading
|
||||
from (which are usually either an object file or archive on
|
||||
@ -1650,14 +1652,14 @@ _bfd_write_archive_contents (bfd *arch)
|
||||
if (bfd_write_p (current))
|
||||
{
|
||||
bfd_set_error (bfd_error_invalid_operation);
|
||||
return FALSE;
|
||||
goto input_err;
|
||||
}
|
||||
if (!current->arelt_data)
|
||||
{
|
||||
current->arelt_data =
|
||||
bfd_ar_hdr_from_filesystem (arch, current->filename, current);
|
||||
if (!current->arelt_data)
|
||||
return FALSE;
|
||||
goto input_err;
|
||||
|
||||
/* Put in the file name. */
|
||||
BFD_SEND (arch, _bfd_truncate_arname,
|
||||
@ -1708,7 +1710,9 @@ _bfd_write_archive_contents (bfd *arch)
|
||||
}
|
||||
}
|
||||
|
||||
for (current = arch->archive_head; current; current = current->next)
|
||||
for (current = arch->archive_head;
|
||||
current != NULL;
|
||||
current = current->archive_next)
|
||||
{
|
||||
char buffer[DEFAULT_BUFFERSIZE];
|
||||
unsigned int remaining = arelt_size (current);
|
||||
@ -1719,7 +1723,7 @@ _bfd_write_archive_contents (bfd *arch)
|
||||
!= sizeof (*hdr))
|
||||
return FALSE;
|
||||
if (bfd_seek (current, (file_ptr) 0, SEEK_SET) != 0)
|
||||
return FALSE;
|
||||
goto input_err;
|
||||
while (remaining)
|
||||
{
|
||||
unsigned int amt = DEFAULT_BUFFERSIZE;
|
||||
@ -1729,8 +1733,8 @@ _bfd_write_archive_contents (bfd *arch)
|
||||
if (bfd_bread (buffer, amt, current) != amt)
|
||||
{
|
||||
if (bfd_get_error () != bfd_error_system_call)
|
||||
bfd_set_error (bfd_error_malformed_archive);
|
||||
return FALSE;
|
||||
bfd_set_error (bfd_error_file_truncated);
|
||||
goto input_err;
|
||||
}
|
||||
if (bfd_bwrite (buffer, amt, arch) != amt)
|
||||
return FALSE;
|
||||
@ -1763,6 +1767,10 @@ _bfd_write_archive_contents (bfd *arch)
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
||||
input_err:
|
||||
bfd_set_error (bfd_error_on_input, current, bfd_get_error ());
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Note that the namidx for the first symbol is 0. */
|
||||
@ -1801,12 +1809,12 @@ _bfd_compute_and_write_armap (bfd *arch, unsigned int elength)
|
||||
/* Drop all the files called __.SYMDEF, we're going to make our own. */
|
||||
while (arch->archive_head &&
|
||||
strcmp (arch->archive_head->filename, "__.SYMDEF") == 0)
|
||||
arch->archive_head = arch->archive_head->next;
|
||||
arch->archive_head = arch->archive_head->archive_next;
|
||||
|
||||
/* Map over each element. */
|
||||
for (current = arch->archive_head;
|
||||
current != NULL;
|
||||
current = current->next, elt_no++)
|
||||
current = current->archive_next, elt_no++)
|
||||
{
|
||||
if (bfd_check_format (current, bfd_object)
|
||||
&& (bfd_get_file_flags (current) & HAS_SYMS) != 0)
|
||||
@ -1963,7 +1971,7 @@ bsd_write_armap (bfd *arch,
|
||||
{
|
||||
firstreal += arelt_size (current) + sizeof (struct ar_hdr);
|
||||
firstreal += firstreal % 2;
|
||||
current = current->next;
|
||||
current = current->archive_next;
|
||||
}
|
||||
while (current != map[count].u.abfd);
|
||||
}
|
||||
@ -2133,7 +2141,7 @@ coff_write_armap (bfd *arch,
|
||||
archive_member_file_ptr += arelt_size (current) + sizeof (struct ar_hdr);
|
||||
/* Remember aboout the even alignment. */
|
||||
archive_member_file_ptr += archive_member_file_ptr % 2;
|
||||
current = current->next;
|
||||
current = current->archive_next;
|
||||
}
|
||||
|
||||
/* Now write the strings themselves. */
|
||||
|
@ -1,30 +1,30 @@
|
||||
/* MIPS-specific support for 64-bit ELF
|
||||
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Ian Lance Taylor, Cygnus Support
|
||||
Linker support added by Mark Mitchell, CodeSourcery, LLC.
|
||||
<mark@codesourcery.com>
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
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 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.
|
||||
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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
/* This file supports the 64-bit (MIPS) ELF archives. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "aout/ar.h"
|
||||
|
||||
@ -65,10 +65,10 @@ bfd_elf64_archive_slurp_armap (bfd *abfd)
|
||||
return FALSE;
|
||||
|
||||
/* Archives with traditional armaps are still permitted. */
|
||||
if (strncmp (nextname, "/ ", 16) == 0)
|
||||
if (CONST_STRNEQ (nextname, "/ "))
|
||||
return bfd_slurp_armap (abfd);
|
||||
|
||||
if (strncmp (nextname, "/SYM64/ ", 16) != 0)
|
||||
if (! CONST_STRNEQ (nextname, "/SYM64/ "))
|
||||
{
|
||||
bfd_has_map (abfd) = FALSE;
|
||||
return TRUE;
|
||||
@ -215,7 +215,7 @@ bfd_elf64_archive_write_armap (bfd *arch,
|
||||
+ sizeof (struct ar_hdr));
|
||||
/* remember about the even alignment */
|
||||
archive_member_file_ptr += archive_member_file_ptr % 2;
|
||||
current = current->next;
|
||||
current = current->archive_next;
|
||||
}
|
||||
|
||||
/* now write the strings themselves */
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD library support routines for architectures.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
|
||||
|
||||
@ -20,8 +20,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "safe-ctype.h"
|
||||
|
||||
@ -80,22 +80,26 @@ DESCRIPTION
|
||||
.#define bfd_mach_m68040 6
|
||||
.#define bfd_mach_m68060 7
|
||||
.#define bfd_mach_cpu32 8
|
||||
.#define bfd_mach_mcf_isa_a_nodiv 9
|
||||
.#define bfd_mach_mcf_isa_a 10
|
||||
.#define bfd_mach_mcf_isa_a_mac 11
|
||||
.#define bfd_mach_mcf_isa_a_emac 12
|
||||
.#define bfd_mach_mcf_isa_aplus 13
|
||||
.#define bfd_mach_mcf_isa_aplus_mac 14
|
||||
.#define bfd_mach_mcf_isa_aplus_emac 15
|
||||
.#define bfd_mach_mcf_isa_b_nousp 16
|
||||
.#define bfd_mach_mcf_isa_b_nousp_mac 17
|
||||
.#define bfd_mach_mcf_isa_b_nousp_emac 18
|
||||
.#define bfd_mach_mcf_isa_b 19
|
||||
.#define bfd_mach_mcf_isa_b_mac 20
|
||||
.#define bfd_mach_mcf_isa_b_emac 21
|
||||
.#define bfd_mach_mcf_isa_b_float 22
|
||||
.#define bfd_mach_mcf_isa_b_float_mac 23
|
||||
.#define bfd_mach_mcf_isa_b_float_emac 24
|
||||
.#define bfd_mach_fido 9
|
||||
.#define bfd_mach_mcf_isa_a_nodiv 10
|
||||
.#define bfd_mach_mcf_isa_a 11
|
||||
.#define bfd_mach_mcf_isa_a_mac 12
|
||||
.#define bfd_mach_mcf_isa_a_emac 13
|
||||
.#define bfd_mach_mcf_isa_aplus 14
|
||||
.#define bfd_mach_mcf_isa_aplus_mac 15
|
||||
.#define bfd_mach_mcf_isa_aplus_emac 16
|
||||
.#define bfd_mach_mcf_isa_b_nousp 17
|
||||
.#define bfd_mach_mcf_isa_b_nousp_mac 18
|
||||
.#define bfd_mach_mcf_isa_b_nousp_emac 19
|
||||
.#define bfd_mach_mcf_isa_b 20
|
||||
.#define bfd_mach_mcf_isa_b_mac 21
|
||||
.#define bfd_mach_mcf_isa_b_emac 22
|
||||
.#define bfd_mach_mcf_isa_b_float 23
|
||||
.#define bfd_mach_mcf_isa_b_float_mac 24
|
||||
.#define bfd_mach_mcf_isa_b_float_emac 25
|
||||
.#define bfd_mach_mcf_isa_c 26
|
||||
.#define bfd_mach_mcf_isa_c_mac 27
|
||||
.#define bfd_mach_mcf_isa_c_emac 28
|
||||
. bfd_arch_vax, {* DEC Vax *}
|
||||
. bfd_arch_i960, {* Intel 960 *}
|
||||
. {* The order of the following is important.
|
||||
@ -136,6 +140,8 @@ DESCRIPTION
|
||||
.{* Nonzero if MACH is a 64 bit sparc architecture. *}
|
||||
.#define bfd_mach_sparc_64bit_p(mach) \
|
||||
. ((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb)
|
||||
. bfd_arch_spu, {* PowerPC SPU *}
|
||||
.#define bfd_mach_spu 256
|
||||
. bfd_arch_mips, {* MIPS Rxxxx *}
|
||||
.#define bfd_mach_mips3000 3000
|
||||
.#define bfd_mach_mips3900 3900
|
||||
@ -273,6 +279,7 @@ DESCRIPTION
|
||||
.#define bfd_mach_arm_XScale 10
|
||||
.#define bfd_mach_arm_ep9312 11
|
||||
.#define bfd_mach_arm_iWMMXt 12
|
||||
.#define bfd_mach_arm_iWMMXt2 13
|
||||
. bfd_arch_ns32k, {* National Semiconductors ns32000 *}
|
||||
. bfd_arch_w65, {* WDC 65816 *}
|
||||
. bfd_arch_tic30, {* Texas Instruments TMS320C30 *}
|
||||
@ -314,6 +321,9 @@ DESCRIPTION
|
||||
.#define bfd_mach_fr500 500
|
||||
.#define bfd_mach_fr550 550
|
||||
. bfd_arch_mcore,
|
||||
. bfd_arch_mep,
|
||||
.#define bfd_mach_mep 1
|
||||
.#define bfd_mach_mep_h1 0x6831
|
||||
. bfd_arch_ia64, {* HP/Intel ia64 *}
|
||||
.#define bfd_mach_ia64_elf64 64
|
||||
.#define bfd_mach_ia64_elf32 32
|
||||
@ -334,8 +344,11 @@ DESCRIPTION
|
||||
.#define bfd_mach_avr3 3
|
||||
.#define bfd_mach_avr4 4
|
||||
.#define bfd_mach_avr5 5
|
||||
.#define bfd_mach_avr6 6
|
||||
. bfd_arch_bfin, {* ADI Blackfin *}
|
||||
.#define bfd_mach_bfin 1
|
||||
. bfd_arch_cr16, {* National Semiconductor CompactRISC (ie CR16). *}
|
||||
.#define bfd_mach_cr16 1
|
||||
. bfd_arch_cr16c, {* National Semiconductor CompactRISC. *}
|
||||
.#define bfd_mach_cr16c 1
|
||||
. bfd_arch_crx, {* National Semiconductor CRX. *}
|
||||
@ -347,6 +360,7 @@ DESCRIPTION
|
||||
. bfd_arch_s390, {* IBM s390 *}
|
||||
.#define bfd_mach_s390_31 31
|
||||
.#define bfd_mach_s390_64 64
|
||||
. bfd_arch_score, {* Sunplus score *}
|
||||
. bfd_arch_openrisc, {* OpenRISC *}
|
||||
. bfd_arch_mmix, {* Donald Knuth's educational processor. *}
|
||||
. bfd_arch_xstormy16,
|
||||
@ -424,6 +438,7 @@ extern const bfd_arch_info_type bfd_arc_arch;
|
||||
extern const bfd_arch_info_type bfd_arm_arch;
|
||||
extern const bfd_arch_info_type bfd_avr_arch;
|
||||
extern const bfd_arch_info_type bfd_bfin_arch;
|
||||
extern const bfd_arch_info_type bfd_cr16_arch;
|
||||
extern const bfd_arch_info_type bfd_cr16c_arch;
|
||||
extern const bfd_arch_info_type bfd_cris_arch;
|
||||
extern const bfd_arch_info_type bfd_crx_arch;
|
||||
@ -450,6 +465,7 @@ extern const bfd_arch_info_type bfd_m68k_arch;
|
||||
extern const bfd_arch_info_type bfd_m88k_arch;
|
||||
extern const bfd_arch_info_type bfd_maxq_arch;
|
||||
extern const bfd_arch_info_type bfd_mcore_arch;
|
||||
extern const bfd_arch_info_type bfd_mep_arch;
|
||||
extern const bfd_arch_info_type bfd_mips_arch;
|
||||
extern const bfd_arch_info_type bfd_mmix_arch;
|
||||
extern const bfd_arch_info_type bfd_mn10200_arch;
|
||||
@ -465,8 +481,10 @@ extern const bfd_arch_info_type bfd_powerpc_archs[];
|
||||
#define bfd_powerpc_arch bfd_powerpc_archs[0]
|
||||
extern const bfd_arch_info_type bfd_rs6000_arch;
|
||||
extern const bfd_arch_info_type bfd_s390_arch;
|
||||
extern const bfd_arch_info_type bfd_score_arch;
|
||||
extern const bfd_arch_info_type bfd_sh_arch;
|
||||
extern const bfd_arch_info_type bfd_sparc_arch;
|
||||
extern const bfd_arch_info_type bfd_spu_arch;
|
||||
extern const bfd_arch_info_type bfd_tic30_arch;
|
||||
extern const bfd_arch_info_type bfd_tic4x_arch;
|
||||
extern const bfd_arch_info_type bfd_tic54x_arch;
|
||||
@ -491,6 +509,7 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
|
||||
&bfd_arm_arch,
|
||||
&bfd_avr_arch,
|
||||
&bfd_bfin_arch,
|
||||
&bfd_cr16_arch,
|
||||
&bfd_cr16c_arch,
|
||||
&bfd_cris_arch,
|
||||
&bfd_crx_arch,
|
||||
@ -517,6 +536,7 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
|
||||
&bfd_m88k_arch,
|
||||
&bfd_maxq_arch,
|
||||
&bfd_mcore_arch,
|
||||
&bfd_mep_arch,
|
||||
&bfd_mips_arch,
|
||||
&bfd_mmix_arch,
|
||||
&bfd_mn10200_arch,
|
||||
@ -530,8 +550,10 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
|
||||
&bfd_powerpc_arch,
|
||||
&bfd_rs6000_arch,
|
||||
&bfd_s390_arch,
|
||||
&bfd_score_arch,
|
||||
&bfd_sh_arch,
|
||||
&bfd_sparc_arch,
|
||||
&bfd_spu_arch,
|
||||
&bfd_tic30_arch,
|
||||
&bfd_tic4x_arch,
|
||||
&bfd_tic54x_arch,
|
||||
|
86
bfd/bfd-in.h
86
bfd/bfd-in.h
@ -1,7 +1,7 @@
|
||||
/* Main header file for the bfd library -- portable access to object files.
|
||||
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Cygnus Support.
|
||||
@ -43,6 +43,30 @@ extern "C" {
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* This is a utility macro to handle the situation where the code
|
||||
wants to place a constant string into the code, followed by a
|
||||
comma and then the length of the string. Doing this by hand
|
||||
is error prone, so using this macro is safer. The macro will
|
||||
also safely handle the case where a NULL is passed as the arg. */
|
||||
#define STRING_COMMA_LEN(STR) (STR), ((STR) ? sizeof (STR) - 1 : 0)
|
||||
/* Unfortunately it is not possible to use the STRING_COMMA_LEN macro
|
||||
to create the arguments to another macro, since the preprocessor
|
||||
will mis-count the number of arguments to the outer macro (by not
|
||||
evaluating STRING_COMMA_LEN and so missing the comma). This is a
|
||||
problem for example when trying to use STRING_COMMA_LEN to build
|
||||
the arguments to the strncmp() macro. Hence this alternative
|
||||
definition of strncmp is provided here.
|
||||
|
||||
Note - these macros do NOT work if STR2 is not a constant string. */
|
||||
#define CONST_STRNEQ(STR1,STR2) (strncmp ((STR1), (STR2), sizeof (STR2) - 1) == 0)
|
||||
/* strcpy() can have a similar problem, but since we know we are
|
||||
copying a constant string, we can use memcpy which will be faster
|
||||
since there is no need to check for a NUL byte inside STR. We
|
||||
can also save time if we do not need to copy the terminating NUL. */
|
||||
#define LITMEMCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2) - 1)
|
||||
#define LITSTRCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2))
|
||||
|
||||
|
||||
/* The word size used by BFD on the host. This may be 64 with a 32
|
||||
bit target if the host is 64 bit, or if other 64 bit targets have
|
||||
been selected with --enable-targets, or if --enable-64-bit-bfd. */
|
||||
@ -326,7 +350,15 @@ typedef struct bfd_section *sec_ptr;
|
||||
(((sec)->rawsize ? (sec)->rawsize : (sec)->size) \
|
||||
/ bfd_octets_per_byte (bfd))
|
||||
|
||||
typedef struct stat stat_type;
|
||||
/* Return TRUE if section has been discarded. */
|
||||
#define elf_discarded_section(sec) \
|
||||
(!bfd_is_abs_section (sec) \
|
||||
&& bfd_is_abs_section ((sec)->output_section) \
|
||||
&& (sec)->sec_info_type != ELF_INFO_TYPE_MERGE \
|
||||
&& (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS)
|
||||
|
||||
/* Forward define. */
|
||||
struct stat;
|
||||
|
||||
typedef enum bfd_print_symbol
|
||||
{
|
||||
@ -374,10 +406,6 @@ struct bfd_hash_table
|
||||
{
|
||||
/* The hash array. */
|
||||
struct bfd_hash_entry **table;
|
||||
/* The number of slots in the hash table. */
|
||||
unsigned int size;
|
||||
/* The size of elements. */
|
||||
unsigned int entsize;
|
||||
/* A function used to create new elements in the hash table. The
|
||||
first entry is itself a pointer to an element. When this
|
||||
function is first invoked, this pointer will be NULL. However,
|
||||
@ -390,6 +418,14 @@ struct bfd_hash_table
|
||||
/* An objalloc for this hash table. This is a struct objalloc *,
|
||||
but we use void * to avoid requiring the inclusion of objalloc.h. */
|
||||
void *memory;
|
||||
/* The number of slots in the hash table. */
|
||||
unsigned int size;
|
||||
/* The number of entries in the hash table. */
|
||||
unsigned int count;
|
||||
/* The size of elements. */
|
||||
unsigned int entsize;
|
||||
/* If non-zero, don't grow the hash table. */
|
||||
unsigned int frozen:1;
|
||||
};
|
||||
|
||||
/* Initialize a hash table. */
|
||||
@ -660,7 +696,7 @@ extern void bfd_elf_set_dt_needed_name
|
||||
extern const char *bfd_elf_get_dt_soname
|
||||
(bfd *);
|
||||
extern void bfd_elf_set_dyn_lib_class
|
||||
(bfd *, int);
|
||||
(bfd *, enum dynamic_lib_link_class);
|
||||
extern int bfd_elf_get_dyn_lib_class
|
||||
(bfd *);
|
||||
extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
|
||||
@ -817,6 +853,27 @@ extern bfd_boolean bfd_coff_set_symbol_class
|
||||
extern bfd_boolean bfd_m68k_coff_create_embedded_relocs
|
||||
(bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
|
||||
|
||||
/* ARM VFP11 erratum workaround support. */
|
||||
typedef enum
|
||||
{
|
||||
BFD_ARM_VFP11_FIX_DEFAULT,
|
||||
BFD_ARM_VFP11_FIX_NONE,
|
||||
BFD_ARM_VFP11_FIX_SCALAR,
|
||||
BFD_ARM_VFP11_FIX_VECTOR
|
||||
} bfd_arm_vfp11_fix;
|
||||
|
||||
extern void bfd_elf32_arm_init_maps
|
||||
(bfd *);
|
||||
|
||||
extern void bfd_elf32_arm_set_vfp11_fix
|
||||
(bfd *, struct bfd_link_info *);
|
||||
|
||||
extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan
|
||||
(bfd *, struct bfd_link_info *);
|
||||
|
||||
extern void bfd_elf32_arm_vfp11_fix_veneer_locations
|
||||
(bfd *, struct bfd_link_info *);
|
||||
|
||||
/* ARM Interworking support. Called from linker. */
|
||||
extern bfd_boolean bfd_arm_allocate_interworking_sections
|
||||
(struct bfd_link_info *);
|
||||
@ -842,10 +899,11 @@ extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections
|
||||
(struct bfd_link_info *);
|
||||
|
||||
extern bfd_boolean bfd_elf32_arm_process_before_allocation
|
||||
(bfd *, struct bfd_link_info *, int);
|
||||
(bfd *, struct bfd_link_info *);
|
||||
|
||||
void bfd_elf32_arm_set_target_relocs
|
||||
(struct bfd_link_info *, int, char *, int, int);
|
||||
(bfd *, struct bfd_link_info *, int, char *, int, int, bfd_arm_vfp11_fix,
|
||||
int, int);
|
||||
|
||||
extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
|
||||
(bfd *, struct bfd_link_info *);
|
||||
@ -854,8 +912,14 @@ extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd
|
||||
(bfd *, struct bfd_link_info *);
|
||||
|
||||
/* ELF ARM mapping symbol support */
|
||||
extern bfd_boolean bfd_is_arm_mapping_symbol_name
|
||||
(const char * name);
|
||||
#define BFD_ARM_SPECIAL_SYM_TYPE_MAP (1 << 0)
|
||||
#define BFD_ARM_SPECIAL_SYM_TYPE_TAG (1 << 1)
|
||||
#define BFD_ARM_SPECIAL_SYM_TYPE_OTHER (1 << 2)
|
||||
#define BFD_ARM_SPECIAL_SYM_TYPE_ANY (~0)
|
||||
extern bfd_boolean bfd_is_arm_special_symbol_name
|
||||
(const char * name, int type);
|
||||
|
||||
extern void bfd_elf32_arm_set_byteswap_code (struct bfd_link_info *, int);
|
||||
|
||||
/* ARM Note section processing. */
|
||||
extern bfd_boolean bfd_arm_merge_machines
|
||||
|
354
bfd/bfd-in2.h
354
bfd/bfd-in2.h
@ -8,7 +8,7 @@
|
||||
/* Main header file for the bfd library -- portable access to object files.
|
||||
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Cygnus Support.
|
||||
@ -50,6 +50,30 @@ extern "C" {
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* This is a utility macro to handle the situation where the code
|
||||
wants to place a constant string into the code, followed by a
|
||||
comma and then the length of the string. Doing this by hand
|
||||
is error prone, so using this macro is safer. The macro will
|
||||
also safely handle the case where a NULL is passed as the arg. */
|
||||
#define STRING_COMMA_LEN(STR) (STR), ((STR) ? sizeof (STR) - 1 : 0)
|
||||
/* Unfortunately it is not possible to use the STRING_COMMA_LEN macro
|
||||
to create the arguments to another macro, since the preprocessor
|
||||
will mis-count the number of arguments to the outer macro (by not
|
||||
evaluating STRING_COMMA_LEN and so missing the comma). This is a
|
||||
problem for example when trying to use STRING_COMMA_LEN to build
|
||||
the arguments to the strncmp() macro. Hence this alternative
|
||||
definition of strncmp is provided here.
|
||||
|
||||
Note - these macros do NOT work if STR2 is not a constant string. */
|
||||
#define CONST_STRNEQ(STR1,STR2) (strncmp ((STR1), (STR2), sizeof (STR2) - 1) == 0)
|
||||
/* strcpy() can have a similar problem, but since we know we are
|
||||
copying a constant string, we can use memcpy which will be faster
|
||||
since there is no need to check for a NUL byte inside STR. We
|
||||
can also save time if we do not need to copy the terminating NUL. */
|
||||
#define LITMEMCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2) - 1)
|
||||
#define LITSTRCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2))
|
||||
|
||||
|
||||
/* The word size used by BFD on the host. This may be 64 with a 32
|
||||
bit target if the host is 64 bit, or if other 64 bit targets have
|
||||
been selected with --enable-targets, or if --enable-64-bit-bfd. */
|
||||
@ -333,7 +357,15 @@ typedef struct bfd_section *sec_ptr;
|
||||
(((sec)->rawsize ? (sec)->rawsize : (sec)->size) \
|
||||
/ bfd_octets_per_byte (bfd))
|
||||
|
||||
typedef struct stat stat_type;
|
||||
/* Return TRUE if section has been discarded. */
|
||||
#define elf_discarded_section(sec) \
|
||||
(!bfd_is_abs_section (sec) \
|
||||
&& bfd_is_abs_section ((sec)->output_section) \
|
||||
&& (sec)->sec_info_type != ELF_INFO_TYPE_MERGE \
|
||||
&& (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS)
|
||||
|
||||
/* Forward define. */
|
||||
struct stat;
|
||||
|
||||
typedef enum bfd_print_symbol
|
||||
{
|
||||
@ -381,10 +413,6 @@ struct bfd_hash_table
|
||||
{
|
||||
/* The hash array. */
|
||||
struct bfd_hash_entry **table;
|
||||
/* The number of slots in the hash table. */
|
||||
unsigned int size;
|
||||
/* The size of elements. */
|
||||
unsigned int entsize;
|
||||
/* A function used to create new elements in the hash table. The
|
||||
first entry is itself a pointer to an element. When this
|
||||
function is first invoked, this pointer will be NULL. However,
|
||||
@ -397,6 +425,14 @@ struct bfd_hash_table
|
||||
/* An objalloc for this hash table. This is a struct objalloc *,
|
||||
but we use void * to avoid requiring the inclusion of objalloc.h. */
|
||||
void *memory;
|
||||
/* The number of slots in the hash table. */
|
||||
unsigned int size;
|
||||
/* The number of entries in the hash table. */
|
||||
unsigned int count;
|
||||
/* The size of elements. */
|
||||
unsigned int entsize;
|
||||
/* If non-zero, don't grow the hash table. */
|
||||
unsigned int frozen:1;
|
||||
};
|
||||
|
||||
/* Initialize a hash table. */
|
||||
@ -667,7 +703,7 @@ extern void bfd_elf_set_dt_needed_name
|
||||
extern const char *bfd_elf_get_dt_soname
|
||||
(bfd *);
|
||||
extern void bfd_elf_set_dyn_lib_class
|
||||
(bfd *, int);
|
||||
(bfd *, enum dynamic_lib_link_class);
|
||||
extern int bfd_elf_get_dyn_lib_class
|
||||
(bfd *);
|
||||
extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
|
||||
@ -824,6 +860,27 @@ extern bfd_boolean bfd_coff_set_symbol_class
|
||||
extern bfd_boolean bfd_m68k_coff_create_embedded_relocs
|
||||
(bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
|
||||
|
||||
/* ARM VFP11 erratum workaround support. */
|
||||
typedef enum
|
||||
{
|
||||
BFD_ARM_VFP11_FIX_DEFAULT,
|
||||
BFD_ARM_VFP11_FIX_NONE,
|
||||
BFD_ARM_VFP11_FIX_SCALAR,
|
||||
BFD_ARM_VFP11_FIX_VECTOR
|
||||
} bfd_arm_vfp11_fix;
|
||||
|
||||
extern void bfd_elf32_arm_init_maps
|
||||
(bfd *);
|
||||
|
||||
extern void bfd_elf32_arm_set_vfp11_fix
|
||||
(bfd *, struct bfd_link_info *);
|
||||
|
||||
extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan
|
||||
(bfd *, struct bfd_link_info *);
|
||||
|
||||
extern void bfd_elf32_arm_vfp11_fix_veneer_locations
|
||||
(bfd *, struct bfd_link_info *);
|
||||
|
||||
/* ARM Interworking support. Called from linker. */
|
||||
extern bfd_boolean bfd_arm_allocate_interworking_sections
|
||||
(struct bfd_link_info *);
|
||||
@ -849,10 +906,11 @@ extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections
|
||||
(struct bfd_link_info *);
|
||||
|
||||
extern bfd_boolean bfd_elf32_arm_process_before_allocation
|
||||
(bfd *, struct bfd_link_info *, int);
|
||||
(bfd *, struct bfd_link_info *);
|
||||
|
||||
void bfd_elf32_arm_set_target_relocs
|
||||
(struct bfd_link_info *, int, char *, int, int);
|
||||
(bfd *, struct bfd_link_info *, int, char *, int, int, bfd_arm_vfp11_fix,
|
||||
int, int);
|
||||
|
||||
extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
|
||||
(bfd *, struct bfd_link_info *);
|
||||
@ -861,8 +919,14 @@ extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd
|
||||
(bfd *, struct bfd_link_info *);
|
||||
|
||||
/* ELF ARM mapping symbol support */
|
||||
extern bfd_boolean bfd_is_arm_mapping_symbol_name
|
||||
(const char * name);
|
||||
#define BFD_ARM_SPECIAL_SYM_TYPE_MAP (1 << 0)
|
||||
#define BFD_ARM_SPECIAL_SYM_TYPE_TAG (1 << 1)
|
||||
#define BFD_ARM_SPECIAL_SYM_TYPE_OTHER (1 << 2)
|
||||
#define BFD_ARM_SPECIAL_SYM_TYPE_ANY (~0)
|
||||
extern bfd_boolean bfd_is_arm_special_symbol_name
|
||||
(const char * name, int type);
|
||||
|
||||
extern void bfd_elf32_arm_set_byteswap_code (struct bfd_link_info *, int);
|
||||
|
||||
/* ARM Note section processing. */
|
||||
extern bfd_boolean bfd_arm_merge_machines
|
||||
@ -935,7 +999,10 @@ bfd *bfd_openr_iovec (const char *filename, const char *target,
|
||||
file_ptr nbytes,
|
||||
file_ptr offset),
|
||||
int (*close) (struct bfd *nbfd,
|
||||
void *stream));
|
||||
void *stream),
|
||||
int (*stat) (struct bfd *abfd,
|
||||
void *stream,
|
||||
struct stat *sb));
|
||||
|
||||
bfd *bfd_openw (const char *filename, const char *target);
|
||||
|
||||
@ -1076,7 +1143,7 @@ bfd_boolean bfd_fill_in_gnu_debuglink_section
|
||||
/* Extracted from bfdio.c. */
|
||||
long bfd_get_mtime (bfd *abfd);
|
||||
|
||||
long bfd_get_size (bfd *abfd);
|
||||
file_ptr bfd_get_size (bfd *abfd);
|
||||
|
||||
/* Extracted from bfdwin.c. */
|
||||
/* Extracted from section.c. */
|
||||
@ -1225,7 +1292,9 @@ typedef struct bfd_section
|
||||
else up the line will take care of it later. */
|
||||
#define SEC_LINKER_CREATED 0x200000
|
||||
|
||||
/* This section should not be subject to garbage collection. */
|
||||
/* This section should not be subject to garbage collection.
|
||||
Also set to inform the linker that this section should not be
|
||||
listed in the link map as discarded. */
|
||||
#define SEC_KEEP 0x400000
|
||||
|
||||
/* This section contains "short" data, and should be placed
|
||||
@ -1471,11 +1540,6 @@ extern asection bfd_ind_section;
|
||||
|| ((SEC) == bfd_com_section_ptr) \
|
||||
|| ((SEC) == bfd_ind_section_ptr))
|
||||
|
||||
extern const struct bfd_symbol * const bfd_abs_symbol;
|
||||
extern const struct bfd_symbol * const bfd_com_symbol;
|
||||
extern const struct bfd_symbol * const bfd_und_symbol;
|
||||
extern const struct bfd_symbol * const bfd_ind_symbol;
|
||||
|
||||
/* Macros to handle insertion and deletion of a bfd's sections. These
|
||||
only handle the list pointers, ie. do not adjust section_count,
|
||||
target_index etc. */
|
||||
@ -1566,7 +1630,7 @@ extern const struct bfd_symbol * const bfd_ind_symbol;
|
||||
#define bfd_section_removed_from_list(ABFD, S) \
|
||||
((S)->next == NULL ? (ABFD)->section_last != (S) : (S)->next->prev != (S))
|
||||
|
||||
#define BFD_FAKE_SECTION(SEC, FLAGS, SYM, SYM_PTR, NAME, IDX) \
|
||||
#define BFD_FAKE_SECTION(SEC, FLAGS, SYM, NAME, IDX) \
|
||||
/* name, id, index, next, prev, flags, user_set_vma, */ \
|
||||
{ NAME, IDX, 0, NULL, NULL, FLAGS, 0, \
|
||||
\
|
||||
@ -1597,11 +1661,8 @@ extern const struct bfd_symbol * const bfd_ind_symbol;
|
||||
/* target_index, used_by_bfd, constructor_chain, owner, */ \
|
||||
0, NULL, NULL, NULL, \
|
||||
\
|
||||
/* symbol, */ \
|
||||
(struct bfd_symbol *) SYM, \
|
||||
\
|
||||
/* symbol_ptr_ptr, */ \
|
||||
(struct bfd_symbol **) SYM_PTR, \
|
||||
/* symbol, symbol_ptr_ptr, */ \
|
||||
(struct bfd_symbol *) SYM, &SEC.symbol, \
|
||||
\
|
||||
/* map_head, map_tail */ \
|
||||
{ NULL }, { NULL } \
|
||||
@ -1683,22 +1744,26 @@ enum bfd_architecture
|
||||
#define bfd_mach_m68040 6
|
||||
#define bfd_mach_m68060 7
|
||||
#define bfd_mach_cpu32 8
|
||||
#define bfd_mach_mcf_isa_a_nodiv 9
|
||||
#define bfd_mach_mcf_isa_a 10
|
||||
#define bfd_mach_mcf_isa_a_mac 11
|
||||
#define bfd_mach_mcf_isa_a_emac 12
|
||||
#define bfd_mach_mcf_isa_aplus 13
|
||||
#define bfd_mach_mcf_isa_aplus_mac 14
|
||||
#define bfd_mach_mcf_isa_aplus_emac 15
|
||||
#define bfd_mach_mcf_isa_b_nousp 16
|
||||
#define bfd_mach_mcf_isa_b_nousp_mac 17
|
||||
#define bfd_mach_mcf_isa_b_nousp_emac 18
|
||||
#define bfd_mach_mcf_isa_b 19
|
||||
#define bfd_mach_mcf_isa_b_mac 20
|
||||
#define bfd_mach_mcf_isa_b_emac 21
|
||||
#define bfd_mach_mcf_isa_b_float 22
|
||||
#define bfd_mach_mcf_isa_b_float_mac 23
|
||||
#define bfd_mach_mcf_isa_b_float_emac 24
|
||||
#define bfd_mach_fido 9
|
||||
#define bfd_mach_mcf_isa_a_nodiv 10
|
||||
#define bfd_mach_mcf_isa_a 11
|
||||
#define bfd_mach_mcf_isa_a_mac 12
|
||||
#define bfd_mach_mcf_isa_a_emac 13
|
||||
#define bfd_mach_mcf_isa_aplus 14
|
||||
#define bfd_mach_mcf_isa_aplus_mac 15
|
||||
#define bfd_mach_mcf_isa_aplus_emac 16
|
||||
#define bfd_mach_mcf_isa_b_nousp 17
|
||||
#define bfd_mach_mcf_isa_b_nousp_mac 18
|
||||
#define bfd_mach_mcf_isa_b_nousp_emac 19
|
||||
#define bfd_mach_mcf_isa_b 20
|
||||
#define bfd_mach_mcf_isa_b_mac 21
|
||||
#define bfd_mach_mcf_isa_b_emac 22
|
||||
#define bfd_mach_mcf_isa_b_float 23
|
||||
#define bfd_mach_mcf_isa_b_float_mac 24
|
||||
#define bfd_mach_mcf_isa_b_float_emac 25
|
||||
#define bfd_mach_mcf_isa_c 26
|
||||
#define bfd_mach_mcf_isa_c_mac 27
|
||||
#define bfd_mach_mcf_isa_c_emac 28
|
||||
bfd_arch_vax, /* DEC Vax */
|
||||
bfd_arch_i960, /* Intel 960 */
|
||||
/* The order of the following is important.
|
||||
@ -1739,6 +1804,8 @@ enum bfd_architecture
|
||||
/* Nonzero if MACH is a 64 bit sparc architecture. */
|
||||
#define bfd_mach_sparc_64bit_p(mach) \
|
||||
((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb)
|
||||
bfd_arch_spu, /* PowerPC SPU */
|
||||
#define bfd_mach_spu 256
|
||||
bfd_arch_mips, /* MIPS Rxxxx */
|
||||
#define bfd_mach_mips3000 3000
|
||||
#define bfd_mach_mips3900 3900
|
||||
@ -1876,6 +1943,7 @@ enum bfd_architecture
|
||||
#define bfd_mach_arm_XScale 10
|
||||
#define bfd_mach_arm_ep9312 11
|
||||
#define bfd_mach_arm_iWMMXt 12
|
||||
#define bfd_mach_arm_iWMMXt2 13
|
||||
bfd_arch_ns32k, /* National Semiconductors ns32000 */
|
||||
bfd_arch_w65, /* WDC 65816 */
|
||||
bfd_arch_tic30, /* Texas Instruments TMS320C30 */
|
||||
@ -1917,6 +1985,9 @@ enum bfd_architecture
|
||||
#define bfd_mach_fr500 500
|
||||
#define bfd_mach_fr550 550
|
||||
bfd_arch_mcore,
|
||||
bfd_arch_mep,
|
||||
#define bfd_mach_mep 1
|
||||
#define bfd_mach_mep_h1 0x6831
|
||||
bfd_arch_ia64, /* HP/Intel ia64 */
|
||||
#define bfd_mach_ia64_elf64 64
|
||||
#define bfd_mach_ia64_elf32 32
|
||||
@ -1937,8 +2008,11 @@ enum bfd_architecture
|
||||
#define bfd_mach_avr3 3
|
||||
#define bfd_mach_avr4 4
|
||||
#define bfd_mach_avr5 5
|
||||
#define bfd_mach_avr6 6
|
||||
bfd_arch_bfin, /* ADI Blackfin */
|
||||
#define bfd_mach_bfin 1
|
||||
bfd_arch_cr16, /* National Semiconductor CompactRISC (ie CR16). */
|
||||
#define bfd_mach_cr16 1
|
||||
bfd_arch_cr16c, /* National Semiconductor CompactRISC. */
|
||||
#define bfd_mach_cr16c 1
|
||||
bfd_arch_crx, /* National Semiconductor CRX. */
|
||||
@ -1950,6 +2024,7 @@ enum bfd_architecture
|
||||
bfd_arch_s390, /* IBM s390 */
|
||||
#define bfd_mach_s390_31 31
|
||||
#define bfd_mach_s390_64 64
|
||||
bfd_arch_score, /* Sunplus score */
|
||||
bfd_arch_openrisc, /* OpenRISC */
|
||||
bfd_arch_mmix, /* Donald Knuth's educational processor. */
|
||||
bfd_arch_xstormy16,
|
||||
@ -2427,6 +2502,22 @@ relocation types already defined. */
|
||||
BFD_RELOC_SPARC_TLS_TPOFF32,
|
||||
BFD_RELOC_SPARC_TLS_TPOFF64,
|
||||
|
||||
/* SPU Relocations. */
|
||||
BFD_RELOC_SPU_IMM7,
|
||||
BFD_RELOC_SPU_IMM8,
|
||||
BFD_RELOC_SPU_IMM10,
|
||||
BFD_RELOC_SPU_IMM10W,
|
||||
BFD_RELOC_SPU_IMM16,
|
||||
BFD_RELOC_SPU_IMM16W,
|
||||
BFD_RELOC_SPU_IMM18,
|
||||
BFD_RELOC_SPU_PCREL9a,
|
||||
BFD_RELOC_SPU_PCREL9b,
|
||||
BFD_RELOC_SPU_PCREL16,
|
||||
BFD_RELOC_SPU_LO16,
|
||||
BFD_RELOC_SPU_HI16,
|
||||
BFD_RELOC_SPU_PPU32,
|
||||
BFD_RELOC_SPU_PPU64,
|
||||
|
||||
/* Alpha ECOFF and ELF relocations. Some of these treat the symbol or
|
||||
"addend" in some special way.
|
||||
For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when
|
||||
@ -2909,6 +3000,16 @@ pc-relative or some form of GOT-indirect relocation. */
|
||||
/* 31-bit PC relative address. */
|
||||
BFD_RELOC_ARM_PREL31,
|
||||
|
||||
/* Low and High halfword relocations for MOVW and MOVT instructions. */
|
||||
BFD_RELOC_ARM_MOVW,
|
||||
BFD_RELOC_ARM_MOVT,
|
||||
BFD_RELOC_ARM_MOVW_PCREL,
|
||||
BFD_RELOC_ARM_MOVT_PCREL,
|
||||
BFD_RELOC_ARM_THUMB_MOVW,
|
||||
BFD_RELOC_ARM_THUMB_MOVT,
|
||||
BFD_RELOC_ARM_THUMB_MOVW_PCREL,
|
||||
BFD_RELOC_ARM_THUMB_MOVT_PCREL,
|
||||
|
||||
/* Relocations for setting up GOTs and PLTs for shared libraries. */
|
||||
BFD_RELOC_ARM_JUMP_SLOT,
|
||||
BFD_RELOC_ARM_GLOB_DAT,
|
||||
@ -2928,11 +3029,42 @@ pc-relative or some form of GOT-indirect relocation. */
|
||||
BFD_RELOC_ARM_TLS_IE32,
|
||||
BFD_RELOC_ARM_TLS_LE32,
|
||||
|
||||
/* ARM group relocations. */
|
||||
BFD_RELOC_ARM_ALU_PC_G0_NC,
|
||||
BFD_RELOC_ARM_ALU_PC_G0,
|
||||
BFD_RELOC_ARM_ALU_PC_G1_NC,
|
||||
BFD_RELOC_ARM_ALU_PC_G1,
|
||||
BFD_RELOC_ARM_ALU_PC_G2,
|
||||
BFD_RELOC_ARM_LDR_PC_G0,
|
||||
BFD_RELOC_ARM_LDR_PC_G1,
|
||||
BFD_RELOC_ARM_LDR_PC_G2,
|
||||
BFD_RELOC_ARM_LDRS_PC_G0,
|
||||
BFD_RELOC_ARM_LDRS_PC_G1,
|
||||
BFD_RELOC_ARM_LDRS_PC_G2,
|
||||
BFD_RELOC_ARM_LDC_PC_G0,
|
||||
BFD_RELOC_ARM_LDC_PC_G1,
|
||||
BFD_RELOC_ARM_LDC_PC_G2,
|
||||
BFD_RELOC_ARM_ALU_SB_G0_NC,
|
||||
BFD_RELOC_ARM_ALU_SB_G0,
|
||||
BFD_RELOC_ARM_ALU_SB_G1_NC,
|
||||
BFD_RELOC_ARM_ALU_SB_G1,
|
||||
BFD_RELOC_ARM_ALU_SB_G2,
|
||||
BFD_RELOC_ARM_LDR_SB_G0,
|
||||
BFD_RELOC_ARM_LDR_SB_G1,
|
||||
BFD_RELOC_ARM_LDR_SB_G2,
|
||||
BFD_RELOC_ARM_LDRS_SB_G0,
|
||||
BFD_RELOC_ARM_LDRS_SB_G1,
|
||||
BFD_RELOC_ARM_LDRS_SB_G2,
|
||||
BFD_RELOC_ARM_LDC_SB_G0,
|
||||
BFD_RELOC_ARM_LDC_SB_G1,
|
||||
BFD_RELOC_ARM_LDC_SB_G2,
|
||||
|
||||
/* These relocs are only used within the ARM assembler. They are not
|
||||
(at present) written to any object files. */
|
||||
BFD_RELOC_ARM_IMMEDIATE,
|
||||
BFD_RELOC_ARM_ADRL_IMMEDIATE,
|
||||
BFD_RELOC_ARM_T32_IMMEDIATE,
|
||||
BFD_RELOC_ARM_T32_ADD_IMM,
|
||||
BFD_RELOC_ARM_T32_IMM12,
|
||||
BFD_RELOC_ARM_T32_ADD_PC12,
|
||||
BFD_RELOC_ARM_SHIFT_IMM,
|
||||
@ -3446,6 +3578,29 @@ short offset into 11 bits. */
|
||||
BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2,
|
||||
BFD_RELOC_MCORE_RVA,
|
||||
|
||||
/* Toshiba Media Processor Relocations. */
|
||||
BFD_RELOC_MEP_8,
|
||||
BFD_RELOC_MEP_16,
|
||||
BFD_RELOC_MEP_32,
|
||||
BFD_RELOC_MEP_PCREL8A2,
|
||||
BFD_RELOC_MEP_PCREL12A2,
|
||||
BFD_RELOC_MEP_PCREL17A2,
|
||||
BFD_RELOC_MEP_PCREL24A2,
|
||||
BFD_RELOC_MEP_PCABS24A2,
|
||||
BFD_RELOC_MEP_LOW16,
|
||||
BFD_RELOC_MEP_HI16U,
|
||||
BFD_RELOC_MEP_HI16S,
|
||||
BFD_RELOC_MEP_GPREL,
|
||||
BFD_RELOC_MEP_TPREL,
|
||||
BFD_RELOC_MEP_TPREL7,
|
||||
BFD_RELOC_MEP_TPREL7A2,
|
||||
BFD_RELOC_MEP_TPREL7A4,
|
||||
BFD_RELOC_MEP_UIMM24,
|
||||
BFD_RELOC_MEP_ADDR24A4,
|
||||
BFD_RELOC_MEP_GNU_VTINHERIT,
|
||||
BFD_RELOC_MEP_GNU_VTENTRY,
|
||||
|
||||
|
||||
/* These are relocations for the GETA instruction. */
|
||||
BFD_RELOC_MMIX_GETA,
|
||||
BFD_RELOC_MMIX_GETA_1,
|
||||
@ -3545,10 +3700,22 @@ of 32 bit value) into 8 bit immediate value of LDI insn. */
|
||||
command address) into 8 bit immediate value of LDI insn. */
|
||||
BFD_RELOC_AVR_LO8_LDI_PM,
|
||||
|
||||
/* This is a 16 bit reloc for the AVR that stores 8 bit value
|
||||
(command address) into 8 bit immediate value of LDI insn. If the address
|
||||
is beyond the 128k boundary, the linker inserts a jump stub for this reloc
|
||||
in the lower 128k. */
|
||||
BFD_RELOC_AVR_LO8_LDI_GS,
|
||||
|
||||
/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
|
||||
of command address) into 8 bit immediate value of LDI insn. */
|
||||
BFD_RELOC_AVR_HI8_LDI_PM,
|
||||
|
||||
/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
|
||||
of command address) into 8 bit immediate value of LDI insn. If the address
|
||||
is beyond the 128k boundary, the linker inserts a jump stub for this reloc
|
||||
below 128k. */
|
||||
BFD_RELOC_AVR_HI8_LDI_GS,
|
||||
|
||||
/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
|
||||
of command address) into 8 bit immediate value of LDI insn. */
|
||||
BFD_RELOC_AVR_HH8_LDI_PM,
|
||||
@ -3689,6 +3856,31 @@ instructions */
|
||||
BFD_RELOC_390_GOTPLT20,
|
||||
BFD_RELOC_390_TLS_GOTIE20,
|
||||
|
||||
/* Score relocations */
|
||||
BFD_RELOC_SCORE_DUMMY1,
|
||||
|
||||
/* Low 16 bit for load/store */
|
||||
BFD_RELOC_SCORE_GPREL15,
|
||||
|
||||
/* This is a 24-bit reloc with the right 1 bit assumed to be 0 */
|
||||
BFD_RELOC_SCORE_DUMMY2,
|
||||
BFD_RELOC_SCORE_JMP,
|
||||
|
||||
/* This is a 19-bit reloc with the right 1 bit assumed to be 0 */
|
||||
BFD_RELOC_SCORE_BRANCH,
|
||||
|
||||
/* This is a 11-bit reloc with the right 1 bit assumed to be 0 */
|
||||
BFD_RELOC_SCORE16_JMP,
|
||||
|
||||
/* This is a 8-bit reloc with the right 1 bit assumed to be 0 */
|
||||
BFD_RELOC_SCORE16_BRANCH,
|
||||
|
||||
/* Undocumented Score relocs */
|
||||
BFD_RELOC_SCORE_GOT15,
|
||||
BFD_RELOC_SCORE_GOT_LO16,
|
||||
BFD_RELOC_SCORE_CALL15,
|
||||
BFD_RELOC_SCORE_DUMMY_HI16,
|
||||
|
||||
/* Scenix IP2K - 9-bit register number / data address */
|
||||
BFD_RELOC_IP2K_FR9,
|
||||
|
||||
@ -3913,6 +4105,35 @@ This is the 5 bits of a value. */
|
||||
BFD_RELOC_16C_IMM32,
|
||||
BFD_RELOC_16C_IMM32_C,
|
||||
|
||||
/* NS CR16 Relocations. */
|
||||
BFD_RELOC_CR16_NUM8,
|
||||
BFD_RELOC_CR16_NUM16,
|
||||
BFD_RELOC_CR16_NUM32,
|
||||
BFD_RELOC_CR16_NUM32a,
|
||||
BFD_RELOC_CR16_REGREL0,
|
||||
BFD_RELOC_CR16_REGREL4,
|
||||
BFD_RELOC_CR16_REGREL4a,
|
||||
BFD_RELOC_CR16_REGREL14,
|
||||
BFD_RELOC_CR16_REGREL14a,
|
||||
BFD_RELOC_CR16_REGREL16,
|
||||
BFD_RELOC_CR16_REGREL20,
|
||||
BFD_RELOC_CR16_REGREL20a,
|
||||
BFD_RELOC_CR16_ABS20,
|
||||
BFD_RELOC_CR16_ABS24,
|
||||
BFD_RELOC_CR16_IMM4,
|
||||
BFD_RELOC_CR16_IMM8,
|
||||
BFD_RELOC_CR16_IMM16,
|
||||
BFD_RELOC_CR16_IMM20,
|
||||
BFD_RELOC_CR16_IMM24,
|
||||
BFD_RELOC_CR16_IMM32,
|
||||
BFD_RELOC_CR16_IMM32a,
|
||||
BFD_RELOC_CR16_DISP4,
|
||||
BFD_RELOC_CR16_DISP8,
|
||||
BFD_RELOC_CR16_DISP16,
|
||||
BFD_RELOC_CR16_DISP20,
|
||||
BFD_RELOC_CR16_DISP24,
|
||||
BFD_RELOC_CR16_DISP24a,
|
||||
|
||||
/* NS CRX Relocations. */
|
||||
BFD_RELOC_CRX_REL4,
|
||||
BFD_RELOC_CRX_REL8,
|
||||
@ -4026,6 +4247,10 @@ This is the 5 bits of a value. */
|
||||
BFD_RELOC_XSTORMY16_24,
|
||||
BFD_RELOC_XSTORMY16_FPTR16,
|
||||
|
||||
/* Self-describing complex relocations. */
|
||||
BFD_RELOC_RELC,
|
||||
|
||||
|
||||
/* Infineon Relocations. */
|
||||
BFD_RELOC_XC16X_PAG,
|
||||
BFD_RELOC_XC16X_POF,
|
||||
@ -4163,6 +4388,8 @@ BFD_RELOC_XTENSA_ASM_EXPAND. */
|
||||
typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
|
||||
reloc_howto_type *bfd_reloc_type_lookup
|
||||
(bfd *abfd, bfd_reloc_code_real_type code);
|
||||
reloc_howto_type *bfd_reloc_name_lookup
|
||||
(bfd *abfd, const char *reloc_name);
|
||||
|
||||
const char *bfd_get_reloc_code_name (bfd_reloc_code_real_type code);
|
||||
|
||||
@ -4275,6 +4502,14 @@ typedef struct bfd_symbol
|
||||
/* This symbol is thread local. Used in ELF. */
|
||||
#define BSF_THREAD_LOCAL 0x40000
|
||||
|
||||
/* This symbol represents a complex relocation expression,
|
||||
with the expression tree serialized in the symbol name. */
|
||||
#define BSF_RELC 0x80000
|
||||
|
||||
/* This symbol represents a signed complex relocation expression,
|
||||
with the expression tree serialized in the symbol name. */
|
||||
#define BSF_SRELC 0x100000
|
||||
|
||||
flagword flags;
|
||||
|
||||
/* A pointer to the section to which this symbol is
|
||||
@ -4442,7 +4677,7 @@ struct bfd
|
||||
/* Stuff only useful for archives. */
|
||||
void *arelt_data;
|
||||
struct bfd *my_archive; /* The containing archive BFD. */
|
||||
struct bfd *next; /* The next BFD in the archive. */
|
||||
struct bfd *archive_next; /* The next BFD in the archive. */
|
||||
struct bfd *archive_head; /* The first BFD in the archive. */
|
||||
bfd_boolean has_armap;
|
||||
|
||||
@ -4524,13 +4759,14 @@ typedef enum bfd_error
|
||||
bfd_error_bad_value,
|
||||
bfd_error_file_truncated,
|
||||
bfd_error_file_too_big,
|
||||
bfd_error_on_input,
|
||||
bfd_error_invalid_error_code
|
||||
}
|
||||
bfd_error_type;
|
||||
|
||||
bfd_error_type bfd_get_error (void);
|
||||
|
||||
void bfd_set_error (bfd_error_type error_tag);
|
||||
void bfd_set_error (bfd_error_type error_tag, ...);
|
||||
|
||||
const char *bfd_errmsg (bfd_error_type error_tag);
|
||||
|
||||
@ -4585,8 +4821,8 @@ bfd_boolean bfd_set_private_flags (bfd *abfd, flagword flags);
|
||||
|
||||
#define bfd_set_private_flags(abfd, flags) \
|
||||
BFD_SEND (abfd, _bfd_set_private_flags, (abfd, flags))
|
||||
#define bfd_sizeof_headers(abfd, reloc) \
|
||||
BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, reloc))
|
||||
#define bfd_sizeof_headers(abfd, info) \
|
||||
BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, info))
|
||||
|
||||
#define bfd_find_nearest_line(abfd, sec, syms, off, file, func, line) \
|
||||
BFD_SEND (abfd, _bfd_find_nearest_line, \
|
||||
@ -4694,6 +4930,16 @@ void bfd_preserve_restore (bfd *, struct bfd_preserve *);
|
||||
|
||||
void bfd_preserve_finish (bfd *, struct bfd_preserve *);
|
||||
|
||||
bfd_vma bfd_emul_get_maxpagesize (const char *);
|
||||
|
||||
void bfd_emul_set_maxpagesize (const char *, bfd_vma);
|
||||
|
||||
bfd_vma bfd_emul_get_commonpagesize (const char *);
|
||||
|
||||
void bfd_emul_set_commonpagesize (const char *, bfd_vma);
|
||||
|
||||
char *bfd_demangle (bfd *, const char *, int);
|
||||
|
||||
/* Extracted from archive.c. */
|
||||
symindex bfd_get_next_mapent
|
||||
(bfd *abfd, symindex previous, carsym **sym);
|
||||
@ -4992,7 +5238,8 @@ typedef struct bfd_target
|
||||
#define BFD_JUMP_TABLE_RELOCS(NAME) \
|
||||
NAME##_get_reloc_upper_bound, \
|
||||
NAME##_canonicalize_reloc, \
|
||||
NAME##_bfd_reloc_type_lookup
|
||||
NAME##_bfd_reloc_type_lookup, \
|
||||
NAME##_bfd_reloc_name_lookup
|
||||
|
||||
long (*_get_reloc_upper_bound) (bfd *, sec_ptr);
|
||||
long (*_bfd_canonicalize_reloc)
|
||||
@ -5000,6 +5247,9 @@ typedef struct bfd_target
|
||||
/* See documentation on reloc types. */
|
||||
reloc_howto_type *
|
||||
(*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
|
||||
reloc_howto_type *
|
||||
(*reloc_name_lookup) (bfd *, const char *);
|
||||
|
||||
|
||||
/* Routines used when writing an object file. */
|
||||
#define BFD_JUMP_TABLE_WRITE(NAME) \
|
||||
@ -5028,7 +5278,7 @@ typedef struct bfd_target
|
||||
NAME##_bfd_discard_group, \
|
||||
NAME##_section_already_linked \
|
||||
|
||||
int (*_bfd_sizeof_headers) (bfd *, bfd_boolean);
|
||||
int (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
|
||||
bfd_byte * (*_bfd_get_relocated_section_contents)
|
||||
(bfd *, struct bfd_link_info *, struct bfd_link_order *,
|
||||
bfd_byte *, bfd_boolean, struct bfd_symbol **);
|
||||
@ -5071,7 +5321,8 @@ typedef struct bfd_target
|
||||
|
||||
/* Check if SEC has been already linked during a reloceatable or
|
||||
final link. */
|
||||
void (*_section_already_linked) (bfd *, struct bfd_section *);
|
||||
void (*_section_already_linked) (bfd *, struct bfd_section *,
|
||||
struct bfd_link_info *);
|
||||
|
||||
/* Routines to handle dynamic symbols and relocs. */
|
||||
#define BFD_JUMP_TABLE_DYNAMIC(NAME) \
|
||||
@ -5131,10 +5382,11 @@ bfd_boolean bfd_link_split_section (bfd *abfd, asection *sec);
|
||||
#define bfd_link_split_section(abfd, sec) \
|
||||
BFD_SEND (abfd, _bfd_link_split_section, (abfd, sec))
|
||||
|
||||
void bfd_section_already_linked (bfd *abfd, asection *sec);
|
||||
void bfd_section_already_linked (bfd *abfd, asection *sec,
|
||||
struct bfd_link_info *info);
|
||||
|
||||
#define bfd_section_already_linked(abfd, sec) \
|
||||
BFD_SEND (abfd, _section_already_linked, (abfd, sec))
|
||||
#define bfd_section_already_linked(abfd, sec, info) \
|
||||
BFD_SEND (abfd, _section_already_linked, (abfd, sec, info))
|
||||
|
||||
/* Extracted from simple.c. */
|
||||
bfd_byte *bfd_simple_get_relocated_section_contents
|
||||
|
320
bfd/bfd.c
320
bfd/bfd.c
@ -1,6 +1,6 @@
|
||||
/* Generic BFD library interface and support routines.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
@ -139,7 +139,7 @@ CODE_FRAGMENT
|
||||
. {* Stuff only useful for archives. *}
|
||||
. void *arelt_data;
|
||||
. struct bfd *my_archive; {* The containing archive BFD. *}
|
||||
. struct bfd *next; {* The next BFD in the archive. *}
|
||||
. struct bfd *archive_next; {* The next BFD in the archive. *}
|
||||
. struct bfd *archive_head; {* The first BFD in the archive. *}
|
||||
. bfd_boolean has_armap;
|
||||
.
|
||||
@ -202,11 +202,12 @@ CODE_FRAGMENT
|
||||
.
|
||||
*/
|
||||
|
||||
#include "bfd.h"
|
||||
#include "bfdver.h"
|
||||
#include "sysdep.h"
|
||||
#include <stdarg.h>
|
||||
#include "bfd.h"
|
||||
#include "bfdver.h"
|
||||
#include "libiberty.h"
|
||||
#include "demangle.h"
|
||||
#include "safe-ctype.h"
|
||||
#include "bfdlink.h"
|
||||
#include "libbfd.h"
|
||||
@ -271,6 +272,7 @@ CODE_FRAGMENT
|
||||
. bfd_error_bad_value,
|
||||
. bfd_error_file_truncated,
|
||||
. bfd_error_file_too_big,
|
||||
. bfd_error_on_input,
|
||||
. bfd_error_invalid_error_code
|
||||
.}
|
||||
.bfd_error_type;
|
||||
@ -278,6 +280,8 @@ CODE_FRAGMENT
|
||||
*/
|
||||
|
||||
static bfd_error_type bfd_error = bfd_error_no_error;
|
||||
static bfd *input_bfd = NULL;
|
||||
static bfd_error_type input_error = bfd_error_no_error;
|
||||
|
||||
const char *const bfd_errmsgs[] =
|
||||
{
|
||||
@ -300,6 +304,7 @@ const char *const bfd_errmsgs[] =
|
||||
N_("Bad value"),
|
||||
N_("File truncated"),
|
||||
N_("File too big"),
|
||||
N_("Error reading %s: %s"),
|
||||
N_("#<Invalid error code>")
|
||||
};
|
||||
|
||||
@ -325,16 +330,32 @@ FUNCTION
|
||||
bfd_set_error
|
||||
|
||||
SYNOPSIS
|
||||
void bfd_set_error (bfd_error_type error_tag);
|
||||
void bfd_set_error (bfd_error_type error_tag, ...);
|
||||
|
||||
DESCRIPTION
|
||||
Set the BFD error condition to be @var{error_tag}.
|
||||
If @var{error_tag} is bfd_error_on_input, then this function
|
||||
takes two more parameters, the input bfd where the error
|
||||
occurred, and the bfd_error_type error.
|
||||
*/
|
||||
|
||||
void
|
||||
bfd_set_error (bfd_error_type error_tag)
|
||||
bfd_set_error (bfd_error_type error_tag, ...)
|
||||
{
|
||||
bfd_error = error_tag;
|
||||
if (error_tag == bfd_error_on_input)
|
||||
{
|
||||
/* This is an error that occurred during bfd_close when
|
||||
writing an archive, but on one of the input files. */
|
||||
va_list ap;
|
||||
|
||||
va_start (ap, error_tag);
|
||||
input_bfd = va_arg (ap, bfd *);
|
||||
input_error = va_arg (ap, int);
|
||||
if (input_error >= bfd_error_on_input)
|
||||
abort ();
|
||||
va_end (ap);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@ -355,6 +376,19 @@ bfd_errmsg (bfd_error_type error_tag)
|
||||
#ifndef errno
|
||||
extern int errno;
|
||||
#endif
|
||||
if (error_tag == bfd_error_on_input)
|
||||
{
|
||||
char *buf;
|
||||
const char *msg = bfd_errmsg (input_error);
|
||||
|
||||
if (asprintf (&buf, _(bfd_errmsgs [error_tag]), input_bfd->filename, msg)
|
||||
!= -1)
|
||||
return buf;
|
||||
|
||||
/* Ick, what to do on out of memory? */
|
||||
return msg;
|
||||
}
|
||||
|
||||
if (error_tag == bfd_error_system_call)
|
||||
return xstrerror (errno);
|
||||
|
||||
@ -382,16 +416,10 @@ DESCRIPTION
|
||||
void
|
||||
bfd_perror (const char *message)
|
||||
{
|
||||
if (bfd_get_error () == bfd_error_system_call)
|
||||
/* Must be a system error then. */
|
||||
perror ((char *) message);
|
||||
if (message == NULL || *message == '\0')
|
||||
fprintf (stderr, "%s\n", bfd_errmsg (bfd_get_error ()));
|
||||
else
|
||||
{
|
||||
if (message == NULL || *message == '\0')
|
||||
fprintf (stderr, "%s\n", bfd_errmsg (bfd_get_error ()));
|
||||
else
|
||||
fprintf (stderr, "%s: %s\n", message, bfd_errmsg (bfd_get_error ()));
|
||||
}
|
||||
fprintf (stderr, "%s: %s\n", message, bfd_errmsg (bfd_get_error ()));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -419,6 +447,23 @@ static const char *_bfd_error_program_name;
|
||||
|
||||
%A section name from section. For group components, print group name too.
|
||||
%B file name from bfd. For archive components, prints archive too.
|
||||
|
||||
Note - because these two extra format specifiers require special handling
|
||||
they are scanned for and processed in this function, before calling
|
||||
vfprintf. This means that the *arguments* for these format specifiers
|
||||
must be the first ones in the variable argument list, regardless of where
|
||||
the specifiers appear in the format string. Thus for example calling
|
||||
this function with a format string of:
|
||||
|
||||
"blah %s blah %A blah %d blah %B"
|
||||
|
||||
would involve passing the arguments as:
|
||||
|
||||
"blah %s blah %A blah %d blah %B",
|
||||
asection_for_the_%A,
|
||||
bfd_for_the_%B,
|
||||
string_for_the_%s,
|
||||
integer_for_the_%d);
|
||||
*/
|
||||
|
||||
void
|
||||
@ -483,7 +528,11 @@ _bfd_default_error_handler (const char *fmt, ...)
|
||||
if (p[1] == 'B')
|
||||
{
|
||||
bfd *abfd = va_arg (ap, bfd *);
|
||||
if (abfd->my_archive)
|
||||
|
||||
if (abfd == NULL)
|
||||
/* Invoking %B with a null bfd pointer is an internal error. */
|
||||
abort ();
|
||||
else if (abfd->my_archive)
|
||||
snprintf (bufp, avail, "%s(%s)",
|
||||
abfd->my_archive->filename, abfd->filename);
|
||||
else
|
||||
@ -492,10 +541,14 @@ _bfd_default_error_handler (const char *fmt, ...)
|
||||
else
|
||||
{
|
||||
asection *sec = va_arg (ap, asection *);
|
||||
bfd *abfd = sec->owner;
|
||||
bfd *abfd;
|
||||
const char *group = NULL;
|
||||
struct coff_comdat_info *ci;
|
||||
|
||||
if (sec == NULL)
|
||||
/* Invoking %A with a null section pointer is an internal error. */
|
||||
abort ();
|
||||
abfd = sec->owner;
|
||||
if (abfd != NULL
|
||||
&& bfd_get_flavour (abfd) == bfd_target_elf_flavour
|
||||
&& elf_next_in_group (sec) != NULL
|
||||
@ -851,14 +904,16 @@ bfd_get_sign_extend_vma (bfd *abfd)
|
||||
|
||||
name = bfd_get_target (abfd);
|
||||
|
||||
/* Return a proper value for DJGPP & PE COFF (x86 COFF variants).
|
||||
/* Return a proper value for DJGPP & PE COFF.
|
||||
This function is required for DWARF2 support, but there is
|
||||
no place to store this information in the COFF back end.
|
||||
Should enough other COFF targets add support for DWARF2,
|
||||
a place will have to be found. Until then, this hack will do. */
|
||||
if (strncmp (name, "coff-go32", sizeof ("coff-go32") - 1) == 0
|
||||
if (CONST_STRNEQ (name, "coff-go32")
|
||||
|| strcmp (name, "pe-i386") == 0
|
||||
|| strcmp (name, "pei-i386") == 0)
|
||||
|| strcmp (name, "pei-i386") == 0
|
||||
|| strcmp (name, "pe-arm-wince-little") == 0
|
||||
|| strcmp (name, "pei-arm-wince-little") == 0)
|
||||
return 1;
|
||||
|
||||
bfd_set_error (bfd_error_wrong_format);
|
||||
@ -1158,8 +1213,8 @@ FUNCTION
|
||||
DESCRIPTION
|
||||
The following functions exist but have not yet been documented.
|
||||
|
||||
.#define bfd_sizeof_headers(abfd, reloc) \
|
||||
. BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, reloc))
|
||||
.#define bfd_sizeof_headers(abfd, info) \
|
||||
. BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, info))
|
||||
.
|
||||
.#define bfd_find_nearest_line(abfd, sec, syms, off, file, func, line) \
|
||||
. BFD_SEND (abfd, _bfd_find_nearest_line, \
|
||||
@ -1298,11 +1353,10 @@ bfd_record_phdr (bfd *abfd,
|
||||
|
||||
amt = sizeof (struct elf_segment_map);
|
||||
amt += ((bfd_size_type) count - 1) * sizeof (asection *);
|
||||
m = bfd_alloc (abfd, amt);
|
||||
m = bfd_zalloc (abfd, amt);
|
||||
if (m == NULL)
|
||||
return FALSE;
|
||||
|
||||
m->next = NULL;
|
||||
m->p_type = type;
|
||||
m->p_flags = flags;
|
||||
m->p_paddr = at;
|
||||
@ -1335,6 +1389,15 @@ bfd_fprintf_vma (bfd *abfd, void *stream, bfd_vma value)
|
||||
{
|
||||
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
|
||||
get_elf_backend_data (abfd)->elf_backend_fprintf_vma (abfd, stream, value);
|
||||
#ifdef BFD64
|
||||
/* fprintf_vma() on a 64-bit enabled host will always print a 64-bit
|
||||
value, but really we want to display the address in the target's
|
||||
address size. Since we do not have a field in the bfd structure
|
||||
to tell us this, we take a guess, based on the target's name. */
|
||||
else if (strstr (bfd_get_target (abfd), "64") == NULL
|
||||
&& strcmp (bfd_get_target (abfd), "mmo") != 0)
|
||||
fprintf ((FILE *) stream, "%08lx", (unsigned long) (value & 0xffffffff));
|
||||
#endif
|
||||
else
|
||||
fprintf_vma ((FILE *) stream, value);
|
||||
}
|
||||
@ -1513,3 +1576,212 @@ bfd_preserve_finish (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_preserve *preserve)
|
||||
objalloc. */
|
||||
bfd_hash_table_free (&preserve->section_htab);
|
||||
}
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
bfd_emul_get_maxpagesize
|
||||
|
||||
SYNOPSIS
|
||||
bfd_vma bfd_emul_get_maxpagesize (const char *);
|
||||
|
||||
DESCRIPTION
|
||||
Returns the maximum page size, in bytes, as determined by
|
||||
emulation.
|
||||
|
||||
RETURNS
|
||||
Returns the maximum page size in bytes for ELF, abort
|
||||
otherwise.
|
||||
*/
|
||||
|
||||
bfd_vma
|
||||
bfd_emul_get_maxpagesize (const char *emul)
|
||||
{
|
||||
const bfd_target *target;
|
||||
|
||||
target = bfd_find_target (emul, NULL);
|
||||
if (target != NULL
|
||||
&& target->flavour == bfd_target_elf_flavour)
|
||||
return xvec_get_elf_backend_data (target)->maxpagesize;
|
||||
|
||||
abort ();
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
bfd_elf_set_pagesize (const bfd_target *target, bfd_vma size,
|
||||
int offset, const bfd_target *orig_target)
|
||||
{
|
||||
if (target->flavour == bfd_target_elf_flavour)
|
||||
{
|
||||
const struct elf_backend_data *bed;
|
||||
|
||||
bed = xvec_get_elf_backend_data (target);
|
||||
*((bfd_vma *) ((char *) bed + offset)) = size;
|
||||
}
|
||||
|
||||
if (target->alternative_target
|
||||
&& target->alternative_target != orig_target)
|
||||
bfd_elf_set_pagesize (target->alternative_target, size, offset,
|
||||
orig_target);
|
||||
}
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
bfd_emul_set_maxpagesize
|
||||
|
||||
SYNOPSIS
|
||||
void bfd_emul_set_maxpagesize (const char *, bfd_vma);
|
||||
|
||||
DESCRIPTION
|
||||
For ELF, set the maximum page size for the emulation. It is
|
||||
a no-op for other formats.
|
||||
|
||||
*/
|
||||
|
||||
void
|
||||
bfd_emul_set_maxpagesize (const char *emul, bfd_vma size)
|
||||
{
|
||||
const bfd_target *target;
|
||||
|
||||
target = bfd_find_target (emul, NULL);
|
||||
if (target)
|
||||
bfd_elf_set_pagesize (target, size,
|
||||
offsetof (struct elf_backend_data,
|
||||
maxpagesize), target);
|
||||
}
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
bfd_emul_get_commonpagesize
|
||||
|
||||
SYNOPSIS
|
||||
bfd_vma bfd_emul_get_commonpagesize (const char *);
|
||||
|
||||
DESCRIPTION
|
||||
Returns the common page size, in bytes, as determined by
|
||||
emulation.
|
||||
|
||||
RETURNS
|
||||
Returns the common page size in bytes for ELF, abort otherwise.
|
||||
*/
|
||||
|
||||
bfd_vma
|
||||
bfd_emul_get_commonpagesize (const char *emul)
|
||||
{
|
||||
const bfd_target *target;
|
||||
|
||||
target = bfd_find_target (emul, NULL);
|
||||
if (target != NULL
|
||||
&& target->flavour == bfd_target_elf_flavour)
|
||||
return xvec_get_elf_backend_data (target)->commonpagesize;
|
||||
|
||||
abort ();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
bfd_emul_set_commonpagesize
|
||||
|
||||
SYNOPSIS
|
||||
void bfd_emul_set_commonpagesize (const char *, bfd_vma);
|
||||
|
||||
DESCRIPTION
|
||||
For ELF, set the common page size for the emulation. It is
|
||||
a no-op for other formats.
|
||||
|
||||
*/
|
||||
|
||||
void
|
||||
bfd_emul_set_commonpagesize (const char *emul, bfd_vma size)
|
||||
{
|
||||
const bfd_target *target;
|
||||
|
||||
target = bfd_find_target (emul, NULL);
|
||||
if (target)
|
||||
bfd_elf_set_pagesize (target, size,
|
||||
offsetof (struct elf_backend_data,
|
||||
commonpagesize), target);
|
||||
}
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
bfd_demangle
|
||||
|
||||
SYNOPSIS
|
||||
char *bfd_demangle (bfd *, const char *, int);
|
||||
|
||||
DESCRIPTION
|
||||
Wrapper around cplus_demangle. Strips leading underscores and
|
||||
other such chars that would otherwise confuse the demangler.
|
||||
If passed a g++ v3 ABI mangled name, returns a buffer allocated
|
||||
with malloc holding the demangled name. Returns NULL otherwise
|
||||
and on memory alloc failure.
|
||||
*/
|
||||
|
||||
char *
|
||||
bfd_demangle (bfd *abfd, const char *name, int options)
|
||||
{
|
||||
char *res, *alloc;
|
||||
const char *pre, *suf;
|
||||
size_t pre_len;
|
||||
|
||||
if (abfd != NULL
|
||||
&& *name != '\0'
|
||||
&& bfd_get_symbol_leading_char (abfd) == *name)
|
||||
++name;
|
||||
|
||||
/* This is a hack for better error reporting on XCOFF, PowerPC64-ELF
|
||||
or the MS PE format. These formats have a number of leading '.'s
|
||||
on at least some symbols, so we remove all dots to avoid
|
||||
confusing the demangler. */
|
||||
pre = name;
|
||||
while (*name == '.' || *name == '$')
|
||||
++name;
|
||||
pre_len = name - pre;
|
||||
|
||||
/* Strip off @plt and suchlike too. */
|
||||
alloc = NULL;
|
||||
suf = strchr (name, '@');
|
||||
if (suf != NULL)
|
||||
{
|
||||
alloc = bfd_malloc (suf - name + 1);
|
||||
if (alloc == NULL)
|
||||
return NULL;
|
||||
memcpy (alloc, name, suf - name);
|
||||
alloc[suf - name] = '\0';
|
||||
name = alloc;
|
||||
}
|
||||
|
||||
res = cplus_demangle (name, options);
|
||||
|
||||
if (alloc != NULL)
|
||||
free (alloc);
|
||||
|
||||
if (res == NULL)
|
||||
return NULL;
|
||||
|
||||
/* Put back any prefix or suffix. */
|
||||
if (pre_len != 0 || suf != NULL)
|
||||
{
|
||||
size_t len;
|
||||
size_t suf_len;
|
||||
char *final;
|
||||
|
||||
len = strlen (res);
|
||||
if (suf == NULL)
|
||||
suf = res + len;
|
||||
suf_len = strlen (suf) + 1;
|
||||
final = bfd_malloc (pre_len + len + suf_len);
|
||||
if (final != NULL)
|
||||
{
|
||||
memcpy (final, pre, pre_len);
|
||||
memcpy (final + pre_len, res, len);
|
||||
memcpy (final + pre_len + len, suf, suf_len);
|
||||
}
|
||||
free (res);
|
||||
res = final;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
19
bfd/bfdio.c
19
bfd/bfdio.c
@ -1,7 +1,7 @@
|
||||
/* Low-level I/O routines for BFDs.
|
||||
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Written by Cygnus Support.
|
||||
@ -23,12 +23,10 @@ along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "sysdep.h"
|
||||
|
||||
#include <limits.h>
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
#ifndef S_IXUSR
|
||||
#define S_IXUSR 0100 /* Execute by owner. */
|
||||
#endif
|
||||
@ -116,6 +114,15 @@ bfd_bread (void *ptr, bfd_size_type size, bfd *abfd)
|
||||
{
|
||||
size_t nread;
|
||||
|
||||
/* If this is an archive element, don't read past the end of
|
||||
this element. */
|
||||
if (abfd->arelt_data != NULL)
|
||||
{
|
||||
size_t maxbytes = ((struct areltdata *) abfd->arelt_data)->parsed_size;
|
||||
if (size > maxbytes)
|
||||
size = maxbytes;
|
||||
}
|
||||
|
||||
if ((abfd->flags & BFD_IN_MEMORY) != 0)
|
||||
{
|
||||
struct bfd_in_memory *bim;
|
||||
@ -401,7 +408,7 @@ FUNCTION
|
||||
bfd_get_size
|
||||
|
||||
SYNOPSIS
|
||||
long bfd_get_size (bfd *abfd);
|
||||
file_ptr bfd_get_size (bfd *abfd);
|
||||
|
||||
DESCRIPTION
|
||||
Return the file size (as read from file system) for the file
|
||||
@ -429,7 +436,7 @@ DESCRIPTION
|
||||
size reasonable?".
|
||||
*/
|
||||
|
||||
long
|
||||
file_ptr
|
||||
bfd_get_size (bfd *abfd)
|
||||
{
|
||||
struct stat buf;
|
||||
|
16
bfd/binary.c
16
bfd/binary.c
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for binary objects.
|
||||
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
|
||||
2004, 2005 Free Software Foundation, Inc.
|
||||
2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
Written by Ian Lance Taylor, Cygnus Support, <ian@cygnus.com>
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -32,8 +32,8 @@
|
||||
the file. objcopy cooperates by specially setting the start
|
||||
address to zero by default. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "safe-ctype.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
@ -63,6 +63,7 @@ binary_object_p (bfd *abfd)
|
||||
{
|
||||
struct stat statbuf;
|
||||
asection *sec;
|
||||
flagword flags;
|
||||
|
||||
if (abfd->target_defaulted)
|
||||
{
|
||||
@ -80,10 +81,10 @@ binary_object_p (bfd *abfd)
|
||||
}
|
||||
|
||||
/* One data section. */
|
||||
sec = bfd_make_section (abfd, ".data");
|
||||
flags = SEC_ALLOC | SEC_LOAD | SEC_DATA | SEC_HAS_CONTENTS;
|
||||
sec = bfd_make_section_with_flags (abfd, ".data", flags);
|
||||
if (sec == NULL)
|
||||
return NULL;
|
||||
sec->flags = SEC_ALLOC | SEC_LOAD | SEC_DATA | SEC_HAS_CONTENTS;
|
||||
sec->vma = 0;
|
||||
sec->size = statbuf.st_size;
|
||||
sec->filepos = 0;
|
||||
@ -220,9 +221,6 @@ binary_get_symbol_info (bfd *ignore_abfd ATTRIBUTE_UNUSED,
|
||||
#define binary_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
|
||||
#define binary_read_minisymbols _bfd_generic_read_minisymbols
|
||||
#define binary_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol
|
||||
#define binary_bfd_reloc_type_lookup _bfd_norelocs_bfd_reloc_type_lookup
|
||||
#define binary_get_reloc_upper_bound ((long (*) (bfd *, asection *)) bfd_0l)
|
||||
#define binary_canonicalize_reloc ((long (*) (bfd *, asection *, arelent **, asymbol **)) bfd_0l)
|
||||
#define binary_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
|
||||
|
||||
/* Set the architecture of a binary file. */
|
||||
@ -305,7 +303,7 @@ binary_set_section_contents (bfd *abfd,
|
||||
|
||||
static int
|
||||
binary_sizeof_headers (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
bfd_boolean exec ATTRIBUTE_UNUSED)
|
||||
struct bfd_link_info *info ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@ -367,7 +365,7 @@ const bfd_target binary_vec =
|
||||
BFD_JUMP_TABLE_CORE (_bfd_nocore),
|
||||
BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
|
||||
BFD_JUMP_TABLE_SYMBOLS (binary),
|
||||
BFD_JUMP_TABLE_RELOCS (binary),
|
||||
BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
|
||||
BFD_JUMP_TABLE_WRITE (binary),
|
||||
BFD_JUMP_TABLE_LINK (binary),
|
||||
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
|
||||
|
24
bfd/bout.c
24
bfd/bout.c
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for Intel 960 b.out binaries.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
@ -20,8 +20,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "genlink.h"
|
||||
@ -635,7 +635,8 @@ callj_callback (bfd *abfd,
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
b_out_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, bfd_reloc_code_real_type code)
|
||||
b_out_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
bfd_reloc_code_real_type code)
|
||||
{
|
||||
switch (code)
|
||||
{
|
||||
@ -651,6 +652,20 @@ b_out_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, bfd_reloc_code_real_typ
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
b_out_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
if (strcasecmp (howto_reloc_callj.name, r_name) == 0)
|
||||
return &howto_reloc_callj;
|
||||
if (strcasecmp (howto_reloc_abs32.name, r_name) == 0)
|
||||
return &howto_reloc_abs32;
|
||||
if (strcasecmp (howto_reloc_pcrel24.name, r_name) == 0)
|
||||
return &howto_reloc_pcrel24;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Allocate enough room for all the reloc entries, plus pointers to them all. */
|
||||
|
||||
static bfd_boolean
|
||||
@ -990,7 +1005,8 @@ b_out_set_arch_mach (bfd *abfd,
|
||||
}
|
||||
|
||||
static int
|
||||
b_out_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED, bfd_boolean ignore ATTRIBUTE_UNUSED)
|
||||
b_out_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED,
|
||||
struct bfd_link_info *info ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return sizeof (struct external_exec);
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* BFD library -- caching of file descriptors.
|
||||
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1996, 2000, 2001, 2002,
|
||||
2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
2003, 2004, 2005, 2007 Free Software Foundation, Inc.
|
||||
|
||||
Hacked by Steve Chamberlain of Cygnus Support (steve@cygnus.com).
|
||||
|
||||
@ -40,8 +40,8 @@ SUBSECTION
|
||||
Caching functions
|
||||
*/
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "libiberty.h"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for Intel 386 COFF LynxOS files.
|
||||
Copyright 1993, 1994, 1995 Free Software Foundation, Inc.
|
||||
Copyright 1993, 1994, 1995, 2007 Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -18,8 +18,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
|
||||
#define TARGET_SYM i386lynx_coff_vec
|
||||
#define TARGET_NAME "coff-i386-lynx"
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for CISCO crash dumps.
|
||||
Copyright 1994, 1997, 1999, 2000, 2001, 2002, 2004
|
||||
Copyright 1994, 1997, 1999, 2000, 2001, 2002, 2004, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -18,8 +18,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
/* core_file_failing_signal returns a host signal (this probably should
|
||||
be fixed). */
|
||||
@ -88,13 +88,14 @@ cisco_core_file_validate (abfd, crash_info_loc)
|
||||
char buf[4];
|
||||
unsigned int crashinfo_offset;
|
||||
crashinfo_external crashinfo;
|
||||
int nread;
|
||||
bfd_size_type nread;
|
||||
unsigned int magic;
|
||||
unsigned int version;
|
||||
unsigned int rambase;
|
||||
sec_ptr asect;
|
||||
struct stat statbuf;
|
||||
bfd_size_type amt;
|
||||
flagword flags;
|
||||
|
||||
if (bfd_seek (abfd, (file_ptr) crash_info_loc, SEEK_SET) != 0)
|
||||
return NULL;
|
||||
@ -241,10 +242,10 @@ cisco_core_file_validate (abfd, crash_info_loc)
|
||||
/* Create a ".data" section that maps the entire file, which is
|
||||
essentially a dump of the target system's RAM. */
|
||||
|
||||
asect = bfd_make_section_anyway (abfd, ".data");
|
||||
flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS;
|
||||
asect = bfd_make_section_anyway_with_flags (abfd, ".data", flags);
|
||||
if (asect == NULL)
|
||||
goto error_return;
|
||||
asect->flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS;
|
||||
/* The size of memory is the size of the core file itself. */
|
||||
asect->size = statbuf.st_size;
|
||||
asect->vma = rambase;
|
||||
@ -253,10 +254,10 @@ cisco_core_file_validate (abfd, crash_info_loc)
|
||||
/* Create a ".crash" section to allow access to the saved
|
||||
crash information. */
|
||||
|
||||
asect = bfd_make_section_anyway (abfd, ".crash");
|
||||
flags = SEC_HAS_CONTENTS;
|
||||
asect = bfd_make_section_anyway_with_flags (abfd, ".crash", flags);
|
||||
if (asect == NULL)
|
||||
goto error_return;
|
||||
asect->flags = SEC_HAS_CONTENTS;
|
||||
asect->vma = 0;
|
||||
asect->filepos = crashinfo_offset;
|
||||
asect->size = sizeof (crashinfo);
|
||||
@ -264,10 +265,9 @@ cisco_core_file_validate (abfd, crash_info_loc)
|
||||
/* Create a ".reg" section to allow access to the saved
|
||||
registers. */
|
||||
|
||||
asect = bfd_make_section_anyway (abfd, ".reg");
|
||||
asect = bfd_make_section_anyway_with_flags (abfd, ".reg", flags);
|
||||
if (asect == NULL)
|
||||
goto error_return;
|
||||
asect->flags = SEC_HAS_CONTENTS;
|
||||
asect->vma = 0;
|
||||
asect->filepos = bfd_get_32 (abfd, crashinfo.registers) - rambase;
|
||||
/* Since we don't know the exact size of the saved register info,
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for ALPHA Extended-Coff files.
|
||||
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
2003, 2004, 2005, 2007 Free Software Foundation, Inc.
|
||||
Modified from coff-mips.c by Steve Chamberlain <sac@cygnus.com> and
|
||||
Ian Lance Taylor <ian@cygnus.com>.
|
||||
|
||||
@ -20,8 +20,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/internal.h"
|
||||
@ -1244,6 +1244,22 @@ alpha_bfd_reloc_type_lookup (abfd, code)
|
||||
|
||||
return &alpha_howto_table[alpha_type];
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
alpha_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < sizeof (alpha_howto_table) / sizeof (alpha_howto_table[0]);
|
||||
i++)
|
||||
if (alpha_howto_table[i].name != NULL
|
||||
&& strcasecmp (alpha_howto_table[i].name, r_name) == 0)
|
||||
return &alpha_howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* A helper routine for alpha_relocate_section which converts an
|
||||
external reloc when generating relocatable output. Returns the
|
||||
@ -2361,6 +2377,8 @@ static const struct ecoff_backend_data alpha_ecoff_backend_data =
|
||||
|
||||
/* Looking up a reloc type is Alpha specific. */
|
||||
#define _bfd_ecoff_bfd_reloc_type_lookup alpha_bfd_reloc_type_lookup
|
||||
#define _bfd_ecoff_bfd_reloc_name_lookup \
|
||||
alpha_bfd_reloc_name_lookup
|
||||
|
||||
/* So is getting relocated section contents. */
|
||||
#define _bfd_ecoff_bfd_get_relocated_section_contents \
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for Apollo 68000 COFF binaries.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1999, 2000, 2001, 2002, 2003
|
||||
Free Software Foundation, Inc.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1999, 2000, 2001, 2002, 2003,
|
||||
2007 Free Software Foundation, Inc.
|
||||
By Troy Rollo (troy@cbme.unsw.edu.au)
|
||||
Based on m68k standard COFF version Written by Cygnus Support.
|
||||
|
||||
@ -20,8 +20,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/apollo.h"
|
||||
#include "coff/internal.h"
|
||||
|
109
bfd/coff-arm.c
109
bfd/coff-arm.c
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for ARM COFF files.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
@ -20,8 +20,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/arm.h"
|
||||
#include "coff/internal.h"
|
||||
@ -163,6 +163,19 @@ coff_arm_reloc (bfd *abfd,
|
||||
|
||||
/* These most certainly belong somewhere else. Just had to get rid of
|
||||
the manifest constants in the code. */
|
||||
|
||||
#ifdef ARM_WINCE
|
||||
|
||||
#define ARM_26D 0
|
||||
#define ARM_32 1
|
||||
#define ARM_RVA32 2
|
||||
#define ARM_26 3
|
||||
#define ARM_THUMB12 4
|
||||
#define ARM_SECTION 14
|
||||
#define ARM_SECREL 15
|
||||
|
||||
#else
|
||||
|
||||
#define ARM_8 0
|
||||
#define ARM_16 1
|
||||
#define ARM_32 2
|
||||
@ -179,20 +192,6 @@ coff_arm_reloc (bfd *abfd,
|
||||
#define ARM_THUMB12 13
|
||||
#define ARM_THUMB23 14
|
||||
|
||||
#ifdef ARM_WINCE
|
||||
#undef ARM_32
|
||||
#undef ARM_RVA32
|
||||
#undef ARM_26
|
||||
#undef ARM_THUMB12
|
||||
#undef ARM_26D
|
||||
|
||||
#define ARM_26D 0
|
||||
#define ARM_32 1
|
||||
#define ARM_RVA32 2
|
||||
#define ARM_26 3
|
||||
#define ARM_THUMB12 4
|
||||
#define ARM_SECTION 14
|
||||
#define ARM_SECREL 15
|
||||
#endif
|
||||
|
||||
static bfd_reloc_status_type aoutarm_fix_pcrel_26_done
|
||||
@ -220,7 +219,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] =
|
||||
complain_overflow_dont,
|
||||
aoutarm_fix_pcrel_26_done,
|
||||
"ARM_26D",
|
||||
FALSE,
|
||||
TRUE, /* partial_inplace. */
|
||||
0x00ffffff,
|
||||
0x0,
|
||||
PCRELOFFSET),
|
||||
@ -233,7 +232,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] =
|
||||
complain_overflow_bitfield,
|
||||
coff_arm_reloc,
|
||||
"ARM_32",
|
||||
FALSE,
|
||||
TRUE, /* partial_inplace. */
|
||||
0xffffffff,
|
||||
0xffffffff,
|
||||
PCRELOFFSET),
|
||||
@ -246,7 +245,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] =
|
||||
complain_overflow_bitfield,
|
||||
coff_arm_reloc,
|
||||
"ARM_RVA32",
|
||||
FALSE,
|
||||
TRUE, /* partial_inplace. */
|
||||
0xffffffff,
|
||||
0xffffffff,
|
||||
PCRELOFFSET),
|
||||
@ -294,7 +293,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] =
|
||||
complain_overflow_bitfield,
|
||||
coff_arm_reloc,
|
||||
"ARM_SECTION",
|
||||
FALSE,
|
||||
TRUE, /* partial_inplace. */
|
||||
0x0000ffff,
|
||||
0x0000ffff,
|
||||
PCRELOFFSET),
|
||||
@ -307,7 +306,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] =
|
||||
complain_overflow_bitfield,
|
||||
coff_arm_reloc,
|
||||
"ARM_SECREL",
|
||||
FALSE,
|
||||
TRUE, /* partial_inplace. */
|
||||
0xffffffff,
|
||||
0xffffffff,
|
||||
PCRELOFFSET),
|
||||
@ -539,6 +538,32 @@ coff_arm_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
if (rel->r_type == ARM_RVA32)
|
||||
*addendp -= pe_data (sec->output_section->owner)->pe_opthdr.ImageBase;
|
||||
|
||||
#if defined COFF_WITH_PE && defined ARM_WINCE
|
||||
if (rel->r_type == ARM_SECREL)
|
||||
{
|
||||
bfd_vma osect_vma;
|
||||
|
||||
if (h && (h->type == bfd_link_hash_defined
|
||||
|| h->type == bfd_link_hash_defweak))
|
||||
osect_vma = h->root.u.def.section->output_section->vma;
|
||||
else
|
||||
{
|
||||
asection *sec;
|
||||
int i;
|
||||
|
||||
/* Sigh, the only way to get the section to offset against
|
||||
is to find it the hard way. */
|
||||
|
||||
for (sec = abfd->sections, i = 1; i < sym->n_scnum; i++)
|
||||
sec = sec->next;
|
||||
|
||||
osect_vma = sec->output_section->vma;
|
||||
}
|
||||
|
||||
*addendp -= osect_vma;
|
||||
}
|
||||
#endif
|
||||
|
||||
return howto;
|
||||
}
|
||||
|
||||
@ -808,6 +833,7 @@ coff_arm_reloc_type_lookup (bfd * abfd, bfd_reloc_code_real_type code)
|
||||
ASTD (BFD_RELOC_RVA, ARM_RVA32);
|
||||
ASTD (BFD_RELOC_ARM_PCREL_BRANCH, ARM_26);
|
||||
ASTD (BFD_RELOC_THUMB_PCREL_BRANCH12, ARM_THUMB12);
|
||||
ASTD (BFD_RELOC_32_SECREL, ARM_SECREL);
|
||||
#else
|
||||
ASTD (BFD_RELOC_8, ARM_8);
|
||||
ASTD (BFD_RELOC_16, ARM_16);
|
||||
@ -827,6 +853,23 @@ coff_arm_reloc_type_lookup (bfd * abfd, bfd_reloc_code_real_type code)
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
coff_arm_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < (sizeof (aoutarm_std_reloc_howto)
|
||||
/ sizeof (aoutarm_std_reloc_howto[0]));
|
||||
i++)
|
||||
if (aoutarm_std_reloc_howto[i].name != NULL
|
||||
&& strcasecmp (aoutarm_std_reloc_howto[i].name, r_name) == 0)
|
||||
return &aoutarm_std_reloc_howto[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER 2
|
||||
#define COFF_PAGE_SIZE 0x1000
|
||||
|
||||
@ -1209,12 +1252,14 @@ coff_arm_relocate_section (bfd *output_bfd,
|
||||
generation of bl's instruction offset. */
|
||||
addend -= 8;
|
||||
#endif
|
||||
howto = &fake_arm26_reloc;
|
||||
howto = & fake_arm26_reloc;
|
||||
}
|
||||
|
||||
#ifdef ARM_WINCE
|
||||
/* MS ARM-CE makes the reloc relative to the opcode's pc, not
|
||||
the next opcode's pc, so is off by one. */
|
||||
if (howto->pc_relative && !info->relocatable)
|
||||
addend -= 8;
|
||||
#endif
|
||||
|
||||
/* If we are doing a relocatable link, then we can just ignore
|
||||
@ -1938,12 +1983,11 @@ bfd_arm_get_bfd_for_interworking (bfd * abfd,
|
||||
|
||||
if (sec == NULL)
|
||||
{
|
||||
flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_CODE | SEC_READONLY;
|
||||
|
||||
sec = bfd_make_section (abfd, ARM2THUMB_GLUE_SECTION_NAME);
|
||||
|
||||
flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
|
||||
| SEC_CODE | SEC_READONLY);
|
||||
sec = bfd_make_section_with_flags (abfd, ARM2THUMB_GLUE_SECTION_NAME,
|
||||
flags);
|
||||
if (sec == NULL
|
||||
|| ! bfd_set_section_flags (abfd, sec, flags)
|
||||
|| ! bfd_set_section_alignment (abfd, sec, 2))
|
||||
return FALSE;
|
||||
}
|
||||
@ -1952,12 +1996,12 @@ bfd_arm_get_bfd_for_interworking (bfd * abfd,
|
||||
|
||||
if (sec == NULL)
|
||||
{
|
||||
flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_CODE | SEC_READONLY;
|
||||
|
||||
sec = bfd_make_section (abfd, THUMB2ARM_GLUE_SECTION_NAME);
|
||||
flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
|
||||
| SEC_CODE | SEC_READONLY);
|
||||
sec = bfd_make_section_with_flags (abfd, THUMB2ARM_GLUE_SECTION_NAME,
|
||||
flags);
|
||||
|
||||
if (sec == NULL
|
||||
|| ! bfd_set_section_flags (abfd, sec, flags)
|
||||
|| ! bfd_set_section_alignment (abfd, sec, 2))
|
||||
return FALSE;
|
||||
}
|
||||
@ -2085,6 +2129,7 @@ bfd_arm_process_before_allocation (bfd * abfd,
|
||||
#endif /* ! defined (COFF_IMAGE_WITH_PE) */
|
||||
|
||||
#define coff_bfd_reloc_type_lookup coff_arm_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup coff_arm_reloc_name_lookup
|
||||
#define coff_relocate_section coff_arm_relocate_section
|
||||
#define coff_bfd_is_local_label_name coff_arm_is_local_label_name
|
||||
#define coff_adjust_symndx coff_arm_adjust_symndx
|
||||
@ -2397,7 +2442,9 @@ Warning: Clearing the interworking flag of %B because non-interworking code in %
|
||||
|
||||
/* Note: the definitions here of LOCAL_LABEL_PREFIX and USER_LABEL_PREIFX
|
||||
*must* match the definitions in gcc/config/arm/{coff|semi|aout}.h. */
|
||||
#ifndef LOCAL_LABEL_PREFIX
|
||||
#define LOCAL_LABEL_PREFIX ""
|
||||
#endif
|
||||
#ifndef USER_LABEL_PREFIX
|
||||
#define USER_LABEL_PREFIX "_"
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for Apple M68K COFF A/UX 3.x files.
|
||||
Copyright 1996, 1997, 2000, 2002 Free Software Foundation, Inc.
|
||||
Copyright 1996, 1997, 2000, 2002, 2007 Free Software Foundation, Inc.
|
||||
Written by Richard Henderson <rth@tamu.edu>.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -37,8 +37,8 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
#define COFF_COMMON_ADDEND
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
|
||||
static bfd_boolean coff_m68k_aux_link_add_one_symbol
|
||||
PARAMS ((struct bfd_link_info *, bfd *, const char *, flagword,
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for Renesas H8/300 COFF binaries.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Steve Chamberlain, <sac@cygnus.com>.
|
||||
|
||||
@ -20,8 +20,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "genlink.h"
|
||||
@ -1276,12 +1276,12 @@ h8300_bfd_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
|
||||
/* Make sure the appropriate flags are set, including SEC_IN_MEMORY. */
|
||||
flags = (SEC_ALLOC | SEC_LOAD
|
||||
| SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_READONLY);
|
||||
htab->vectors_sec = bfd_make_section (abfd, ".vectors");
|
||||
htab->vectors_sec = bfd_make_section_with_flags (abfd, ".vectors",
|
||||
flags);
|
||||
|
||||
/* If the section wasn't created, or we couldn't set the flags,
|
||||
quit quickly now, rather than dying a painful death later. */
|
||||
if (!htab->vectors_sec
|
||||
|| !bfd_set_section_flags (abfd, htab->vectors_sec, flags))
|
||||
if (!htab->vectors_sec)
|
||||
return FALSE;
|
||||
|
||||
/* Also create the vector hash table. */
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for Renesas H8/500 COFF binaries.
|
||||
Copyright 1993, 1994, 1995, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
Free Software Foundation, Inc.
|
||||
Copyright 1993, 1994, 1995, 1997, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
2005, 2007 Free Software Foundation, Inc.
|
||||
Contributed by Cygnus Support.
|
||||
Written by Steve Chamberlain, <sac@cygnus.com>.
|
||||
|
||||
@ -20,8 +20,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "coff/h8500.h"
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for Intel 386 COFF files.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004
|
||||
2000, 2001, 2002, 2003, 2004, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
@ -20,8 +20,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
#include "coff/i386.h"
|
||||
@ -546,6 +546,7 @@ coff_i386_rtype_to_howto (abfd, sec, rel, h, sym, addendp)
|
||||
}
|
||||
|
||||
#define coff_bfd_reloc_type_lookup coff_i386_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup coff_i386_reloc_name_lookup
|
||||
|
||||
static reloc_howto_type *
|
||||
coff_i386_reloc_type_lookup (abfd, code)
|
||||
@ -578,6 +579,20 @@ coff_i386_reloc_type_lookup (abfd, code)
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
coff_i386_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < sizeof (howto_table) / sizeof (howto_table[0]); i++)
|
||||
if (howto_table[i].name != NULL
|
||||
&& strcasecmp (howto_table[i].name, r_name) == 0)
|
||||
return &howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#define coff_rtype_to_howto coff_i386_rtype_to_howto
|
||||
|
||||
#ifdef TARGET_UNDERSCORE
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for Intel i860 COFF files.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2002,
|
||||
2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
2003, 2004, 2005, 2007 Free Software Foundation, Inc.
|
||||
Created mostly by substituting "860" for "386" in coff-i386.c
|
||||
Harry Dolan <dolan@ssd.intel.com>, October 1995
|
||||
|
||||
@ -20,8 +20,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
#include "coff/i860.h"
|
||||
@ -555,6 +555,20 @@ coff_i860_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
coff_i860_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < sizeof (howto_table) / sizeof (howto_table[0]); i++)
|
||||
if (howto_table[i].name != NULL
|
||||
&& strcasecmp (howto_table[i].name, r_name) == 0)
|
||||
return &howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* This is called from coff_slurp_reloc_table for each relocation
|
||||
entry. This special handling is due to the `PAIR' relocation
|
||||
which has a different meaning for the `r_symndx' field. */
|
||||
@ -620,6 +634,7 @@ i860_reloc_processing (arelent *cache_ptr, struct internal_reloc *dst,
|
||||
|
||||
#define coff_rtype_to_howto coff_i860_rtype_to_howto
|
||||
#define coff_bfd_reloc_type_lookup coff_i860_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup coff_i860_reloc_name_lookup
|
||||
|
||||
#define RELOC_PROCESSING(relent, reloc, symbols, abfd, section) \
|
||||
i860_reloc_processing (relent, reloc, symbols, abfd, section)
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for Intel 960 COFF files.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1997, 1999, 2000, 2001,
|
||||
2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
2002, 2003, 2004, 2007 Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -22,8 +22,8 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#define I960 1
|
||||
#define BADMAG(x) I960BADMAG(x)
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/i960.h"
|
||||
#include "coff/internal.h"
|
||||
@ -296,6 +296,20 @@ coff_i960_reloc_type_lookup (abfd, code)
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
coff_i960_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
if (strcasecmp (howto_optcall.name, r_name) == 0)
|
||||
return &howto_optcall;
|
||||
if (strcasecmp (howto_rellong.name, r_name) == 0)
|
||||
return &howto_rellong;
|
||||
if (strcasecmp (howto_iprmed.name, r_name) == 0)
|
||||
return &howto_iprmed;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* The real code is in coffcode.h */
|
||||
|
||||
#define RTYPE2HOWTO(cache_ptr, dst) \
|
||||
@ -613,6 +627,7 @@ coff_i960_adjust_symndx (obfd, info, ibfd, sec, irel, adjustedp)
|
||||
#define coff_adjust_symndx coff_i960_adjust_symndx
|
||||
|
||||
#define coff_bfd_reloc_type_lookup coff_i960_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup coff_i960_reloc_name_lookup
|
||||
|
||||
#include "coffcode.h"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for HP/Intel IA-64 COFF files.
|
||||
Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright 1999, 2000, 2001, 2002, 2007 Free Software Foundation, Inc.
|
||||
Contributed by David Mosberger <davidm@hpl.hp.com>
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -18,8 +18,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/ia64.h"
|
||||
#include "coff/internal.h"
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for Motorola 68000 COFF binaries.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999,
|
||||
2000, 2001, 2002, 2003, 2005
|
||||
2000, 2001, 2002, 2003, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
@ -20,8 +20,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/m68k.h"
|
||||
#include "coff/internal.h"
|
||||
@ -91,6 +91,7 @@ m68k_coff_is_local_label_name (abfd, name)
|
||||
#define m68k_rtype2howto _bfd_m68kcoff_rtype2howto
|
||||
#define m68k_howto2rtype _bfd_m68kcoff_howto2rtype
|
||||
#define m68k_reloc_type_lookup _bfd_m68kcoff_reloc_type_lookup
|
||||
#define m68k_reloc_name_lookup _bfd_m68kcoff_reloc_name_lookup
|
||||
#endif
|
||||
|
||||
#ifdef ONLY_DECLARE_RELOCS
|
||||
@ -123,6 +124,8 @@ extern void m68k_rtype2howto PARAMS ((arelent *internal, int relocentry));
|
||||
extern int m68k_howto2rtype PARAMS ((reloc_howto_type *));
|
||||
extern reloc_howto_type *m68k_reloc_type_lookup
|
||||
PARAMS ((bfd *, bfd_reloc_code_real_type));
|
||||
extern reloc_howto_type *m68k_reloc_name_lookup
|
||||
PARAMS ((bfd *, const char *));
|
||||
#else
|
||||
|
||||
#ifdef STATIC_RELOCS
|
||||
@ -132,6 +135,7 @@ extern reloc_howto_type *m68k_reloc_type_lookup
|
||||
#endif
|
||||
|
||||
STAT_REL reloc_howto_type * m68k_reloc_type_lookup PARAMS ((bfd *, bfd_reloc_code_real_type));
|
||||
STAT_REL reloc_howto_type * m68k_reloc_name_lookup PARAMS ((bfd *, const char *));
|
||||
STAT_REL int m68k_howto2rtype PARAMS ((reloc_howto_type *));
|
||||
STAT_REL void m68k_rtype2howto PARAMS ((arelent *, int));
|
||||
|
||||
@ -198,6 +202,22 @@ m68k_reloc_type_lookup (abfd, code)
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
STAT_REL reloc_howto_type *
|
||||
m68k_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < sizeof (m68kcoff_howto_table) / sizeof (m68kcoff_howto_table[0]);
|
||||
i++)
|
||||
if (m68kcoff_howto_table[i].name != NULL
|
||||
&& strcasecmp (m68kcoff_howto_table[i].name, r_name) == 0)
|
||||
return &m68kcoff_howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#endif /* not ONLY_DECLARE_RELOCS */
|
||||
|
||||
#define RTYPE2HOWTO(internal, relocentry) \
|
||||
@ -207,6 +227,7 @@ m68k_reloc_type_lookup (abfd, code)
|
||||
external.r_type = m68k_howto2rtype (internal)
|
||||
|
||||
#define coff_bfd_reloc_type_lookup m68k_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup m68k_reloc_name_lookup
|
||||
|
||||
#ifndef COFF_COMMON_ADDEND
|
||||
#ifndef coff_rtype_to_howto
|
||||
@ -230,11 +251,12 @@ m68kcoff_rtype_to_howto (abfd, sec, rel, h, sym, addendp)
|
||||
arelent relent;
|
||||
reloc_howto_type *howto;
|
||||
|
||||
relent.howto = NULL;
|
||||
RTYPE2HOWTO (&relent, rel);
|
||||
|
||||
howto = relent.howto;
|
||||
|
||||
if (howto->pc_relative)
|
||||
if (howto != NULL && howto->pc_relative)
|
||||
*addendp += sec->vma;
|
||||
|
||||
return howto;
|
||||
@ -390,6 +412,7 @@ m68kcoff_common_addend_rtype_to_howto (abfd, sec, rel, h, sym, addendp)
|
||||
arelent relent;
|
||||
reloc_howto_type *howto;
|
||||
|
||||
relent.howto = NULL;
|
||||
RTYPE2HOWTO (&relent, rel);
|
||||
|
||||
howto = relent.howto;
|
||||
|
@ -1,7 +1,6 @@
|
||||
/* BFD back-end for Motorola 88000 COFF "Binary Compatibility Standard" files.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1997, 1998, 1999, 2000,
|
||||
2001, 2002, 2003
|
||||
Free Software Foundation, Inc.
|
||||
2001, 2002, 2003, 2007 Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -21,8 +20,8 @@ along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#define M88 1 /* Customize various include files */
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/m88k.h"
|
||||
#include "coff/internal.h"
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for MAXQ COFF binaries.
|
||||
Copyright 2004 Free Software Foundation, Inc.
|
||||
Copyright 2004, 2007 Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Vineet Sharma (vineets@noida.hcltech.com) Inderpreet S.
|
||||
(inderpreetb@noida.hcltech.com)
|
||||
@ -22,8 +22,8 @@
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/maxq.h"
|
||||
#include "coff/internal.h"
|
||||
@ -82,7 +82,6 @@ coff_maxq20_reloc (bfd * abfd,
|
||||
bfd * output_bfd ATTRIBUTE_UNUSED,
|
||||
char ** error_message ATTRIBUTE_UNUSED)
|
||||
{
|
||||
reloc_howto_type *howto = NULL;
|
||||
unsigned char *addr = NULL;
|
||||
unsigned long x = 0;
|
||||
long call_addr = 0;
|
||||
@ -96,7 +95,6 @@ coff_maxq20_reloc (bfd * abfd,
|
||||
|
||||
if (data && reloc_entry)
|
||||
{
|
||||
howto = reloc_entry->howto;
|
||||
addr = (unsigned char *) data + reloc_entry->address;
|
||||
call_addr = call_addr - call_addr;
|
||||
call_addr = get_symbol_value (symbol_in);
|
||||
@ -374,69 +372,56 @@ static reloc_howto_type howto_table[] =
|
||||
EMPTY_HOWTO (10),
|
||||
};
|
||||
|
||||
/* Map BFD reloc types to MAXQ COFF reloc types. */
|
||||
|
||||
typedef struct maxq_reloc_map
|
||||
{
|
||||
bfd_reloc_code_real_type bfd_reloc_val;
|
||||
unsigned int maxq_reloc_val;
|
||||
reloc_howto_type * table;
|
||||
}
|
||||
reloc_map;
|
||||
|
||||
static const reloc_map maxq_reloc_map[] =
|
||||
{
|
||||
{BFD_RELOC_16_PCREL_S2, SHORT_JUMP, howto_table},
|
||||
{BFD_RELOC_16, LONG_JUMP, howto_table},
|
||||
};
|
||||
|
||||
static reloc_howto_type *
|
||||
maxq_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
|
||||
bfd_reloc_code_real_type code)
|
||||
{
|
||||
switch (code)
|
||||
{
|
||||
/* SHORT JUMP */
|
||||
case BFD_RELOC_16_PCREL_S2:
|
||||
return howto_table + 3;
|
||||
|
||||
/* INTERSEGMENT JUMP */
|
||||
case BFD_RELOC_24:
|
||||
return howto_table + 4;
|
||||
|
||||
/* BYTE RELOC */
|
||||
case BFD_RELOC_8:
|
||||
return howto_table + 7;
|
||||
|
||||
/* WORD RELOC */
|
||||
case BFD_RELOC_16:
|
||||
return howto_table + 5;
|
||||
|
||||
/* LONG RELOC */
|
||||
case BFD_RELOC_32:
|
||||
return howto_table + 2;
|
||||
|
||||
/* LONG JUMP */
|
||||
case BFD_RELOC_14:
|
||||
return howto_table + 6;
|
||||
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
maxq_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE (maxq_reloc_map); i++)
|
||||
{
|
||||
const reloc_map *entry;
|
||||
|
||||
entry = maxq_reloc_map + i;
|
||||
|
||||
switch (code)
|
||||
{
|
||||
/* SHORT JUMP */
|
||||
case BFD_RELOC_16_PCREL_S2:
|
||||
return howto_table + 3;
|
||||
|
||||
/* INTERSEGMENT JUMP */
|
||||
case BFD_RELOC_24:
|
||||
return howto_table + 4;
|
||||
|
||||
/* BYTE RELOC */
|
||||
case BFD_RELOC_8:
|
||||
return howto_table + 7;
|
||||
|
||||
/* WORD RELOC */
|
||||
case BFD_RELOC_16:
|
||||
return howto_table + 5;
|
||||
|
||||
/* LONG RELOC */
|
||||
case BFD_RELOC_32:
|
||||
return howto_table + 2;
|
||||
|
||||
/* LONG JUMP */
|
||||
case BFD_RELOC_14:
|
||||
return howto_table + 6;
|
||||
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
for (i = 0; i < sizeof (howto_table) / sizeof (howto_table[0]); i++)
|
||||
if (howto_table[i].name != NULL
|
||||
&& strcasecmp (howto_table[i].name, r_name) == 0)
|
||||
return &howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#define coff_bfd_reloc_type_lookup maxq_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup maxq_reloc_name_lookup
|
||||
|
||||
/* Perform any necessary magic to the addend in a reloc entry. */
|
||||
#define CALC_ADDEND(abfd, symbol, ext_reloc, cache_ptr) \
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for Motorola MCore COFF/PE
|
||||
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -19,8 +19,8 @@ along with this program; if not, write to the Free Software
|
||||
Foundation, 51 Franklin Street - Fifth Floor,
|
||||
Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/mcore.h"
|
||||
#include "coff/internal.h"
|
||||
@ -283,9 +283,25 @@ mcore_coff_reloc_type_lookup (abfd, code)
|
||||
}
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
#undef HOW2MAP
|
||||
|
||||
static reloc_howto_type *
|
||||
mcore_coff_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < (sizeof (mcore_coff_howto_table)
|
||||
/ sizeof (mcore_coff_howto_table[0]));
|
||||
i++)
|
||||
if (mcore_coff_howto_table[i].name != NULL
|
||||
&& strcasecmp (mcore_coff_howto_table[i].name, r_name) == 0)
|
||||
return &mcore_coff_howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#define RTYPE2HOWTO(cache_ptr, dst) \
|
||||
(cache_ptr)->howto = mcore_coff_howto_table + (dst)->r_type;
|
||||
|
||||
@ -538,6 +554,7 @@ coff_mcore_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
/* We use the special COFF backend linker, with our own special touch. */
|
||||
|
||||
#define coff_bfd_reloc_type_lookup mcore_coff_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup mcore_coff_reloc_name_lookup
|
||||
#define coff_relocate_section coff_mcore_relocate_section
|
||||
#define coff_rtype_to_howto coff_mcore_rtype_to_howto
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for MIPS Extended-Coff files.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004
|
||||
2000, 2001, 2002, 2003, 2004, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Original version by Per Bothner.
|
||||
Full support added by Ian Lance Taylor, ian@cygnus.com.
|
||||
@ -21,8 +21,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/internal.h"
|
||||
@ -769,6 +769,22 @@ mips_bfd_reloc_type_lookup (abfd, code)
|
||||
|
||||
return &mips_howto_table[mips_type];
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
mips_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < sizeof (mips_howto_table) / sizeof (mips_howto_table[0]);
|
||||
i++)
|
||||
if (mips_howto_table[i].name != NULL
|
||||
&& strcasecmp (mips_howto_table[i].name, r_name) == 0)
|
||||
return &mips_howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* A helper routine for mips_relocate_section which handles the REFHI
|
||||
relocations. The REFHI relocation must be followed by a REFLO
|
||||
@ -1375,6 +1391,7 @@ static const struct ecoff_backend_data mips_ecoff_backend_data =
|
||||
|
||||
/* Looking up a reloc type is MIPS specific. */
|
||||
#define _bfd_ecoff_bfd_reloc_type_lookup mips_bfd_reloc_type_lookup
|
||||
#define _bfd_ecoff_bfd_reloc_name_lookup mips_bfd_reloc_name_lookup
|
||||
|
||||
/* Getting relocated section contents is generic. */
|
||||
#define _bfd_ecoff_bfd_get_relocated_section_contents \
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for OpenRISC 1000 COFF binaries.
|
||||
Copyright 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
|
||||
Contributed by Ivan Guzvinec <ivang@opencores.org>
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -20,8 +20,8 @@
|
||||
|
||||
#define OR32 1
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/or32.h"
|
||||
#include "coff/internal.h"
|
||||
@ -317,11 +317,7 @@ reloc_processing (relent,reloc, symbols, abfd, section)
|
||||
}
|
||||
else
|
||||
{
|
||||
asymbol *ptr;
|
||||
relent->sym_ptr_ptr = symbols + obj_convert (abfd)[reloc->r_symndx];
|
||||
|
||||
ptr = *(relent->sym_ptr_ptr);
|
||||
|
||||
relent->addend = 0;
|
||||
relent->address-= section->vma;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for Apple et al PowerPC Mac "XCOFF" files.
|
||||
Copyright 1995, 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright 1995, 2000, 2001, 2007 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
@ -24,8 +24,8 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#define TARGET_SYM pmac_xcoff_vec
|
||||
#define TARGET_NAME "xcoff-powermac"
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/internal.h"
|
||||
#include "coff/rs6000.h"
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for PowerPC Microsoft Portable Executable files.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Original version pieced together by Kim Knuttila (krk@cygnus.com)
|
||||
@ -33,9 +33,8 @@
|
||||
- dlltool will not produce correct output in some .reloc cases, and will
|
||||
not produce the right glue code for dll function calls. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
#include "coff/powerpc.h"
|
||||
@ -1332,7 +1331,7 @@ coff_ppc_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
|
||||
DUMP_RELOC2 (howto->name, rel);
|
||||
|
||||
if (strncmp(".idata$2",input_section->name,8) == 0 && first_thunk_address == 0)
|
||||
if (CONST_STRNEQ (input_section->name, ".idata$2") && first_thunk_address == 0)
|
||||
{
|
||||
/* Set magic values. */
|
||||
int idata5offset;
|
||||
@ -1961,8 +1960,23 @@ ppc_coff_reloc_type_lookup (abfd, code)
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
#undef HOW2MAP
|
||||
|
||||
static reloc_howto_type *
|
||||
ppc_coff_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < sizeof (ppc_coff_howto_table) / sizeof (ppc_coff_howto_table[0]);
|
||||
i++)
|
||||
if (ppc_coff_howto_table[i].name != NULL
|
||||
&& strcasecmp (ppc_coff_howto_table[i].name, r_name) == 0)
|
||||
return &ppc_coff_howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Tailor coffcode.h -- macro heaven. */
|
||||
|
||||
@ -1971,6 +1985,7 @@ ppc_coff_reloc_type_lookup (abfd, code)
|
||||
/* We use the special COFF backend linker, with our own special touch. */
|
||||
|
||||
#define coff_bfd_reloc_type_lookup ppc_coff_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup ppc_coff_reloc_name_lookup
|
||||
#define coff_rtype_to_howto coff_ppc_rtype_to_howto
|
||||
#define coff_relocate_section coff_ppc_relocate_section
|
||||
#define coff_bfd_final_link ppc_bfd_coff_final_link
|
||||
|
@ -1,12 +1,7 @@
|
||||
/* BFD back-end for IBM RS/6000 "XCOFF" files.
|
||||
Copyright 1990-1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
Copyright 1990-1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
FIXME: Can someone provide a transliteration of this name into ASCII?
|
||||
Using the following chars caused a compiler warning on HIUX (so I replaced
|
||||
them with octal escapes), and isn't useful without an understanding of what
|
||||
character set it is.
|
||||
Written by Metin G. Ozisik, Mimi Ph\373\364ng-Th\345o V\365,
|
||||
and John Gilmore.
|
||||
Written by Metin G. Ozisik, Mimi Phuong-Thao Vo, and John Gilmore.
|
||||
Archive support from Damon A. Permezel.
|
||||
Contributed by IBM Corporation and Cygnus Support.
|
||||
|
||||
@ -26,8 +21,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/internal.h"
|
||||
@ -59,7 +54,7 @@ extern bfd_boolean _bfd_xcoff_write_armap
|
||||
extern bfd_boolean _bfd_xcoff_write_archive_contents
|
||||
PARAMS ((bfd *));
|
||||
extern int _bfd_xcoff_sizeof_headers
|
||||
PARAMS ((bfd *, bfd_boolean));
|
||||
PARAMS ((bfd *, struct bfd_link_info *));
|
||||
extern void _bfd_xcoff_swap_sym_in
|
||||
PARAMS ((bfd *, PTR, PTR));
|
||||
extern unsigned int _bfd_xcoff_swap_sym_out
|
||||
@ -98,6 +93,7 @@ void xcoff_rtype2howto
|
||||
#define coff_bfd_copy_private_bfd_data _bfd_xcoff_copy_private_bfd_data
|
||||
#define coff_bfd_is_local_label_name _bfd_xcoff_is_local_label_name
|
||||
#define coff_bfd_reloc_type_lookup _bfd_xcoff_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup _bfd_xcoff_reloc_name_lookup
|
||||
#ifdef AIX_CORE
|
||||
extern const bfd_target * rs6000coff_core_p
|
||||
PARAMS ((bfd *abfd));
|
||||
@ -1051,6 +1047,21 @@ _bfd_xcoff_reloc_type_lookup (abfd, code)
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
_bfd_xcoff_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < sizeof (xcoff_howto_table) / sizeof (xcoff_howto_table[0]);
|
||||
i++)
|
||||
if (xcoff_howto_table[i].name != NULL
|
||||
&& strcasecmp (xcoff_howto_table[i].name, r_name) == 0)
|
||||
return &xcoff_howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* XCOFF archive support. The original version of this code was by
|
||||
Damon A. Permezel. It was enhanced to permit cross support, and
|
||||
@ -1638,7 +1649,7 @@ xcoff_write_armap_old (abfd, elength, map, orl_count, stridx)
|
||||
+ SXCOFFARFMAG
|
||||
+ arelt_size (sub));
|
||||
fileoff = (fileoff + 1) &~ 1;
|
||||
sub = sub->next;
|
||||
sub = sub->archive_next;
|
||||
}
|
||||
|
||||
for (i = 0; i < orl_count; i++)
|
||||
@ -1809,7 +1820,7 @@ xcoff_write_armap_big (abfd, elength, map, orl_count, stridx)
|
||||
}
|
||||
i++;
|
||||
}
|
||||
current_bfd = current_bfd->next;
|
||||
current_bfd = current_bfd->archive_next;
|
||||
if (current_bfd != NULL)
|
||||
arch_info = bfd_get_arch_info (current_bfd);
|
||||
}
|
||||
@ -1913,7 +1924,7 @@ xcoff_write_armap_big (abfd, elength, map, orl_count, stridx)
|
||||
+ SXCOFFARFMAG
|
||||
+ arelt_size (current_bfd));
|
||||
fileoff += fileoff & 1;
|
||||
current_bfd = current_bfd->next;
|
||||
current_bfd = current_bfd->archive_next;
|
||||
if (current_bfd != NULL)
|
||||
arch_info = bfd_get_arch_info (current_bfd);
|
||||
}
|
||||
@ -1934,7 +1945,7 @@ xcoff_write_armap_big (abfd, elength, map, orl_count, stridx)
|
||||
}
|
||||
i++;
|
||||
}
|
||||
current_bfd = current_bfd->next;
|
||||
current_bfd = current_bfd->archive_next;
|
||||
if (current_bfd != NULL)
|
||||
arch_info = bfd_get_arch_info (current_bfd);
|
||||
}
|
||||
@ -2009,7 +2020,7 @@ xcoff_write_armap_big (abfd, elength, map, orl_count, stridx)
|
||||
+ SXCOFFARFMAG
|
||||
+ arelt_size (current_bfd));
|
||||
fileoff += fileoff & 1;
|
||||
current_bfd = current_bfd->next;
|
||||
current_bfd = current_bfd->archive_next;
|
||||
if (current_bfd != NULL)
|
||||
arch_info = bfd_get_arch_info (current_bfd);
|
||||
}
|
||||
@ -2030,7 +2041,7 @@ xcoff_write_armap_big (abfd, elength, map, orl_count, stridx)
|
||||
}
|
||||
i++;
|
||||
}
|
||||
current_bfd = current_bfd->next;
|
||||
current_bfd = current_bfd->archive_next;
|
||||
if (current_bfd != NULL)
|
||||
arch_info = bfd_get_arch_info (current_bfd);
|
||||
}
|
||||
@ -2089,7 +2100,7 @@ xcoff_write_archive_contents_old (abfd)
|
||||
|
||||
count = 0;
|
||||
total_namlen = 0;
|
||||
for (sub = abfd->archive_head; sub != NULL; sub = sub->next)
|
||||
for (sub = abfd->archive_head; sub != NULL; sub = sub->archive_next)
|
||||
{
|
||||
++count;
|
||||
total_namlen += strlen (normalize_filename (sub)) + 1;
|
||||
@ -2105,7 +2116,9 @@ xcoff_write_archive_contents_old (abfd)
|
||||
hasobjects = FALSE;
|
||||
prevoff = 0;
|
||||
nextoff = SIZEOF_AR_FILE_HDR;
|
||||
for (sub = abfd->archive_head, i = 0; sub != NULL; sub = sub->next, i++)
|
||||
for (sub = abfd->archive_head, i = 0;
|
||||
sub != NULL;
|
||||
sub = sub->archive_next, i++)
|
||||
{
|
||||
const char *name;
|
||||
bfd_size_type namlen;
|
||||
@ -2253,7 +2266,7 @@ xcoff_write_archive_contents_old (abfd)
|
||||
abfd) != XCOFFARMAG_ELEMENT_SIZE)
|
||||
return FALSE;
|
||||
}
|
||||
for (sub = abfd->archive_head; sub != NULL; sub = sub->next)
|
||||
for (sub = abfd->archive_head; sub != NULL; sub = sub->archive_next)
|
||||
{
|
||||
const char *name;
|
||||
bfd_size_type namlen;
|
||||
@ -2323,7 +2336,7 @@ xcoff_write_archive_contents_big (abfd)
|
||||
hasobjects = FALSE;
|
||||
for (current_bfd = abfd->archive_head, count = 0, total_namlen = 0;
|
||||
current_bfd != NULL;
|
||||
current_bfd = current_bfd->next, count++)
|
||||
current_bfd = current_bfd->archive_next, count++)
|
||||
{
|
||||
total_namlen += strlen (normalize_filename (current_bfd)) + 1;
|
||||
|
||||
@ -2345,7 +2358,7 @@ xcoff_write_archive_contents_big (abfd)
|
||||
nextoff = SIZEOF_AR_FILE_HDR_BIG;
|
||||
for (current_bfd = abfd->archive_head, i = 0;
|
||||
current_bfd != NULL;
|
||||
current_bfd = current_bfd->next, i++)
|
||||
current_bfd = current_bfd->archive_next, i++)
|
||||
{
|
||||
const char *name;
|
||||
bfd_size_type namlen;
|
||||
@ -2512,8 +2525,9 @@ xcoff_write_archive_contents_big (abfd)
|
||||
offsets = NULL;
|
||||
}
|
||||
|
||||
for (current_bfd = abfd->archive_head; current_bfd != NULL;
|
||||
current_bfd = current_bfd->next)
|
||||
for (current_bfd = abfd->archive_head;
|
||||
current_bfd != NULL;
|
||||
current_bfd = current_bfd->archive_next)
|
||||
{
|
||||
const char *name;
|
||||
size_t namlen;
|
||||
@ -2573,9 +2587,8 @@ _bfd_xcoff_write_archive_contents (abfd)
|
||||
always uses an a.out header. */
|
||||
|
||||
int
|
||||
_bfd_xcoff_sizeof_headers (abfd, reloc)
|
||||
bfd *abfd;
|
||||
bfd_boolean reloc ATTRIBUTE_UNUSED;
|
||||
_bfd_xcoff_sizeof_headers (bfd *abfd,
|
||||
struct bfd_link_info *info ATTRIBUTE_UNUSED)
|
||||
{
|
||||
int size;
|
||||
|
||||
@ -4179,6 +4192,7 @@ const bfd_target rs6000coff_vec =
|
||||
coff_get_reloc_upper_bound,
|
||||
coff_canonicalize_reloc,
|
||||
_bfd_xcoff_reloc_type_lookup,
|
||||
_bfd_xcoff_reloc_name_lookup,
|
||||
|
||||
/* Write */
|
||||
coff_set_arch_mach,
|
||||
@ -4429,6 +4443,7 @@ const bfd_target pmac_xcoff_vec =
|
||||
coff_get_reloc_upper_bound,
|
||||
coff_canonicalize_reloc,
|
||||
_bfd_xcoff_reloc_type_lookup,
|
||||
_bfd_xcoff_reloc_name_lookup,
|
||||
|
||||
/* Write */
|
||||
coff_set_arch_mach,
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for Renesas Super-H COFF binaries.
|
||||
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
2003, 2004, 2005, 2007 Free Software Foundation, Inc.
|
||||
Contributed by Cygnus Support.
|
||||
Written by Steve Chamberlain, <sac@cygnus.com>.
|
||||
Relaxing code written by Ian Lance Taylor, <ian@cygnus.com>.
|
||||
@ -21,8 +21,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libiberty.h"
|
||||
#include "libbfd.h"
|
||||
#include "bfdlink.h"
|
||||
@ -494,6 +494,7 @@ static const struct shcoff_reloc_map sh_reloc_map[] =
|
||||
/* Given a BFD reloc code, return the howto structure for the
|
||||
corresponding SH PE reloc. */
|
||||
#define coff_bfd_reloc_type_lookup sh_coff_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup sh_coff_reloc_name_lookup
|
||||
|
||||
static reloc_howto_type *
|
||||
sh_coff_reloc_type_lookup (abfd, code)
|
||||
@ -510,6 +511,20 @@ sh_coff_reloc_type_lookup (abfd, code)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
sh_coff_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < sizeof (sh_coff_howtos) / sizeof (sh_coff_howtos[0]); i++)
|
||||
if (sh_coff_howtos[i].name != NULL
|
||||
&& strcasecmp (sh_coff_howtos[i].name, r_name) == 0)
|
||||
return &sh_coff_howtos[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* This macro is used in coffcode.h to get the howto corresponding to
|
||||
an internal reloc. */
|
||||
|
||||
@ -2510,8 +2525,9 @@ _bfd_sh_align_load_span (abfd, sec, contents, swap, relocs,
|
||||
|
||||
next2_insn = bfd_get_16 (abfd, contents + i + 4);
|
||||
next2_op = sh_insn_info (next2_insn);
|
||||
if ((next2_op->flags & (LOAD | STORE)) == 0
|
||||
&& sh_load_use (insn, op, next2_insn, next2_op))
|
||||
if (next2_op == NULL
|
||||
|| ((next2_op->flags & (LOAD | STORE)) == 0
|
||||
&& sh_load_use (insn, op, next2_insn, next2_op)))
|
||||
ok = FALSE;
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for Sparc COFF files.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2001,
|
||||
2002, 2003, 2005 Free Software Foundation, Inc.
|
||||
2002, 2003, 2005, 2007 Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -19,8 +19,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/sparc.h"
|
||||
#include "coff/internal.h"
|
||||
@ -158,6 +158,24 @@ coff_sparc_reloc_type_lookup (abfd, code)
|
||||
}
|
||||
#define coff_bfd_reloc_type_lookup coff_sparc_reloc_type_lookup
|
||||
|
||||
static reloc_howto_type *
|
||||
coff_sparc_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < (sizeof (coff_sparc_howto_table)
|
||||
/ sizeof (coff_sparc_howto_table[0]));
|
||||
i++)
|
||||
if (coff_sparc_howto_table[i].name != NULL
|
||||
&& strcasecmp (coff_sparc_howto_table[i].name, r_name) == 0)
|
||||
return &coff_sparc_howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
#define coff_bfd_reloc_name_lookup coff_sparc_reloc_name_lookup
|
||||
|
||||
static void
|
||||
rtype2howto (cache_ptr, dst)
|
||||
arelent *cache_ptr;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for Intel 386 COFF files (DJGPP variant with a stub).
|
||||
Copyright 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2006 Free Software Foundation, Inc.
|
||||
Written by Robert Hoehne.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -354,7 +354,7 @@ create_go32_stub (abfd)
|
||||
close (f);
|
||||
goto stub_end;
|
||||
}
|
||||
if (memcmp (magic, "go32stub", 8) != 0)
|
||||
if (! CONST_STRNEQ (magic, "go32stub"))
|
||||
{
|
||||
close (f);
|
||||
goto stub_end;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* BFD back-end for TMS320C30 coff binaries.
|
||||
Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright 1998, 1999, 2000, 2001, 2002, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au)
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -19,8 +20,8 @@
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
|
||||
02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "coff/tic30.h"
|
||||
@ -52,6 +53,7 @@ reloc_howto_type tic30_coff_howto_table[] =
|
||||
|
||||
#ifndef coff_bfd_reloc_type_lookup
|
||||
#define coff_bfd_reloc_type_lookup tic30_coff_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup tic30_coff_reloc_name_lookup
|
||||
|
||||
/* For the case statement use the code values used in tc_gen_reloc to
|
||||
map to the howto table entries that match those in both the aout
|
||||
@ -80,6 +82,23 @@ tic30_coff_reloc_type_lookup (abfd, code)
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
tic30_coff_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < (sizeof (tic30_coff_howto_table)
|
||||
/ sizeof (tic30_coff_howto_table[0]));
|
||||
i++)
|
||||
if (tic30_coff_howto_table[i].name != NULL
|
||||
&& strcasecmp (tic30_coff_howto_table[i].name, r_name) == 0)
|
||||
return &tic30_coff_howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* Turn a howto into a reloc number. */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for TMS320C4X coff binaries.
|
||||
Copyright 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2005
|
||||
Copyright 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz)
|
||||
@ -21,8 +21,8 @@
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
|
||||
02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "coff/tic4x.h"
|
||||
@ -117,6 +117,8 @@ reloc_howto_type tic4x_howto_table[] =
|
||||
|
||||
#undef coff_bfd_reloc_type_lookup
|
||||
#define coff_bfd_reloc_type_lookup tic4x_coff_reloc_type_lookup
|
||||
#undef coff_bfd_reloc_name_lookup
|
||||
#define coff_bfd_reloc_name_lookup tic4x_coff_reloc_name_lookup
|
||||
|
||||
/* For the case statement use the code values used tc_gen_reloc (defined in
|
||||
bfd/reloc.c) to map to the howto table entries. */
|
||||
@ -150,6 +152,21 @@ tic4x_coff_reloc_type_lookup (abfd, code)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
tic4x_coff_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < sizeof (tic4x_howto_table) / sizeof (tic4x_howto_table[0]);
|
||||
i++)
|
||||
if (tic4x_howto_table[i].name != NULL
|
||||
&& strcasecmp (tic4x_howto_table[i].name, r_name) == 0)
|
||||
return &tic4x_howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Code to turn a r_type into a howto ptr, uses the above howto table.
|
||||
Called after some initial checking by the tic4x_rtype_to_howto fn
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for TMS320C54X coff binaries.
|
||||
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Timothy Wall (twall@cygnus.com)
|
||||
|
||||
@ -20,8 +20,8 @@
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
|
||||
02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "coff/tic54x.h"
|
||||
@ -229,6 +229,7 @@ reloc_howto_type tic54x_howto_table[] =
|
||||
};
|
||||
|
||||
#define coff_bfd_reloc_type_lookup tic54x_coff_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup tic54x_coff_reloc_name_lookup
|
||||
|
||||
/* For the case statement use the code values used tc_gen_reloc (defined in
|
||||
bfd/reloc.c) to map to the howto table entries. */
|
||||
@ -259,6 +260,22 @@ tic54x_coff_reloc_type_lookup (abfd, code)
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
tic54x_coff_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < sizeof (tic54x_howto_table) / sizeof (tic54x_howto_table[0]);
|
||||
i++)
|
||||
if (tic54x_howto_table[i].name != NULL
|
||||
&& strcasecmp (tic54x_howto_table[i].name, r_name) == 0)
|
||||
return &tic54x_howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Code to turn a r_type into a howto ptr, uses the above howto table.
|
||||
Called after some initial checking by the tic54x_rtype_to_howto fn below. */
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for Texas Instruments TMS320C80 Multimedia Video Processor (MVP).
|
||||
Copyright 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
Copyright 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Written by Fred Fish (fnf@cygnus.com)
|
||||
@ -24,9 +24,9 @@ along with this program; if not, write to the Free Software
|
||||
Foundation, 51 Franklin Street - Fifth Floor,
|
||||
Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "sysdep.h"
|
||||
#include "libbfd.h"
|
||||
#ifdef _CONST
|
||||
/* Newlib-based hosts define _CONST as a STDC-safe alias for const,
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for WDC 65816 COFF binaries.
|
||||
Copyright 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
Free Software Foundation, Inc.
|
||||
Copyright 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
||||
2006, 2007 Free Software Foundation, Inc.
|
||||
Written by Steve Chamberlain, <sac@cygnus.com>.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -19,8 +19,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "coff/w65.h"
|
||||
@ -105,7 +105,7 @@ reloc_processing (relent, reloc, symbols, abfd, section)
|
||||
if (((int) reloc->r_symndx) > 0)
|
||||
relent->sym_ptr_ptr = symbols + obj_convert (abfd)[reloc->r_symndx];
|
||||
else
|
||||
relent->sym_ptr_ptr = (asymbol **)&(bfd_abs_symbol);
|
||||
relent->sym_ptr_ptr = (asymbol **) bfd_abs_section_ptr->symbol_ptr_ptr;
|
||||
|
||||
relent->addend = reloc->r_offset;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for we32k COFF files.
|
||||
Copyright 1992, 1993, 1994, 1999, 2000, 2002, 2003
|
||||
Copyright 1992, 1993, 1994, 1999, 2000, 2002, 2003, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Brendan Kehoe (brendan@cs.widener.edu).
|
||||
|
||||
@ -19,8 +19,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/we32k.h"
|
||||
#include "coff/internal.h"
|
||||
|
783
bfd/coff-x86_64.c
Normal file
783
bfd/coff-x86_64.c
Normal file
@ -0,0 +1,783 @@
|
||||
/* BFD back-end for AMD 64 COFF files.
|
||||
Copyright 2006, 2007 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
Written by Kai Tietz, OneVision Software GmbH&CoKg. */
|
||||
|
||||
#ifndef COFF_WITH_pex64
|
||||
#define COFF_WITH_pex64
|
||||
#endif
|
||||
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/x86_64.h"
|
||||
#include "coff/internal.h"
|
||||
#include "coff/pe.h"
|
||||
#include "libcoff.h"
|
||||
#include "libiberty.h"
|
||||
|
||||
#define BADMAG(x) AMD64BADMAG(x)
|
||||
|
||||
#ifdef COFF_WITH_pex64
|
||||
# undef AOUTSZ
|
||||
# define AOUTSZ PEPAOUTSZ
|
||||
# define PEAOUTHDR PEPAOUTHDR
|
||||
#endif
|
||||
|
||||
#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (2)
|
||||
|
||||
/* The page size is a guess based on ELF. */
|
||||
|
||||
#define COFF_PAGE_SIZE 0x1000
|
||||
|
||||
/* For some reason when using AMD COFF the value stored in the .text
|
||||
section for a reference to a common symbol is the value itself plus
|
||||
any desired offset. Ian Taylor, Cygnus Support. */
|
||||
|
||||
/* If we are producing relocatable output, we need to do some
|
||||
adjustments to the object file that are not done by the
|
||||
bfd_perform_relocation function. This function is called by every
|
||||
reloc type to make any required adjustments. */
|
||||
|
||||
static bfd_reloc_status_type
|
||||
coff_amd64_reloc (bfd *abfd,
|
||||
arelent *reloc_entry,
|
||||
asymbol *symbol,
|
||||
void * data,
|
||||
asection *input_section ATTRIBUTE_UNUSED,
|
||||
bfd *output_bfd,
|
||||
char **error_message ATTRIBUTE_UNUSED)
|
||||
{
|
||||
symvalue diff;
|
||||
|
||||
#if !defined(COFF_WITH_PE)
|
||||
if (output_bfd == NULL)
|
||||
return bfd_reloc_continue;
|
||||
#endif
|
||||
|
||||
if (bfd_is_com_section (symbol->section))
|
||||
{
|
||||
#if !defined(COFF_WITH_PE)
|
||||
/* We are relocating a common symbol. The current value in the
|
||||
object file is ORIG + OFFSET, where ORIG is the value of the
|
||||
common symbol as seen by the object file when it was compiled
|
||||
(this may be zero if the symbol was undefined) and OFFSET is
|
||||
the offset into the common symbol (normally zero, but may be
|
||||
non-zero when referring to a field in a common structure).
|
||||
ORIG is the negative of reloc_entry->addend, which is set by
|
||||
the CALC_ADDEND macro below. We want to replace the value in
|
||||
the object file with NEW + OFFSET, where NEW is the value of
|
||||
the common symbol which we are going to put in the final
|
||||
object file. NEW is symbol->value. */
|
||||
diff = symbol->value + reloc_entry->addend;
|
||||
#else
|
||||
/* In PE mode, we do not offset the common symbol. */
|
||||
diff = reloc_entry->addend;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
/* For some reason bfd_perform_relocation always effectively
|
||||
ignores the addend for a COFF target when producing
|
||||
relocatable output. This seems to be always wrong for 386
|
||||
COFF, so we handle the addend here instead. */
|
||||
#if defined(COFF_WITH_PE)
|
||||
if (output_bfd == NULL)
|
||||
{
|
||||
reloc_howto_type *howto = reloc_entry->howto;
|
||||
|
||||
/* Although PC relative relocations are very similar between
|
||||
PE and non-PE formats, but they are off by 1 << howto->size
|
||||
bytes. For the external relocation, PE is very different
|
||||
from others. See md_apply_fix3 () in gas/config/tc-amd64.c.
|
||||
When we link PE and non-PE object files together to
|
||||
generate a non-PE executable, we have to compensate it
|
||||
here. */
|
||||
if(howto->pc_relative && howto->pcrel_offset)
|
||||
diff = -(1 << howto->size);
|
||||
else if(symbol->flags & BSF_WEAK)
|
||||
diff = reloc_entry->addend - symbol->value;
|
||||
else
|
||||
diff = -reloc_entry->addend;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
diff = reloc_entry->addend;
|
||||
}
|
||||
|
||||
#if defined(COFF_WITH_PE)
|
||||
/* FIXME: How should this case be handled? */
|
||||
if (reloc_entry->howto->type == R_AMD64_IMAGEBASE
|
||||
&& output_bfd != NULL
|
||||
&& bfd_get_flavour (output_bfd) == bfd_target_coff_flavour)
|
||||
diff -= pe_data (output_bfd)->pe_opthdr.ImageBase;
|
||||
#endif
|
||||
|
||||
#define DOIT(x) \
|
||||
x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & howto->dst_mask))
|
||||
|
||||
if (diff != 0)
|
||||
{
|
||||
reloc_howto_type *howto = reloc_entry->howto;
|
||||
unsigned char *addr = (unsigned char *) data + reloc_entry->address;
|
||||
|
||||
switch (howto->size)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
char x = bfd_get_8 (abfd, addr);
|
||||
DOIT (x);
|
||||
bfd_put_8 (abfd, x, addr);
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
{
|
||||
short x = bfd_get_16 (abfd, addr);
|
||||
DOIT (x);
|
||||
bfd_put_16 (abfd, (bfd_vma) x, addr);
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
{
|
||||
long x = bfd_get_32 (abfd, addr);
|
||||
DOIT (x);
|
||||
bfd_put_32 (abfd, (bfd_vma) x, addr);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
long long x = bfd_get_64 (abfd, addr);
|
||||
DOIT (x);
|
||||
bfd_put_64 (abfd, (bfd_vma) x, addr);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
abort ();
|
||||
}
|
||||
}
|
||||
|
||||
/* Now let bfd_perform_relocation finish everything up. */
|
||||
return bfd_reloc_continue;
|
||||
}
|
||||
|
||||
#if defined(COFF_WITH_PE)
|
||||
/* Return TRUE if this relocation should appear in the output .reloc
|
||||
section. */
|
||||
|
||||
static bfd_boolean
|
||||
in_reloc_p (bfd *abfd ATTRIBUTE_UNUSED, reloc_howto_type *howto)
|
||||
{
|
||||
return ! howto->pc_relative && howto->type != R_AMD64_IMAGEBASE;
|
||||
}
|
||||
#endif /* COFF_WITH_PE */
|
||||
|
||||
#ifndef PCRELOFFSET
|
||||
#define PCRELOFFSET TRUE
|
||||
#endif
|
||||
|
||||
static reloc_howto_type howto_table[] =
|
||||
{
|
||||
EMPTY_HOWTO (0),
|
||||
HOWTO (R_AMD64_DIR64, /* type 1*/
|
||||
0, /* rightshift */
|
||||
4, /* size (0 = byte, 1 = short, 2 = long, 4 = long long) */
|
||||
64, /* bitsize */
|
||||
FALSE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"R_X86_64_64", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffffffffffffll, /* src_mask */
|
||||
0xffffffffffffffffll, /* dst_mask */
|
||||
TRUE), /* pcrel_offset */
|
||||
HOWTO (R_AMD64_DIR32, /* type 2 */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
FALSE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"R_X86_64_32", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffff, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
TRUE), /* pcrel_offset */
|
||||
/* PE IMAGE_REL_AMD64_ADDR32NB relocation (3). */
|
||||
HOWTO (R_AMD64_IMAGEBASE, /* type */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
FALSE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"rva32", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffff, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
FALSE), /* pcrel_offset */
|
||||
/* 32-bit longword PC relative relocation (4). */
|
||||
HOWTO (R_AMD64_PCRLONG, /* type 4 */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
TRUE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_signed, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"R_X86_64_PC32", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffff, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
PCRELOFFSET), /* pcrel_offset */
|
||||
|
||||
HOWTO (R_AMD64_PCRLONG_1, /* type 5 */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
TRUE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_signed, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"DISP32+1", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffff, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
PCRELOFFSET), /* pcrel_offset */
|
||||
HOWTO (R_AMD64_PCRLONG_2, /* type 6 */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
TRUE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_signed, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"DISP32+2", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffff, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
PCRELOFFSET), /* pcrel_offset */
|
||||
HOWTO (R_AMD64_PCRLONG_3, /* type 7 */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
TRUE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_signed, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"DISP32+3", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffff, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
PCRELOFFSET), /* pcrel_offset */
|
||||
HOWTO (R_AMD64_PCRLONG_4, /* type 8 */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
TRUE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_signed, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"DISP32+4", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffff, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
PCRELOFFSET), /* pcrel_offset */
|
||||
HOWTO (R_AMD64_PCRLONG_5, /* type 9 */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
TRUE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_signed, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"DISP32+5", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffff, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
PCRELOFFSET), /* pcrel_offset */
|
||||
EMPTY_HOWTO (10), /* R_AMD64_SECTION 10 */
|
||||
#if defined(COFF_WITH_PE)
|
||||
/* 32-bit longword section relative relocation (11). */
|
||||
HOWTO (R_AMD64_SECREL, /* type */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
FALSE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"secrel32", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffff, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
TRUE), /* pcrel_offset */
|
||||
#else
|
||||
EMPTY_HOWTO (11),
|
||||
#endif
|
||||
EMPTY_HOWTO (12),
|
||||
EMPTY_HOWTO (13),
|
||||
#ifndef DONT_EXTEND_AMD64
|
||||
HOWTO (R_AMD64_PCRQUAD,
|
||||
0, /* rightshift */
|
||||
4, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
64, /* bitsize */
|
||||
TRUE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_signed, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"R_X86_64_PC64", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffffffffffffll, /* src_mask */
|
||||
0xffffffffffffffffll, /* dst_mask */
|
||||
PCRELOFFSET), /* pcrel_offset */
|
||||
#else
|
||||
EMPTY_HOWTO (14),
|
||||
#endif
|
||||
/* Byte relocation (15). */
|
||||
HOWTO (R_RELBYTE, /* type */
|
||||
0, /* rightshift */
|
||||
0, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
8, /* bitsize */
|
||||
FALSE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"R_X86_64_8", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0x000000ff, /* src_mask */
|
||||
0x000000ff, /* dst_mask */
|
||||
PCRELOFFSET), /* pcrel_offset */
|
||||
/* 16-bit word relocation (16). */
|
||||
HOWTO (R_RELWORD, /* type */
|
||||
0, /* rightshift */
|
||||
1, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
16, /* bitsize */
|
||||
FALSE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"R_X86_64_16", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0x0000ffff, /* src_mask */
|
||||
0x0000ffff, /* dst_mask */
|
||||
PCRELOFFSET), /* pcrel_offset */
|
||||
/* 32-bit longword relocation (17). */
|
||||
HOWTO (R_RELLONG, /* type */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
FALSE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"R_X86_64_32S", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffff, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
PCRELOFFSET), /* pcrel_offset */
|
||||
/* Byte PC relative relocation (18). */
|
||||
HOWTO (R_PCRBYTE, /* type */
|
||||
0, /* rightshift */
|
||||
0, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
8, /* bitsize */
|
||||
TRUE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_signed, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"R_X86_64_PC8", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0x000000ff, /* src_mask */
|
||||
0x000000ff, /* dst_mask */
|
||||
PCRELOFFSET), /* pcrel_offset */
|
||||
/* 16-bit word PC relative relocation (19). */
|
||||
HOWTO (R_PCRWORD, /* type */
|
||||
0, /* rightshift */
|
||||
1, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
16, /* bitsize */
|
||||
TRUE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_signed, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"R_X86_64_PC16", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0x0000ffff, /* src_mask */
|
||||
0x0000ffff, /* dst_mask */
|
||||
PCRELOFFSET), /* pcrel_offset */
|
||||
/* 32-bit longword PC relative relocation (20). */
|
||||
HOWTO (R_PCRLONG, /* type */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
TRUE, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_signed, /* complain_on_overflow */
|
||||
coff_amd64_reloc, /* special_function */
|
||||
"R_X86_64_PC32", /* name */
|
||||
TRUE, /* partial_inplace */
|
||||
0xffffffff, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
PCRELOFFSET) /* pcrel_offset */
|
||||
};
|
||||
|
||||
/* Turn a howto into a reloc nunmber */
|
||||
|
||||
#define SELECT_RELOC(x,howto) { x.r_type = howto->type; }
|
||||
#define I386 1 /* Customize coffcode.h */
|
||||
#define AMD64 1
|
||||
|
||||
#define RTYPE2HOWTO(cache_ptr, dst) \
|
||||
((cache_ptr)->howto = \
|
||||
((dst)->r_type < ARRAY_SIZE (howto_table)) \
|
||||
? howto_table + (dst)->r_type \
|
||||
: NULL)
|
||||
|
||||
/* For 386 COFF a STYP_NOLOAD | STYP_BSS section is part of a shared
|
||||
library. On some other COFF targets STYP_BSS is normally
|
||||
STYP_NOLOAD. */
|
||||
#define BSS_NOLOAD_IS_SHARED_LIBRARY
|
||||
|
||||
/* Compute the addend of a reloc. If the reloc is to a common symbol,
|
||||
the object file contains the value of the common symbol. By the
|
||||
time this is called, the linker may be using a different symbol
|
||||
from a different object file with a different value. Therefore, we
|
||||
hack wildly to locate the original symbol from this file so that we
|
||||
can make the correct adjustment. This macro sets coffsym to the
|
||||
symbol from the original file, and uses it to set the addend value
|
||||
correctly. If this is not a common symbol, the usual addend
|
||||
calculation is done, except that an additional tweak is needed for
|
||||
PC relative relocs.
|
||||
FIXME: This macro refers to symbols and asect; these are from the
|
||||
calling function, not the macro arguments. */
|
||||
|
||||
#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr) \
|
||||
{ \
|
||||
coff_symbol_type *coffsym = NULL; \
|
||||
\
|
||||
if (ptr && bfd_asymbol_bfd (ptr) != abfd) \
|
||||
coffsym = (obj_symbols (abfd) \
|
||||
+ (cache_ptr->sym_ptr_ptr - symbols)); \
|
||||
else if (ptr) \
|
||||
coffsym = coff_symbol_from (abfd, ptr); \
|
||||
\
|
||||
if (coffsym != NULL \
|
||||
&& coffsym->native->u.syment.n_scnum == 0) \
|
||||
cache_ptr->addend = - coffsym->native->u.syment.n_value; \
|
||||
else if (ptr && bfd_asymbol_bfd (ptr) == abfd \
|
||||
&& ptr->section != NULL) \
|
||||
cache_ptr->addend = - (ptr->section->vma + ptr->value); \
|
||||
else \
|
||||
cache_ptr->addend = 0; \
|
||||
if (ptr && howto_table[reloc.r_type].pc_relative) \
|
||||
cache_ptr->addend += asect->vma; \
|
||||
}
|
||||
|
||||
/* We use the special COFF backend linker. For normal AMD64 COFF, we
|
||||
can use the generic relocate_section routine. For PE, we need our
|
||||
own routine. */
|
||||
|
||||
#if !defined(COFF_WITH_PE)
|
||||
|
||||
#define coff_relocate_section _bfd_coff_generic_relocate_section
|
||||
|
||||
#else /* COFF_WITH_PE */
|
||||
|
||||
/* The PE relocate section routine. The only difference between this
|
||||
and the regular routine is that we don't want to do anything for a
|
||||
relocatable link. */
|
||||
|
||||
static bfd_boolean
|
||||
coff_pe_amd64_relocate_section (bfd *output_bfd,
|
||||
struct bfd_link_info *info,
|
||||
bfd *input_bfd,
|
||||
asection *input_section,
|
||||
bfd_byte *contents,
|
||||
struct internal_reloc *relocs,
|
||||
struct internal_syment *syms,
|
||||
asection **sections)
|
||||
{
|
||||
if (info->relocatable)
|
||||
return TRUE;
|
||||
|
||||
return _bfd_coff_generic_relocate_section (output_bfd, info, input_bfd,input_section, contents,relocs, syms, sections);
|
||||
}
|
||||
|
||||
#define coff_relocate_section coff_pe_amd64_relocate_section
|
||||
|
||||
#endif /* COFF_WITH_PE */
|
||||
|
||||
/* Convert an rtype to howto for the COFF backend linker. */
|
||||
|
||||
static reloc_howto_type *
|
||||
coff_amd64_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
asection *sec,
|
||||
struct internal_reloc *rel,
|
||||
struct coff_link_hash_entry *h,
|
||||
struct internal_syment *sym,
|
||||
bfd_vma *addendp)
|
||||
{
|
||||
reloc_howto_type *howto;
|
||||
|
||||
if (rel->r_type > ARRAY_SIZE (howto_table))
|
||||
{
|
||||
bfd_set_error (bfd_error_bad_value);
|
||||
return NULL;
|
||||
}
|
||||
if (rel->r_type >= R_AMD64_PCRLONG_1 && rel->r_type <= R_AMD64_PCRLONG_5)
|
||||
{
|
||||
rel->r_vaddr += (bfd_vma)(rel->r_type-R_AMD64_PCRLONG);
|
||||
rel->r_type = R_AMD64_PCRLONG;
|
||||
}
|
||||
howto = howto_table + rel->r_type;
|
||||
|
||||
#if defined(COFF_WITH_PE)
|
||||
/* Cancel out code in _bfd_coff_generic_relocate_section. */
|
||||
*addendp = 0;
|
||||
#endif
|
||||
|
||||
if (howto->pc_relative)
|
||||
*addendp += sec->vma;
|
||||
|
||||
if (sym != NULL && sym->n_scnum == 0 && sym->n_value != 0)
|
||||
{
|
||||
/* This is a common symbol. The section contents include the
|
||||
size (sym->n_value) as an addend. The relocate_section
|
||||
function will be adding in the final value of the symbol. We
|
||||
need to subtract out the current size in order to get the
|
||||
correct result. */
|
||||
BFD_ASSERT (h != NULL);
|
||||
|
||||
#if !defined(COFF_WITH_PE)
|
||||
/* I think we *do* want to bypass this. If we don't, I have
|
||||
seen some data parameters get the wrong relocation address.
|
||||
If I link two versions with and without this section bypassed
|
||||
and then do a binary comparison, the addresses which are
|
||||
different can be looked up in the map. The case in which
|
||||
this section has been bypassed has addresses which correspond
|
||||
to values I can find in the map. */
|
||||
*addendp -= sym->n_value;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !defined(COFF_WITH_PE)
|
||||
/* If the output symbol is common (in which case this must be a
|
||||
relocatable link), we need to add in the final size of the
|
||||
common symbol. */
|
||||
if (h != NULL && h->root.type == bfd_link_hash_common)
|
||||
*addendp += h->root.u.c.size;
|
||||
#endif
|
||||
|
||||
#if defined(COFF_WITH_PE)
|
||||
if (howto->pc_relative)
|
||||
{
|
||||
*addendp -= 4;
|
||||
|
||||
/* If the symbol is defined, then the generic code is going to
|
||||
add back the symbol value in order to cancel out an
|
||||
adjustment it made to the addend. However, we set the addend
|
||||
to 0 at the start of this function. We need to adjust here,
|
||||
to avoid the adjustment the generic code will make. FIXME:
|
||||
This is getting a bit hackish. */
|
||||
if (sym != NULL && sym->n_scnum != 0)
|
||||
*addendp -= sym->n_value;
|
||||
}
|
||||
|
||||
if (rel->r_type == R_AMD64_IMAGEBASE
|
||||
&& (bfd_get_flavour (sec->output_section->owner) == bfd_target_coff_flavour))
|
||||
*addendp -= pe_data (sec->output_section->owner)->pe_opthdr.ImageBase;
|
||||
|
||||
if (rel->r_type == R_AMD64_SECREL)
|
||||
{
|
||||
bfd_vma osect_vma;
|
||||
|
||||
if (h && (h->type == bfd_link_hash_defined || h->type == bfd_link_hash_defweak))
|
||||
osect_vma = h->root.u.def.section->output_section->vma;
|
||||
else
|
||||
{
|
||||
asection *sec;
|
||||
int i;
|
||||
|
||||
/* Sigh, the only way to get the section to offset against
|
||||
is to find it the hard way. */
|
||||
for (sec = abfd->sections, i = 1; i < sym->n_scnum; i++)
|
||||
sec = sec->next;
|
||||
|
||||
osect_vma = sec->output_section->vma;
|
||||
}
|
||||
|
||||
*addendp -= osect_vma;
|
||||
}
|
||||
#endif
|
||||
|
||||
return howto;
|
||||
}
|
||||
|
||||
#define coff_bfd_reloc_type_lookup coff_amd64_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup coff_amd64_reloc_name_lookup
|
||||
|
||||
static reloc_howto_type *
|
||||
coff_amd64_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, bfd_reloc_code_real_type code)
|
||||
{
|
||||
switch (code)
|
||||
{
|
||||
case BFD_RELOC_RVA:
|
||||
return howto_table + R_AMD64_IMAGEBASE;
|
||||
case BFD_RELOC_32:
|
||||
return howto_table + R_AMD64_DIR32;
|
||||
case BFD_RELOC_64:
|
||||
return howto_table + R_AMD64_DIR64;
|
||||
case BFD_RELOC_64_PCREL:
|
||||
#ifndef DONT_EXTEND_AMD64
|
||||
return howto_table + R_AMD64_PCRQUAD;
|
||||
#else
|
||||
/* Fall through. */
|
||||
#endif
|
||||
case BFD_RELOC_32_PCREL:
|
||||
return howto_table + R_AMD64_PCRLONG;
|
||||
case BFD_RELOC_X86_64_32S:
|
||||
return howto_table + R_RELLONG;
|
||||
case BFD_RELOC_16:
|
||||
return howto_table + R_RELWORD;
|
||||
case BFD_RELOC_16_PCREL:
|
||||
return howto_table + R_PCRWORD;
|
||||
case BFD_RELOC_8:
|
||||
return howto_table + R_RELBYTE;
|
||||
case BFD_RELOC_8_PCREL:
|
||||
return howto_table + R_PCRBYTE;
|
||||
#if defined(COFF_WITH_PE)
|
||||
case BFD_RELOC_32_SECREL:
|
||||
return howto_table + R_AMD64_SECREL;
|
||||
#endif
|
||||
default:
|
||||
BFD_FAIL ();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
coff_amd64_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < sizeof (howto_table) / sizeof (howto_table[0]); i++)
|
||||
if (howto_table[i].name != NULL
|
||||
&& strcasecmp (howto_table[i].name, r_name) == 0)
|
||||
return &howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#define coff_rtype_to_howto coff_amd64_rtype_to_howto
|
||||
|
||||
#ifdef TARGET_UNDERSCORE
|
||||
|
||||
/* If amd64 gcc uses underscores for symbol names, then it does not use
|
||||
a leading dot for local labels, so if TARGET_UNDERSCORE is defined
|
||||
we treat all symbols starting with L as local. */
|
||||
|
||||
static bfd_boolean
|
||||
coff_amd64_is_local_label_name (bfd *abfd, const char *name)
|
||||
{
|
||||
if (name[0] == 'L')
|
||||
return TRUE;
|
||||
|
||||
return _bfd_coff_is_local_label_name (abfd, name);
|
||||
}
|
||||
|
||||
#define coff_bfd_is_local_label_name coff_amd64_is_local_label_name
|
||||
|
||||
#endif /* TARGET_UNDERSCORE */
|
||||
|
||||
#include "coffcode.h"
|
||||
|
||||
#ifdef PE
|
||||
#define amd64coff_object_p pe_bfd_object_p
|
||||
#else
|
||||
#define amd64coff_object_p coff_object_p
|
||||
#endif
|
||||
|
||||
const bfd_target
|
||||
#ifdef TARGET_SYM
|
||||
TARGET_SYM =
|
||||
#else
|
||||
x86_64coff_vec =
|
||||
#endif
|
||||
{
|
||||
#ifdef TARGET_NAME
|
||||
TARGET_NAME,
|
||||
#else
|
||||
"coff-x86-64", /* Name. */
|
||||
#endif
|
||||
bfd_target_coff_flavour,
|
||||
BFD_ENDIAN_LITTLE, /* Data byte order is little. */
|
||||
BFD_ENDIAN_LITTLE, /* Header byte order is little. */
|
||||
|
||||
(HAS_RELOC | EXEC_P | /* Object flags. */
|
||||
HAS_LINENO | HAS_DEBUG |
|
||||
HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
|
||||
|
||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC /* Section flags. */
|
||||
#if defined(COFF_WITH_PE)
|
||||
| SEC_LINK_ONCE | SEC_LINK_DUPLICATES | SEC_READONLY
|
||||
#endif
|
||||
| SEC_CODE | SEC_DATA),
|
||||
|
||||
#ifdef TARGET_UNDERSCORE
|
||||
TARGET_UNDERSCORE, /* Leading underscore. */
|
||||
#else
|
||||
0, /* Leading underscore. */
|
||||
#endif
|
||||
'/', /* Ar_pad_char. */
|
||||
15, /* Ar_max_namelen. */
|
||||
|
||||
bfd_getl64, bfd_getl_signed_64, bfd_putl64,
|
||||
bfd_getl32, bfd_getl_signed_32, bfd_putl32,
|
||||
bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Data. */
|
||||
bfd_getl64, bfd_getl_signed_64, bfd_putl64,
|
||||
bfd_getl32, bfd_getl_signed_32, bfd_putl32,
|
||||
bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Hdrs. */
|
||||
|
||||
/* Note that we allow an object file to be treated as a core file as well. */
|
||||
{ _bfd_dummy_target, amd64coff_object_p, /* BFD_check_format. */
|
||||
bfd_generic_archive_p, amd64coff_object_p },
|
||||
{ bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format. */
|
||||
bfd_false },
|
||||
{ bfd_false, coff_write_object_contents, /* bfd_write_contents. */
|
||||
_bfd_write_archive_contents, bfd_false },
|
||||
|
||||
BFD_JUMP_TABLE_GENERIC (coff),
|
||||
BFD_JUMP_TABLE_COPY (coff),
|
||||
BFD_JUMP_TABLE_CORE (_bfd_nocore),
|
||||
BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
|
||||
BFD_JUMP_TABLE_SYMBOLS (coff),
|
||||
BFD_JUMP_TABLE_RELOCS (coff),
|
||||
BFD_JUMP_TABLE_WRITE (coff),
|
||||
BFD_JUMP_TABLE_LINK (coff),
|
||||
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
|
||||
|
||||
NULL,
|
||||
|
||||
COFF_SWAP_TABLE
|
||||
};
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for Zilog Z80 COFF binaries.
|
||||
Copyright 2005 Free Software Foundation, Inc.
|
||||
Copyright 2005, 2007 Free Software Foundation, Inc.
|
||||
Contributed by Arnold Metselaar <arnold_m@operamail.com>
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -19,8 +19,8 @@
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "coff/z80.h"
|
||||
@ -123,6 +123,26 @@ coff_z80_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
coff_z80_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
if (strcasecmp (r_imm8.name, r_name) == 0)
|
||||
return &r_imm8;
|
||||
if (strcasecmp (r_imm16.name, r_name) == 0)
|
||||
return &r_imm16;
|
||||
if (strcasecmp (r_imm24.name, r_name) == 0)
|
||||
return &r_imm24;
|
||||
if (strcasecmp (r_imm32.name, r_name) == 0)
|
||||
return &r_imm32;
|
||||
if (strcasecmp (r_jr.name, r_name) == 0)
|
||||
return &r_jr;
|
||||
if (strcasecmp (r_off8.name, r_name) == 0)
|
||||
return &r_off8;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Perform any necessary magic to the addend in a reloc entry. */
|
||||
|
||||
#define CALC_ADDEND(abfd, symbol, ext_reloc, cache_ptr) \
|
||||
@ -248,6 +268,7 @@ extra_case (bfd *in_abfd,
|
||||
|
||||
#define coff_reloc16_extra_cases extra_case
|
||||
#define coff_bfd_reloc_type_lookup coff_z80_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup coff_z80_reloc_name_lookup
|
||||
|
||||
#include "coffcode.h"
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD back-end for Zilog Z800n COFF binaries.
|
||||
Copyright 1992, 1993, 1994, 1995, 1997, 1999, 2000, 2001, 2002, 2003,
|
||||
2004, 2005 Free Software Foundation, Inc.
|
||||
2004, 2005, 2007 Free Software Foundation, Inc.
|
||||
Contributed by Cygnus Support.
|
||||
Written by Steve Chamberlain, <sac@cygnus.com>.
|
||||
|
||||
@ -20,8 +20,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "coff/z8k.h"
|
||||
@ -135,6 +135,30 @@ coff_z8k_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
coff_z8k_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
if (strcasecmp (r_imm8.name, r_name) == 0)
|
||||
return &r_imm8;
|
||||
if (strcasecmp (r_da.name, r_name) == 0)
|
||||
return &r_da;
|
||||
if (strcasecmp (r_imm32.name, r_name) == 0)
|
||||
return &r_imm32;
|
||||
if (strcasecmp (r_jr.name, r_name) == 0)
|
||||
return &r_jr;
|
||||
if (strcasecmp (r_rel16.name, r_name) == 0)
|
||||
return &r_rel16;
|
||||
if (strcasecmp (r_disp7.name, r_name) == 0)
|
||||
return &r_disp7;
|
||||
if (strcasecmp (r_callr.name, r_name) == 0)
|
||||
return &r_callr;
|
||||
if (strcasecmp (r_imm4l.name, r_name) == 0)
|
||||
return &r_imm4l;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Perform any necessary magic to the addend in a reloc entry. */
|
||||
|
||||
#define CALC_ADDEND(abfd, symbol, ext_reloc, cache_ptr) \
|
||||
@ -345,6 +369,7 @@ extra_case (bfd *in_abfd,
|
||||
|
||||
#define coff_reloc16_extra_cases extra_case
|
||||
#define coff_bfd_reloc_type_lookup coff_z8k_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup coff_z8k_reloc_name_lookup
|
||||
|
||||
#include "coffcode.h"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD back-end for IBM RS/6000 "XCOFF64" files.
|
||||
Copyright 2000, 2001, 2002, 2003, 2004, 2005
|
||||
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written Clinton Popetz.
|
||||
Contributed by Cygnus Support.
|
||||
@ -20,8 +20,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/internal.h"
|
||||
@ -127,7 +127,7 @@ extern bfd_boolean _bfd_xcoff_write_armap
|
||||
extern bfd_boolean _bfd_xcoff_write_archive_contents
|
||||
PARAMS ((bfd *));
|
||||
extern int _bfd_xcoff_sizeof_headers
|
||||
PARAMS ((bfd *, bfd_boolean));
|
||||
PARAMS ((bfd *, struct bfd_link_info *));
|
||||
extern void _bfd_xcoff_swap_sym_in
|
||||
PARAMS ((bfd *, PTR, PTR));
|
||||
extern unsigned int _bfd_xcoff_swap_sym_out
|
||||
@ -161,7 +161,7 @@ static const bfd_target *xcoff64_archive_p
|
||||
static bfd *xcoff64_openr_next_archived_file
|
||||
PARAMS ((bfd *, bfd *));
|
||||
static int xcoff64_sizeof_headers
|
||||
PARAMS ((bfd *, bfd_boolean));
|
||||
PARAMS ((bfd *, struct bfd_link_info *));
|
||||
static asection *xcoff64_create_csect_from_smclas
|
||||
PARAMS ((bfd *, union internal_auxent *, const char *));
|
||||
static bfd_boolean xcoff64_is_lineno_count_overflow
|
||||
@ -237,6 +237,7 @@ bfd_boolean (*xcoff64_calculate_relocation[XCOFF_MAX_CALCULATE_RELOCATION])
|
||||
#define coff_bfd_copy_private_bfd_data _bfd_xcoff_copy_private_bfd_data
|
||||
#define coff_bfd_is_local_label_name _bfd_xcoff_is_local_label_name
|
||||
#define coff_bfd_reloc_type_lookup xcoff64_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup xcoff64_reloc_name_lookup
|
||||
#ifdef AIX_CORE
|
||||
extern const bfd_target * rs6000coff_core_p
|
||||
PARAMS ((bfd *abfd));
|
||||
@ -1843,6 +1844,22 @@ xcoff64_reloc_type_lookup (abfd, code)
|
||||
}
|
||||
}
|
||||
|
||||
static reloc_howto_type *
|
||||
xcoff64_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *r_name)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0;
|
||||
i < sizeof (xcoff64_howto_table) / sizeof (xcoff64_howto_table[0]);
|
||||
i++)
|
||||
if (xcoff64_howto_table[i].name != NULL
|
||||
&& strcasecmp (xcoff64_howto_table[i].name, r_name) == 0)
|
||||
return &xcoff64_howto_table[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Read in the armap of an XCOFF archive. */
|
||||
|
||||
static bfd_boolean
|
||||
@ -2056,9 +2073,8 @@ xcoff64_openr_next_archived_file (archive, last_file)
|
||||
always uses an a.out header. */
|
||||
|
||||
static int
|
||||
xcoff64_sizeof_headers (abfd, reloc)
|
||||
bfd *abfd;
|
||||
bfd_boolean reloc ATTRIBUTE_UNUSED;
|
||||
xcoff64_sizeof_headers (bfd *abfd,
|
||||
struct bfd_link_info *info ATTRIBUTE_UNUSED)
|
||||
{
|
||||
int size;
|
||||
|
||||
@ -2726,6 +2742,7 @@ const bfd_target rs6000coff64_vec =
|
||||
coff_get_reloc_upper_bound,
|
||||
coff_canonicalize_reloc,
|
||||
xcoff64_reloc_type_lookup,
|
||||
xcoff64_reloc_name_lookup,
|
||||
|
||||
/* Write */
|
||||
coff_set_arch_mach,
|
||||
@ -2977,6 +2994,7 @@ const bfd_target aix5coff64_vec =
|
||||
coff_get_reloc_upper_bound,
|
||||
coff_canonicalize_reloc,
|
||||
xcoff64_reloc_type_lookup,
|
||||
xcoff64_reloc_name_lookup,
|
||||
|
||||
/* Write */
|
||||
coff_set_arch_mach,
|
||||
|
120
bfd/coffcode.h
120
bfd/coffcode.h
@ -1,6 +1,6 @@
|
||||
/* Support for the generic parts of most COFF variants, for BFD.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
@ -427,7 +427,7 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags)
|
||||
styp_flags = STYP_LIT;
|
||||
#endif /* _LIT */
|
||||
}
|
||||
else if (!strncmp (sec_name, DOT_DEBUG, sizeof (DOT_DEBUG) - 1))
|
||||
else if (CONST_STRNEQ (sec_name, DOT_DEBUG))
|
||||
{
|
||||
/* Handle the XCOFF debug section and DWARF2 debug sections. */
|
||||
if (!sec_name[6])
|
||||
@ -435,12 +435,12 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags)
|
||||
else
|
||||
styp_flags = STYP_DEBUG_INFO;
|
||||
}
|
||||
else if (!strncmp (sec_name, ".stab", 5))
|
||||
else if (CONST_STRNEQ (sec_name, ".stab"))
|
||||
{
|
||||
styp_flags = STYP_DEBUG_INFO;
|
||||
}
|
||||
#ifdef COFF_LONG_SECTION_NAMES
|
||||
else if (!strncmp (sec_name, GNU_LINKONCE_WI, sizeof (GNU_LINKONCE_WI) - 1))
|
||||
else if (CONST_STRNEQ (sec_name, GNU_LINKONCE_WI))
|
||||
{
|
||||
styp_flags = STYP_DEBUG_INFO;
|
||||
}
|
||||
@ -529,8 +529,8 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags)
|
||||
but there are more IMAGE_SCN_* flags. */
|
||||
|
||||
/* FIXME: There is no gas syntax to specify the debug section flag. */
|
||||
if (strncmp (sec_name, DOT_DEBUG, sizeof (DOT_DEBUG) - 1) == 0
|
||||
|| strncmp (sec_name, GNU_LINKONCE_WI, sizeof (GNU_LINKONCE_WI) - 1) == 0)
|
||||
if (CONST_STRNEQ (sec_name, DOT_DEBUG)
|
||||
|| CONST_STRNEQ (sec_name, GNU_LINKONCE_WI))
|
||||
sec_flags = SEC_DEBUGGING;
|
||||
|
||||
/* skip LOAD */
|
||||
@ -674,14 +674,14 @@ styp_to_sec_flags (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
#endif
|
||||
sec_flags |= SEC_ALLOC;
|
||||
}
|
||||
else if (strncmp (name, DOT_DEBUG, sizeof (DOT_DEBUG) - 1) == 0
|
||||
else if (CONST_STRNEQ (name, DOT_DEBUG)
|
||||
#ifdef _COMMENT
|
||||
|| strcmp (name, _COMMENT) == 0
|
||||
#endif
|
||||
#ifdef COFF_LONG_SECTION_NAMES
|
||||
|| strncmp (name, GNU_LINKONCE_WI, sizeof (GNU_LINKONCE_WI) - 1) == 0
|
||||
|| CONST_STRNEQ (name, GNU_LINKONCE_WI)
|
||||
#endif
|
||||
|| strncmp (name, ".stab", 5) == 0)
|
||||
|| CONST_STRNEQ (name, ".stab"))
|
||||
{
|
||||
#ifdef COFF_PAGE_SIZE
|
||||
sec_flags |= SEC_DEBUGGING;
|
||||
@ -715,7 +715,7 @@ styp_to_sec_flags (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
The symbols will be defined as weak, so that multiple definitions
|
||||
are permitted. The GNU linker extension is to actually discard
|
||||
all but one of the sections. */
|
||||
if (strncmp (name, ".gnu.linkonce", sizeof ".gnu.linkonce" - 1) == 0)
|
||||
if (CONST_STRNEQ (name, ".gnu.linkonce"))
|
||||
sec_flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD;
|
||||
#endif
|
||||
|
||||
@ -1071,7 +1071,7 @@ styp_to_sec_flags (bfd *abfd,
|
||||
/* The MS PE spec sets the DISCARDABLE flag on .reloc sections
|
||||
but we do not want them to be labelled as debug section, since
|
||||
then strip would remove them. */
|
||||
if (strncmp (name, ".reloc", sizeof ".reloc" - 1) != 0)
|
||||
if (! CONST_STRNEQ (name, ".reloc"))
|
||||
sec_flags |= SEC_DEBUGGING;
|
||||
break;
|
||||
case IMAGE_SCN_MEM_SHARED:
|
||||
@ -1126,7 +1126,7 @@ styp_to_sec_flags (bfd *abfd,
|
||||
The symbols will be defined as weak, so that multiple definitions
|
||||
are permitted. The GNU linker extension is to actually discard
|
||||
all but one of the sections. */
|
||||
if (strncmp (name, ".gnu.linkonce", sizeof ".gnu.linkonce" - 1) == 0)
|
||||
if (CONST_STRNEQ (name, ".gnu.linkonce"))
|
||||
sec_flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD;
|
||||
#endif
|
||||
|
||||
@ -1546,6 +1546,9 @@ static const unsigned int coff_section_alignment_table_size =
|
||||
static bfd_boolean
|
||||
coff_new_section_hook (bfd * abfd, asection * section)
|
||||
{
|
||||
combined_entry_type *native;
|
||||
bfd_size_type amt;
|
||||
|
||||
section->alignment_power = COFF_DEFAULT_SECTION_ALIGNMENT_POWER;
|
||||
|
||||
#ifdef RS6000COFF_C
|
||||
@ -1557,34 +1560,31 @@ coff_new_section_hook (bfd * abfd, asection * section)
|
||||
section->alignment_power = bfd_xcoff_data_align_power (abfd);
|
||||
#endif
|
||||
|
||||
/* PR binutils/2724: Only real sections have a symbol that
|
||||
has the coff_symbol_type structure allocated for it. */
|
||||
if (! bfd_is_const_section (section))
|
||||
{
|
||||
combined_entry_type *native;
|
||||
bfd_size_type amt;
|
||||
/* Set up the section symbol. */
|
||||
if (!_bfd_generic_new_section_hook (abfd, section))
|
||||
return FALSE;
|
||||
|
||||
/* Allocate aux records for section symbols, to store size and
|
||||
related info.
|
||||
/* Allocate aux records for section symbols, to store size and
|
||||
related info.
|
||||
|
||||
@@ The 10 is a guess at a plausible maximum number of aux entries
|
||||
(but shouldn't be a constant). */
|
||||
amt = sizeof (combined_entry_type) * 10;
|
||||
native = bfd_zalloc (abfd, amt);
|
||||
if (native == NULL)
|
||||
return FALSE;
|
||||
@@ The 10 is a guess at a plausible maximum number of aux entries
|
||||
(but shouldn't be a constant). */
|
||||
amt = sizeof (combined_entry_type) * 10;
|
||||
native = bfd_zalloc (abfd, amt);
|
||||
if (native == NULL)
|
||||
return FALSE;
|
||||
|
||||
/* We don't need to set up n_name, n_value, or n_scnum in the native
|
||||
symbol information, since they'll be overridden by the BFD symbol
|
||||
anyhow. However, we do need to set the type and storage class,
|
||||
in case this symbol winds up getting written out. The value 0
|
||||
for n_numaux is already correct. */
|
||||
native->u.syment.n_type = T_NULL;
|
||||
native->u.syment.n_sclass = C_STAT;
|
||||
/* We don't need to set up n_name, n_value, or n_scnum in the native
|
||||
symbol information, since they'll be overridden by the BFD symbol
|
||||
anyhow. However, we do need to set the type and storage class,
|
||||
in case this symbol winds up getting written out. The value 0
|
||||
for n_numaux is already correct. */
|
||||
|
||||
native->u.syment.n_type = T_NULL;
|
||||
native->u.syment.n_sclass = C_STAT;
|
||||
|
||||
coffsymbol (section->symbol)->native = native;
|
||||
|
||||
coffsymbol (section->symbol)->native = native;
|
||||
}
|
||||
|
||||
coff_set_custom_section_alignment (abfd, section,
|
||||
coff_section_alignment_table,
|
||||
coff_section_alignment_table_size);
|
||||
@ -1882,11 +1882,17 @@ coff_set_arch_mach_hook (bfd *abfd, void * filehdr)
|
||||
#ifdef I386MAGIC
|
||||
case I386MAGIC:
|
||||
case I386PTXMAGIC:
|
||||
case I386AIXMAGIC: /* Danbury PS/2 AIX C Compiler */
|
||||
case LYNXCOFFMAGIC: /* shadows the m68k Lynx number below, sigh */
|
||||
case I386AIXMAGIC: /* Danbury PS/2 AIX C Compiler. */
|
||||
case LYNXCOFFMAGIC: /* Shadows the m68k Lynx number below, sigh. */
|
||||
arch = bfd_arch_i386;
|
||||
break;
|
||||
#endif
|
||||
#ifdef AMD64MAGIC
|
||||
case AMD64MAGIC:
|
||||
arch = bfd_arch_i386;
|
||||
machine = bfd_mach_x86_64;
|
||||
break;
|
||||
#endif
|
||||
#ifdef IA64MAGIC
|
||||
case IA64MAGIC:
|
||||
arch = bfd_arch_ia64;
|
||||
@ -2532,11 +2538,15 @@ coff_write_relocs (bfd * abfd, int first_undef)
|
||||
else
|
||||
{
|
||||
n.r_symndx = get_index ((*(q->sym_ptr_ptr)));
|
||||
/* Take notice if the symbol reloc points to a symbol
|
||||
we don't have in our symbol table. What should we
|
||||
do for this?? */
|
||||
/* Check to see if the symbol reloc points to a symbol
|
||||
we don't have in our symbol table. */
|
||||
if (n.r_symndx > obj_conv_table_size (abfd))
|
||||
abort ();
|
||||
{
|
||||
bfd_set_error (bfd_error_bad_value);
|
||||
_bfd_error_handler (_("%B: reloc against a non-existant symbol index: %ld"),
|
||||
abfd, n.r_symndx);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2717,12 +2727,17 @@ coff_set_flags (bfd * abfd,
|
||||
return TRUE;
|
||||
#endif
|
||||
|
||||
#ifdef I386MAGIC
|
||||
#if defined(I386MAGIC) || defined(AMD64MAGIC)
|
||||
case bfd_arch_i386:
|
||||
#if defined(I386MAGIC)
|
||||
*magicp = I386MAGIC;
|
||||
#ifdef LYNXOS
|
||||
#endif
|
||||
#if defined LYNXOS
|
||||
/* Just overwrite the usual value if we're doing Lynx. */
|
||||
*magicp = LYNXCOFFMAGIC;
|
||||
#endif
|
||||
#if defined AMD64MAGIC
|
||||
*magicp = AMD64MAGIC;
|
||||
#endif
|
||||
return TRUE;
|
||||
#endif
|
||||
@ -3755,6 +3770,7 @@ coff_write_object_contents (bfd * abfd)
|
||||
internal_f.f_flags |= IMAGE_FILE_LARGE_ADDRESS_AWARE;
|
||||
#endif
|
||||
|
||||
#ifndef COFF_WITH_pex64
|
||||
#ifdef COFF_WITH_PE
|
||||
internal_f.f_flags |= IMAGE_FILE_32BIT_MACHINE;
|
||||
#else
|
||||
@ -3763,6 +3779,7 @@ coff_write_object_contents (bfd * abfd)
|
||||
else
|
||||
internal_f.f_flags |= F_AR32W;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef TI_TARGET_ID
|
||||
/* Target id is used in TI COFF v1 and later; COFF0 won't use this field,
|
||||
@ -3856,16 +3873,18 @@ coff_write_object_contents (bfd * abfd)
|
||||
|
||||
#if defined(I386)
|
||||
#define __A_MAGIC_SET__
|
||||
#if defined(LYNXOS)
|
||||
#if defined LYNXOS
|
||||
internal_a.magic = LYNXCOFFMAGIC;
|
||||
#else /* LYNXOS */
|
||||
#elif defined AMD64
|
||||
internal_a.magic = IMAGE_NT_OPTIONAL_HDR64_MAGIC;
|
||||
#else
|
||||
internal_a.magic = ZMAGIC;
|
||||
#endif /* LYNXOS */
|
||||
#endif
|
||||
#endif /* I386 */
|
||||
|
||||
#if defined(IA64)
|
||||
#define __A_MAGIC_SET__
|
||||
internal_a.magic = ZMAGIC;
|
||||
internal_a.magic = PE32PMAGIC;
|
||||
#endif /* IA64 */
|
||||
|
||||
#if defined(SPARC)
|
||||
@ -4851,6 +4870,7 @@ coff_slurp_reloc_table (bfd * abfd, sec_ptr asect, asymbol ** symbols)
|
||||
cache_ptr = reloc_cache + idx;
|
||||
src = native_relocs + idx;
|
||||
|
||||
dst.r_offset = 0;
|
||||
coff_swap_reloc_in (abfd, src, &dst);
|
||||
|
||||
#ifdef RELOC_PROCESSING
|
||||
@ -4931,6 +4951,7 @@ coff_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
{
|
||||
arelent genrel;
|
||||
|
||||
genrel.howto = NULL;
|
||||
RTYPE2HOWTO (&genrel, rel);
|
||||
return genrel.howto;
|
||||
}
|
||||
@ -5314,6 +5335,9 @@ static const bfd_coff_backend_data ticoff1_swap_table =
|
||||
#ifndef coff_bfd_reloc_type_lookup
|
||||
#define coff_bfd_reloc_type_lookup _bfd_norelocs_bfd_reloc_type_lookup
|
||||
#endif
|
||||
#ifndef coff_bfd_reloc_name_lookup
|
||||
#define coff_bfd_reloc_name_lookup _bfd_norelocs_bfd_reloc_name_lookup
|
||||
#endif
|
||||
|
||||
#ifndef coff_bfd_get_relocated_section_contents
|
||||
#define coff_bfd_get_relocated_section_contents \
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Support for the generic parts of COFF, for BFD.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
@ -37,8 +37,8 @@
|
||||
Those functions may not use any COFF specific information, such as
|
||||
coff_data (abfd). */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/internal.h"
|
||||
#include "libcoff.h"
|
||||
@ -1901,7 +1901,16 @@ coff_print_symbol (bfd *abfd,
|
||||
combined->u.syment.n_type,
|
||||
combined->u.syment.n_sclass,
|
||||
combined->u.syment.n_numaux);
|
||||
fprintf_vma (file, val);
|
||||
#ifdef BFD64
|
||||
/* fprintf_vma() on a 64-bit enabled host will always print a 64-bit
|
||||
value, but really we want to display the address in the target's
|
||||
address size. Since we do not have a field in the bfd structure
|
||||
to tell us this, we take a guess, based on the target's name. */
|
||||
if (strstr (bfd_get_target (abfd), "64") == NULL)
|
||||
fprintf (file, "%08lx", (unsigned long) (val & 0xffffffff));
|
||||
else
|
||||
#endif
|
||||
fprintf_vma (file, val);
|
||||
fprintf (file, " %s", symbol->name);
|
||||
|
||||
for (aux = 0; aux < combined->u.syment.n_numaux; aux++)
|
||||
@ -2238,11 +2247,11 @@ coff_find_inliner_info (bfd *abfd,
|
||||
}
|
||||
|
||||
int
|
||||
coff_sizeof_headers (bfd *abfd, bfd_boolean reloc)
|
||||
coff_sizeof_headers (bfd *abfd, struct bfd_link_info *info)
|
||||
{
|
||||
size_t size;
|
||||
|
||||
if (! reloc)
|
||||
if (!info->relocatable)
|
||||
size = bfd_coff_filhsz (abfd) + bfd_coff_aoutsz (abfd);
|
||||
else
|
||||
size = bfd_coff_filhsz (abfd);
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* COFF specific linker code.
|
||||
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
|
||||
2004, 2005, 2006 Free Software Foundation, Inc.
|
||||
2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
Written by Ian Lance Taylor, Cygnus Support.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -21,8 +21,8 @@
|
||||
|
||||
/* This file contains the COFF backend linker code. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "bfdlink.h"
|
||||
#include "libbfd.h"
|
||||
#include "coff/internal.h"
|
||||
@ -232,7 +232,7 @@ coff_link_check_ar_symbols (bfd *abfd,
|
||||
/* Auto import. */
|
||||
if (!h
|
||||
&& info->pei386_auto_import
|
||||
&& !strncmp (name,"__imp_", 6))
|
||||
&& CONST_STRNEQ (name, "__imp_"))
|
||||
h = bfd_link_hash_lookup (info->hash, name + 6, FALSE, FALSE, TRUE);
|
||||
|
||||
/* We are only interested in symbols that are currently
|
||||
@ -439,7 +439,7 @@ coff_link_add_symbols (bfd *abfd,
|
||||
|| classification == COFF_SYMBOL_PE_SECTION)
|
||||
&& coff_section_data (abfd, section) != NULL
|
||||
&& coff_section_data (abfd, section)->comdat != NULL
|
||||
&& strncmp (name, "??_", 3) == 0
|
||||
&& CONST_STRNEQ (name, "??_")
|
||||
&& strcmp (name, coff_section_data (abfd, section)->comdat->name) == 0)
|
||||
{
|
||||
if (*sym_hash == NULL)
|
||||
@ -583,7 +583,7 @@ coff_link_add_symbols (bfd *abfd,
|
||||
asection *stab;
|
||||
|
||||
for (stab = abfd->sections; stab; stab = stab->next)
|
||||
if (strncmp (".stab", stab->name, 5) == 0
|
||||
if (CONST_STRNEQ (stab->name, ".stab")
|
||||
&& (!stab->name[5]
|
||||
|| (stab->name[5] == '.' && ISDIGIT (stab->name[6]))))
|
||||
{
|
||||
@ -1232,16 +1232,14 @@ process_embedded_commands (bfd *output_bfd,
|
||||
s++;
|
||||
continue;
|
||||
}
|
||||
if (strncmp (s, "-attr", 5) == 0)
|
||||
if (CONST_STRNEQ (s, "-attr"))
|
||||
{
|
||||
char *name;
|
||||
char *attribs;
|
||||
asection *asec;
|
||||
int loop = 1;
|
||||
int had_write = 0;
|
||||
int had_read = 0;
|
||||
int had_exec= 0;
|
||||
int had_shared= 0;
|
||||
|
||||
s += 5;
|
||||
s = get_name (s, &name);
|
||||
@ -1255,10 +1253,8 @@ process_embedded_commands (bfd *output_bfd,
|
||||
had_write = 1;
|
||||
break;
|
||||
case 'R':
|
||||
had_read = 1;
|
||||
break;
|
||||
case 'S':
|
||||
had_shared = 1;
|
||||
break;
|
||||
case 'X':
|
||||
had_exec = 1;
|
||||
@ -1276,11 +1272,11 @@ process_embedded_commands (bfd *output_bfd,
|
||||
asec->flags |= SEC_READONLY;
|
||||
}
|
||||
}
|
||||
else if (strncmp (s,"-heap", 5) == 0)
|
||||
s = dores_com (s+5, output_bfd, 1);
|
||||
else if (CONST_STRNEQ (s, "-heap"))
|
||||
s = dores_com (s + 5, output_bfd, 1);
|
||||
|
||||
else if (strncmp (s,"-stack", 6) == 0)
|
||||
s = dores_com (s+6, output_bfd, 0);
|
||||
else if (CONST_STRNEQ (s, "-stack"))
|
||||
s = dores_com (s + 6, output_bfd, 0);
|
||||
|
||||
else
|
||||
s++;
|
||||
@ -1925,6 +1921,7 @@ _bfd_coff_link_input_bfd (struct coff_final_link_info *finfo, bfd *input_bfd)
|
||||
generate two symbols with the same name, but only one
|
||||
will have aux entries. */
|
||||
BFD_ASSERT (isymp->n_numaux == 0
|
||||
|| h->numaux == 0
|
||||
|| h->numaux == isymp->n_numaux);
|
||||
}
|
||||
|
||||
@ -1940,7 +1937,7 @@ _bfd_coff_link_input_bfd (struct coff_final_link_info *finfo, bfd *input_bfd)
|
||||
union internal_auxent aux;
|
||||
union internal_auxent *auxp;
|
||||
|
||||
if (h != NULL)
|
||||
if (h != NULL && h->aux != NULL && (h->numaux > i))
|
||||
auxp = h->aux + i;
|
||||
else
|
||||
{
|
||||
|
200
bfd/config.bfd
200
bfd/config.bfd
@ -31,12 +31,7 @@ targ_underscore=no
|
||||
|
||||
# Catch obsolete configurations.
|
||||
case $targ in
|
||||
m68*-apple-aux* | \
|
||||
m68*-apollo-* | \
|
||||
m68*-bull-sysv* | \
|
||||
m68*-*-rtemscoff* | \
|
||||
i960-*-rtems* | \
|
||||
or32-*-rtems* | \
|
||||
maxq-*-coff | \
|
||||
null)
|
||||
if test "x$enable_obsolete" != xyes; then
|
||||
echo "*** Configuration $targ is obsolete." >&2
|
||||
@ -48,6 +43,12 @@ case $targ in
|
||||
esac
|
||||
|
||||
case $targ in
|
||||
m68*-apple-aux* | \
|
||||
m68*-apollo-* | \
|
||||
m68*-bull-sysv* | \
|
||||
m68*-*-rtemscoff* | \
|
||||
i960-*-rtems* | \
|
||||
or32-*-rtems* | \
|
||||
m68*-*-lynxos* | \
|
||||
sparc-*-lynxos* | \
|
||||
vax-*-vms* | \
|
||||
@ -75,9 +76,11 @@ bfin*) targ_archs=bfd_bfin_arch ;;
|
||||
c30*) targ_archs=bfd_tic30_arch ;;
|
||||
c4x*) targ_archs=bfd_tic4x_arch ;;
|
||||
c54x*) targ_archs=bfd_tic54x_arch ;;
|
||||
cr16*) targ_archs=bfd_cr16_arch ;;
|
||||
crisv32) targ_archs=bfd_cris_arch ;;
|
||||
crx*) targ_archs=bfd_crx_arch ;;
|
||||
dlx*) targ_archs=bfd_dlx_arch ;;
|
||||
fido*) targ_archs=bfd_m68k_arch ;;
|
||||
hppa*) targ_archs=bfd_hppa_arch ;;
|
||||
i[3-7]86) targ_archs=bfd_i386_arch ;;
|
||||
i370) targ_archs=bfd_i370_arch ;;
|
||||
@ -95,10 +98,11 @@ rs6000) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
|
||||
s390*) targ_archs=bfd_s390_arch ;;
|
||||
sh*) targ_archs=bfd_sh_arch ;;
|
||||
sparc*) targ_archs=bfd_sparc_arch ;;
|
||||
spu*) targ_archs=bfd_spu_arch ;;
|
||||
strongarm*) targ_archs=bfd_arm_arch ;;
|
||||
thumb*) targ_archs=bfd_arm_arch ;;
|
||||
v850*) targ_archs=bfd_v850_arch ;;
|
||||
x86_64) targ_archs=bfd_i386_arch ;;
|
||||
x86_64*) targ_archs=bfd_i386_arch ;;
|
||||
xscale*) targ_archs=bfd_arm_arch ;;
|
||||
xtensa*) targ_archs=bfd_xtensa_arch ;;
|
||||
z80|r800) targ_archs=bfd_z80_arch ;;
|
||||
@ -137,6 +141,7 @@ case "${targ}" in
|
||||
alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
|
||||
targ_defvec=bfd_elf64_alpha_freebsd_vec
|
||||
targ_selvecs=ecoffalpha_little_vec
|
||||
want64=true
|
||||
# FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
|
||||
case "${targ}" in
|
||||
alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*)
|
||||
@ -146,36 +151,49 @@ case "${targ}" in
|
||||
alpha*-*-netbsd* | alpha*-*-openbsd*)
|
||||
targ_defvec=bfd_elf64_alpha_vec
|
||||
targ_selvecs=ecoffalpha_little_vec
|
||||
want64=true
|
||||
;;
|
||||
alpha*-*-netware*)
|
||||
targ_defvec=ecoffalpha_little_vec
|
||||
targ_selvecs=nlm32_alpha_vec
|
||||
want64=true
|
||||
;;
|
||||
alpha*-*-linuxecoff*)
|
||||
targ_defvec=ecoffalpha_little_vec
|
||||
targ_selvecs=bfd_elf64_alpha_vec
|
||||
want64=true
|
||||
;;
|
||||
alpha*-*-linux-* | alpha*-*-elf*)
|
||||
targ_defvec=bfd_elf64_alpha_vec
|
||||
targ_selvecs=ecoffalpha_little_vec
|
||||
want64=true
|
||||
;;
|
||||
alpha*-*-*vms*)
|
||||
targ_defvec=vms_alpha_vec
|
||||
want64=true
|
||||
;;
|
||||
alpha*-*-*)
|
||||
targ_defvec=ecoffalpha_little_vec
|
||||
want64=true
|
||||
;;
|
||||
ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
|
||||
targ_defvec=bfd_elf64_ia64_little_vec
|
||||
targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
|
||||
want64=true
|
||||
;;
|
||||
ia64*-*-hpux*)
|
||||
targ_defvec=bfd_elf32_ia64_hpux_big_vec
|
||||
targ_selvecs="bfd_elf64_ia64_hpux_big_vec"
|
||||
want64=true
|
||||
;;
|
||||
sparc64-*-freebsd* | sparc64-*-netbsd* | sparc64-*-openbsd* | sparc64-*-kfreebsd*-gnu)
|
||||
sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
|
||||
targ_defvec=bfd_elf64_sparc_freebsd_vec
|
||||
targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
|
||||
;;
|
||||
sparc64-*-netbsd* | sparc64-*-openbsd*)
|
||||
targ_defvec=bfd_elf64_sparc_vec
|
||||
targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
|
||||
want64=true
|
||||
;;
|
||||
#endif /* BFD64 */
|
||||
|
||||
@ -215,8 +233,8 @@ case "${targ}" in
|
||||
targ_cflags=-DARM_COFF_BUGFIX
|
||||
;;
|
||||
arm-wince-pe | arm-*-wince)
|
||||
targ_defvec=armpe_little_vec
|
||||
targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
|
||||
targ_defvec=arm_wince_pe_little_vec
|
||||
targ_selvecs="arm_wince_pe_little_vec arm_wince_pe_big_vec arm_wince_pei_little_vec arm_wince_pei_big_vec"
|
||||
targ_underscore=no
|
||||
targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX"
|
||||
;;
|
||||
@ -336,6 +354,11 @@ case "${targ}" in
|
||||
targ_underscore=yes
|
||||
;;
|
||||
|
||||
cr16-*-elf*)
|
||||
targ_defvec=bfd_elf32_cr16_vec
|
||||
targ_underscore=yes
|
||||
;;
|
||||
|
||||
cr16c-*-elf*)
|
||||
targ_defvec=bfd_elf32_cr16c_vec
|
||||
targ_underscore=yes
|
||||
@ -365,6 +388,11 @@ case "${targ}" in
|
||||
targ_defvec=bfd_elf32_d30v_vec
|
||||
;;
|
||||
|
||||
fido-*-elf* )
|
||||
targ_defvec=bfd_elf32_m68k_vec
|
||||
targ_selvecs="m68kcoff_vec ieee_vec"
|
||||
;;
|
||||
|
||||
fr30-*-elf)
|
||||
targ_defvec=bfd_elf32_fr30_vec
|
||||
;;
|
||||
@ -403,11 +431,13 @@ case "${targ}" in
|
||||
hppa*64*-*-linux-*)
|
||||
targ_defvec=bfd_elf64_hppa_linux_vec
|
||||
targ_selvecs=bfd_elf64_hppa_vec
|
||||
want64=true
|
||||
;;
|
||||
hppa*64*-*-hpux11*)
|
||||
targ_defvec=bfd_elf64_hppa_vec
|
||||
targ_selvecs=bfd_elf64_hppa_linux_vec
|
||||
targ_cflags=-DHPUX_LARGE_AR_IDS
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
|
||||
@ -549,18 +579,28 @@ case "${targ}" in
|
||||
x86_64-*-elf*)
|
||||
targ_defvec=bfd_elf64_x86_64_vec
|
||||
targ_selvecs="bfd_elf32_i386_vec i386coff_vec"
|
||||
want64=true
|
||||
;;
|
||||
x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
|
||||
targ_defvec=bfd_elf64_x86_64_vec
|
||||
targ_selvecs="bfd_elf32_i386_vec i386coff_vec bfd_efi_app_ia32_vec"
|
||||
targ_defvec=bfd_elf64_x86_64_freebsd_vec
|
||||
targ_selvecs="bfd_elf32_i386_freebsd_vec i386coff_vec bfd_efi_app_ia32_vec bfd_efi_app_x86_64_vec bfd_elf32_i386_vec bfd_elf64_x86_64_vec"
|
||||
want64=true
|
||||
;;
|
||||
x86_64-*-netbsd* | x86_64-*-openbsd*)
|
||||
targ_defvec=bfd_elf64_x86_64_vec
|
||||
targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
|
||||
targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec bfd_efi_app_x86_64_vec"
|
||||
want64=true
|
||||
;;
|
||||
x86_64-*-linux-*)
|
||||
targ_defvec=bfd_elf64_x86_64_vec
|
||||
targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
|
||||
targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec bfd_efi_app_x86_64_vec"
|
||||
want64=true
|
||||
;;
|
||||
x86_64-*-mingw*)
|
||||
targ_defvec=x86_64pe_vec
|
||||
targ_selvecs="x86_64pe_vec x86_64pei_vec x86_64coff_vec bfd_elf64_x86_64_vec"
|
||||
want64=true
|
||||
targ_underscore=yes
|
||||
;;
|
||||
#endif
|
||||
i[3-7]86-*-lynxos*)
|
||||
@ -640,7 +680,7 @@ case "${targ}" in
|
||||
targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
|
||||
targ_underscore=yes
|
||||
;;
|
||||
i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv* | i960-*-rtems*)
|
||||
i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv*)
|
||||
targ_defvec=icoff_little_vec
|
||||
targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host ieee_vec"
|
||||
targ_underscore=yes
|
||||
@ -671,17 +711,14 @@ case "${targ}" in
|
||||
targ_defvec=bfd_elf32_m32rlelin_vec
|
||||
targ_selvecs="bfd_elf32_m32rlin_vec bfd_elf32_m32rlelin_vec"
|
||||
;;
|
||||
|
||||
m32r*-*-linux*)
|
||||
targ_defvec=bfd_elf32_m32rlin_vec
|
||||
targ_selvecs="bfd_elf32_m32rlin_vec bfd_elf32_m32rlelin_vec"
|
||||
;;
|
||||
|
||||
m32r*le-*-*)
|
||||
targ_defvec=bfd_elf32_m32rle_vec
|
||||
targ_selvecs="bfd_elf32_m32r_vec bfd_elf32_m32rle_vec"
|
||||
;;
|
||||
|
||||
m32r-*-*)
|
||||
targ_defvec=bfd_elf32_m32r_vec
|
||||
;;
|
||||
@ -695,13 +732,6 @@ case "${targ}" in
|
||||
targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
|
||||
;;
|
||||
|
||||
m68*-apollo-*)
|
||||
targ_defvec=apollocoff_vec
|
||||
;;
|
||||
m68*-bull-sysv*)
|
||||
targ_defvec=m68kcoffun_vec
|
||||
targ_underscore=yes
|
||||
;;
|
||||
m68*-motorola-sysv*)
|
||||
targ_defvec=m68ksysvcoff_vec
|
||||
;;
|
||||
@ -717,10 +747,6 @@ case "${targ}" in
|
||||
targ_selvecs="cisco_core_big_vec ieee_vec"
|
||||
targ_underscore=yes
|
||||
;;
|
||||
m68*-*-rtemscoff*)
|
||||
targ_defvec=m68kcoff_vec
|
||||
targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
|
||||
;;
|
||||
m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*)
|
||||
targ_defvec=bfd_elf32_m68k_vec
|
||||
targ_selvecs="m68kcoff_vec ieee_vec"
|
||||
@ -784,9 +810,6 @@ case "${targ}" in
|
||||
targ_defvec=bfd_elf32_m68k_vec
|
||||
targ_selvecs=m68kcoff_vec
|
||||
;;
|
||||
m68*-apple-aux*)
|
||||
targ_defvec=m68kaux_coff_vec
|
||||
;;
|
||||
m68*-*-psos*)
|
||||
targ_defvec=bfd_elf32_m68k_vec
|
||||
targ_selvecs=ieee_vec
|
||||
@ -823,6 +846,11 @@ case "${targ}" in
|
||||
targ_selvecs="mcore_pe_big_vec mcore_pe_little_vec mcore_pei_big_vec mcore_pei_little_vec"
|
||||
;;
|
||||
|
||||
mep-*-elf)
|
||||
targ_defvec=bfd_elf32_mep_vec
|
||||
targ_selvecs=bfd_elf32_mep_little_vec
|
||||
;;
|
||||
|
||||
mips*-big-*)
|
||||
targ_defvec=ecoff_big_vec
|
||||
targ_selvecs=ecoff_little_vec
|
||||
@ -847,6 +875,7 @@ case "${targ}" in
|
||||
mips*-*-irix6*)
|
||||
targ_defvec=bfd_elf32_nbigmips_vec
|
||||
targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
mips*-*-irix5*)
|
||||
@ -873,12 +902,24 @@ case "${targ}" in
|
||||
mips*el-*-vxworks*)
|
||||
targ_defvec=bfd_elf32_littlemips_vxworks_vec
|
||||
targ_selvecs="bfd_elf32_littlemips_vec bfd_elf32_bigmips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
||||
want64=true
|
||||
;;
|
||||
mips*-*-vxworks*)
|
||||
targ_defvec=bfd_elf32_bigmips_vxworks_vec
|
||||
targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
mips*el-sde-elf*)
|
||||
targ_defvec=bfd_elf32_tradlittlemips_vec
|
||||
targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
|
||||
want64=true
|
||||
;;
|
||||
mips*-sde-elf*)
|
||||
targ_defvec=bfd_elf32_tradbigmips_vec
|
||||
targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
|
||||
want64=true
|
||||
;;
|
||||
mips*el-*-elf* | mips*el-*-vxworks* | mips*-*-chorus*)
|
||||
targ_defvec=bfd_elf32_littlemips_vec
|
||||
targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
||||
@ -895,6 +936,7 @@ case "${targ}" in
|
||||
mips64*-*-openbsd*)
|
||||
targ_defvec=bfd_elf64_tradbigmips_vec
|
||||
targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
mips*el-*-openbsd*)
|
||||
@ -909,10 +951,12 @@ case "${targ}" in
|
||||
mips64*el-*-linux*)
|
||||
targ_defvec=bfd_elf32_ntradlittlemips_vec
|
||||
targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
|
||||
want64=true
|
||||
;;
|
||||
mips64*-*-linux*)
|
||||
targ_defvec=bfd_elf32_ntradbigmips_vec
|
||||
targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
mips*el-*-linux*)
|
||||
@ -929,6 +973,7 @@ case "${targ}" in
|
||||
mmix-*-*)
|
||||
targ_defvec=bfd_elf64_mmix_vec
|
||||
targ_selvecs=bfd_mmo_vec
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
mn10200-*-*)
|
||||
@ -961,7 +1006,7 @@ case "${targ}" in
|
||||
targ_defvec=bfd_elf32_openrisc_vec
|
||||
;;
|
||||
|
||||
or32-*-coff | or32-*-rtems* )
|
||||
or32-*-coff)
|
||||
targ_defvec=or32coff_big_vec
|
||||
targ_underscore=yes
|
||||
;;
|
||||
@ -1026,15 +1071,18 @@ case "${targ}" in
|
||||
powerpc64-*-aix*)
|
||||
targ_defvec=rs6000coff64_vec
|
||||
targ_selvecs=rs6000coff_vec
|
||||
want64=true
|
||||
;;
|
||||
powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \
|
||||
powerpc64-*-*bsd*)
|
||||
targ_defvec=bfd_elf64_powerpc_vec
|
||||
targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec"
|
||||
want64=true
|
||||
;;
|
||||
powerpc64le-*-elf* | powerpcle-*-elf64*)
|
||||
targ_defvec=bfd_elf64_powerpcle_vec
|
||||
targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec rs6000coff_vec rs6000coff64_vec"
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
|
||||
@ -1099,40 +1147,49 @@ case "${targ}" in
|
||||
s390x-*-linux*)
|
||||
targ_defvec=bfd_elf64_s390_vec
|
||||
targ_selvecs=bfd_elf32_s390_vec
|
||||
want64=true
|
||||
;;
|
||||
s390x-*-tpf*)
|
||||
targ_defvec=bfd_elf64_s390_vec
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
|
||||
score*-*-elf*)
|
||||
targ_defvec=bfd_elf32_bigscore_vec
|
||||
targ_selvecs=bfd_elf32_littlescore_vec
|
||||
;;
|
||||
|
||||
#ifdef BFD64
|
||||
sh64l*-*-elf*)
|
||||
targ_defvec=bfd_elf32_sh64l_vec
|
||||
targ_selvecs="bfd_elf32_sh64_vec bfd_elf64_sh64l_vec bfd_elf64_sh64_vec bfd_elf32_shl_vec bfd_elf32_sh_vec"
|
||||
targ_underscore=yes
|
||||
want64=true
|
||||
;;
|
||||
sh64-*-elf*)
|
||||
targ_defvec=bfd_elf32_sh64_vec
|
||||
targ_selvecs="bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec bfd_elf32_sh_vec bfd_elf32_shl_vec"
|
||||
targ_underscore=yes
|
||||
want64=true
|
||||
;;
|
||||
sh64eb-*-linux*)
|
||||
targ_defvec=bfd_elf32_sh64blin_vec
|
||||
targ_selvecs="bfd_elf32_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec"
|
||||
want64=true
|
||||
;;
|
||||
sh64-*-linux*)
|
||||
targ_defvec=bfd_elf32_sh64lin_vec
|
||||
targ_selvecs="bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf32_shlin_vec bfd_elf32_shblin_vec"
|
||||
want64=true
|
||||
;;
|
||||
sh-*-linux*)
|
||||
targ_defvec=bfd_elf32_shblin_vec
|
||||
targ_selvecs="bfd_elf32_shlin_vec bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
|
||||
want64=true
|
||||
;;
|
||||
#endif /* BFD64 */
|
||||
|
||||
sh-*-linux*)
|
||||
targ_defvec=bfd_elf32_shblin_vec
|
||||
targ_selvecs=bfd_elf32_shlin_vec
|
||||
#ifdef BFD64
|
||||
targ_selvecs="${targ_selvecs} bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
|
||||
#endif
|
||||
;;
|
||||
sh*eb-*-linux*)
|
||||
targ_defvec=bfd_elf32_shblin_vec
|
||||
targ_selvecs=bfd_elf32_shlin_vec
|
||||
@ -1142,40 +1199,49 @@ case "${targ}" in
|
||||
targ_selvecs=bfd_elf32_shblin_vec
|
||||
;;
|
||||
|
||||
sh-*-uclinux* | sh[12]-*-uclinux*)
|
||||
targ_defvec=bfd_elf32_sh_vec
|
||||
targ_selvecs="bfd_elf32_shblin_vec bfd_elf32_shlin_vec"
|
||||
#ifdef BFD64
|
||||
targ_selvecs="${targ_selvecs} bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
|
||||
#endif
|
||||
;;
|
||||
|
||||
#ifdef BFD64
|
||||
sh5le-*-netbsd*)
|
||||
targ_defvec=bfd_elf32_sh64lnbsd_vec
|
||||
targ_selvecs="bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
|
||||
want64=true
|
||||
;;
|
||||
sh5-*-netbsd*)
|
||||
targ_defvec=bfd_elf32_sh64nbsd_vec
|
||||
targ_selvecs="bfd_elf32_sh64lnbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
|
||||
want64=true
|
||||
;;
|
||||
|
||||
sh64le-*-netbsd*)
|
||||
targ_defvec=bfd_elf64_sh64lnbsd_vec
|
||||
targ_selvecs="bfd_elf64_sh64nbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
|
||||
want64=true
|
||||
;;
|
||||
sh64-*-netbsd*)
|
||||
targ_defvec=bfd_elf64_sh64nbsd_vec
|
||||
targ_selvecs="bfd_elf64_sh64lnbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
|
||||
sh*l*-*-netbsdelf*)
|
||||
targ_defvec=bfd_elf32_shlnbsd_vec
|
||||
targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec"
|
||||
#ifdef BFD64
|
||||
targ_selvecs="${targ_selvecs} bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
|
||||
#endif
|
||||
targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
|
||||
want64=true
|
||||
;;
|
||||
sh-*-netbsdelf*)
|
||||
targ_defvec=bfd_elf32_shnbsd_vec
|
||||
targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
|
||||
#ifdef BFD64
|
||||
targ_selvecs="${targ_selvecs} bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
|
||||
#endif
|
||||
targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
|
||||
sh*-*-netbsdelf*)
|
||||
targ_defvec=bfd_elf32_shnbsd_vec
|
||||
targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
|
||||
@ -1185,40 +1251,48 @@ case "${targ}" in
|
||||
targ_selvecs="shlcoff_vec shlcoff_small_vec"
|
||||
targ_underscore=yes
|
||||
;;
|
||||
|
||||
#ifdef BFD64
|
||||
shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*)
|
||||
targ_defvec=bfd_elf32_shl_vec
|
||||
targ_selvecs="bfd_elf32_sh_vec shlcoff_vec shcoff_vec shlcoff_small_vec shcoff_small_vec"
|
||||
#ifdef BFD64
|
||||
targ_selvecs="${targ_selvecs} bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
|
||||
#endif
|
||||
targ_selvecs="bfd_elf32_sh_vec shlcoff_vec shcoff_vec shlcoff_small_vec shcoff_small_vec bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
|
||||
targ_underscore=yes
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
|
||||
sh-*-rtemscoff*)
|
||||
targ_defvec=shcoff_vec
|
||||
targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
|
||||
targ_underscore=yes
|
||||
;;
|
||||
|
||||
#ifdef BFD64
|
||||
sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*)
|
||||
targ_defvec=bfd_elf32_sh_vec
|
||||
targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
|
||||
#ifdef BFD64
|
||||
targ_selvecs="${targ_selvecs} bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
|
||||
#endif
|
||||
targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
|
||||
targ_underscore=yes
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
|
||||
sh-*-nto*)
|
||||
targ_defvec=bfd_elf32_sh_vec
|
||||
targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
|
||||
targ_underscore=yes
|
||||
;;
|
||||
sh*-*-openbsd*)
|
||||
targ_defvec=bfd_elf32_shlnbsd_vec
|
||||
targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec"
|
||||
;;
|
||||
sh-*-pe)
|
||||
targ_defvec=shlpe_vec
|
||||
targ_selvecs="shlpe_vec shlpei_vec"
|
||||
targ_underscore=yes
|
||||
;;
|
||||
sh-*-vxworks)
|
||||
targ_defvec=bfd_elf32_sh_vec
|
||||
targ_selvecs="bfd_elf32_shl_vec"
|
||||
targ_defvec=bfd_elf32_shvxworks_vec
|
||||
targ_selvecs="bfd_elf32_shlvxworks_vec"
|
||||
# FIXME None of the following are actually used on this target, but
|
||||
# they're necessary for coff-sh.c (which is unconditionally used) to be
|
||||
# compiled correctly.
|
||||
@ -1279,6 +1353,7 @@ case "${targ}" in
|
||||
sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
|
||||
targ_defvec=bfd_elf32_sparc_vec
|
||||
targ_selvecs="bfd_elf64_sparc_vec sunos_big_vec"
|
||||
want64=true
|
||||
;;
|
||||
#endif
|
||||
sparc-*-sysv4*)
|
||||
@ -1296,14 +1371,17 @@ case "${targ}" in
|
||||
sparc64-*-aout*)
|
||||
targ_defvec=sunos_big_vec
|
||||
targ_underscore=yes
|
||||
want64=true
|
||||
;;
|
||||
sparc64-*-linux-*)
|
||||
targ_defvec=bfd_elf64_sparc_vec
|
||||
targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
|
||||
want64=true
|
||||
;;
|
||||
sparc64-*-elf*)
|
||||
targ_defvec=bfd_elf64_sparc_vec
|
||||
targ_selvecs=bfd_elf32_sparc_vec
|
||||
want64=true
|
||||
;;
|
||||
#endif /* BFD64 */
|
||||
sparc*-*-coff*)
|
||||
@ -1318,6 +1396,10 @@ case "${targ}" in
|
||||
targ_underscore=yes
|
||||
;;
|
||||
|
||||
spu-*-elf)
|
||||
targ_defvec=bfd_elf32_spu_vec
|
||||
;;
|
||||
|
||||
#if HAVE_host_aout_vec
|
||||
tahoe-*-*)
|
||||
targ_defvec=host_aout_vec
|
||||
|
119
bfd/config.in
119
bfd/config.in
@ -1,29 +1,9 @@
|
||||
/* config.in. Generated from configure.in by autoheader. */
|
||||
|
||||
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
|
||||
systems. This function is required for `alloca.c' support on those systems.
|
||||
*/
|
||||
#undef CRAY_STACKSEG_END
|
||||
|
||||
/* Define to 1 if using `alloca.c'. */
|
||||
#undef C_ALLOCA
|
||||
|
||||
/* Define to 1 if NLS is requested */
|
||||
/* Define to 1 if translation of program messages to the user's native
|
||||
language is requested. */
|
||||
#undef ENABLE_NLS
|
||||
|
||||
/* Define to 1 if you have `alloca', as a function or macro. */
|
||||
#undef HAVE_ALLOCA
|
||||
|
||||
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
|
||||
*/
|
||||
#undef HAVE_ALLOCA_H
|
||||
|
||||
/* Define to 1 if you have the <argz.h> header file. */
|
||||
#undef HAVE_ARGZ_H
|
||||
|
||||
/* Define to 1 if you have the `dcgettext' function. */
|
||||
#undef HAVE_DCGETTEXT
|
||||
|
||||
/* Define to 1 if you have the declaration of `basename', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_BASENAME
|
||||
@ -83,6 +63,9 @@
|
||||
*/
|
||||
#undef HAVE_DIRENT_H
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the `fcntl' function. */
|
||||
#undef HAVE_FCNTL
|
||||
|
||||
@ -107,33 +90,18 @@
|
||||
/* Define to 1 if you have the `ftello64' function. */
|
||||
#undef HAVE_FTELLO64
|
||||
|
||||
/* Define to 1 if you have the `getcwd' function. */
|
||||
#undef HAVE_GETCWD
|
||||
|
||||
/* Define to 1 if you have the `getgid' function. */
|
||||
#undef HAVE_GETGID
|
||||
|
||||
/* Define to 1 if you have the `getpagesize' function. */
|
||||
#undef HAVE_GETPAGESIZE
|
||||
|
||||
/* Define as 1 if you have gettext and don't want to use GNU gettext. */
|
||||
#undef HAVE_GETTEXT
|
||||
|
||||
/* Define to 1 if you have the `getuid' function. */
|
||||
#undef HAVE_GETUID
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define if your locale.h file contains LC_MESSAGES. */
|
||||
#undef HAVE_LC_MESSAGES
|
||||
|
||||
/* Define to 1 if you have the <limits.h> header file. */
|
||||
#undef HAVE_LIMITS_H
|
||||
|
||||
/* Define to 1 if you have the <locale.h> header file. */
|
||||
#undef HAVE_LOCALE_H
|
||||
|
||||
/* Define if <sys/procfs.h> has lwpstatus_t. */
|
||||
#undef HAVE_LWPSTATUS_T
|
||||
|
||||
@ -149,9 +117,6 @@
|
||||
/* Define to 1 if you have the `madvise' function. */
|
||||
#undef HAVE_MADVISE
|
||||
|
||||
/* Define to 1 if you have the <malloc.h> header file. */
|
||||
#undef HAVE_MALLOC_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
@ -161,15 +126,9 @@
|
||||
/* Define to 1 if you have the `mprotect' function. */
|
||||
#undef HAVE_MPROTECT
|
||||
|
||||
/* Define to 1 if you have the `munmap' function. */
|
||||
#undef HAVE_MUNMAP
|
||||
|
||||
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
|
||||
#undef HAVE_NDIR_H
|
||||
|
||||
/* Define to 1 if you have the <nl_types.h> header file. */
|
||||
#undef HAVE_NL_TYPES_H
|
||||
|
||||
/* Define if <sys/procfs.h> has prpsinfo32_t. */
|
||||
#undef HAVE_PRPSINFO32_T
|
||||
|
||||
@ -200,21 +159,12 @@
|
||||
/* Define if <sys/procfs.h> has pstatus_t. */
|
||||
#undef HAVE_PSTATUS_T
|
||||
|
||||
/* Define to 1 if you have the `putenv' function. */
|
||||
#undef HAVE_PUTENV
|
||||
|
||||
/* Define if <sys/procfs.h> has pxstatus_t. */
|
||||
#undef HAVE_PXSTATUS_T
|
||||
|
||||
/* Define to 1 if you have the `setenv' function. */
|
||||
#undef HAVE_SETENV
|
||||
|
||||
/* Define to 1 if you have the `setitimer' function. */
|
||||
#undef HAVE_SETITIMER
|
||||
|
||||
/* Define to 1 if you have the `setlocale' function. */
|
||||
#undef HAVE_SETLOCALE
|
||||
|
||||
/* Define to 1 if you have the <stddef.h> header file. */
|
||||
#undef HAVE_STDDEF_H
|
||||
|
||||
@ -224,15 +174,6 @@
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define if you have the stpcpy function */
|
||||
#undef HAVE_STPCPY
|
||||
|
||||
/* Define to 1 if you have the `strcasecmp' function. */
|
||||
#undef HAVE_STRCASECMP
|
||||
|
||||
/* Define to 1 if you have the `strchr' function. */
|
||||
#undef HAVE_STRCHR
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
@ -259,9 +200,6 @@
|
||||
*/
|
||||
#undef HAVE_SYS_NDIR_H
|
||||
|
||||
/* Define to 1 if you have the <sys/param.h> header file. */
|
||||
#undef HAVE_SYS_PARAM_H
|
||||
|
||||
/* Define to 1 if you have the <sys/procfs.h> header file. */
|
||||
#undef HAVE_SYS_PROCFS_H
|
||||
|
||||
@ -280,20 +218,12 @@
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to 1 if you have the <values.h> header file. */
|
||||
#undef HAVE_VALUES_H
|
||||
|
||||
/* Define if <sys/procfs.h> has win32_pstatus_t. */
|
||||
#undef HAVE_WIN32_PSTATUS_T
|
||||
|
||||
/* Define to 1 if you have the `__argz_count' function. */
|
||||
#undef HAVE___ARGZ_COUNT
|
||||
|
||||
/* Define to 1 if you have the `__argz_next' function. */
|
||||
#undef HAVE___ARGZ_NEXT
|
||||
|
||||
/* Define to 1 if you have the `__argz_stringify' function. */
|
||||
#undef HAVE___ARGZ_STRINGIFY
|
||||
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||
*/
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
@ -313,6 +243,12 @@
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* The size of a `char', as computed by sizeof. */
|
||||
#undef SIZEOF_CHAR
|
||||
|
||||
/* The size of a `int', as computed by sizeof. */
|
||||
#undef SIZEOF_INT
|
||||
|
||||
/* The size of a `long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG
|
||||
|
||||
@ -322,13 +258,11 @@
|
||||
/* The size of a `off_t', as computed by sizeof. */
|
||||
#undef SIZEOF_OFF_T
|
||||
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at run-time.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||
#undef STACK_DIRECTION
|
||||
/* The size of a `short', as computed by sizeof. */
|
||||
#undef SIZEOF_SHORT
|
||||
|
||||
/* The size of a `void *', as computed by sizeof. */
|
||||
#undef SIZEOF_VOID_P
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
@ -358,18 +292,3 @@
|
||||
#ifndef _GNU_SOURCE
|
||||
# undef _GNU_SOURCE
|
||||
#endif
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
|
||||
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||
#ifndef __cplusplus
|
||||
#undef inline
|
||||
#endif
|
||||
|
||||
/* Define to `long' if <sys/types.h> does not define. */
|
||||
#undef off_t
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
|
13961
bfd/configure
vendored
13961
bfd/configure
vendored
File diff suppressed because it is too large
Load Diff
108
bfd/configure.in
108
bfd/configure.in
@ -8,7 +8,7 @@ AC_CONFIG_SRCDIR([libbfd.c])
|
||||
AC_CANONICAL_TARGET
|
||||
AC_ISC_POSIX
|
||||
|
||||
AM_INIT_AUTOMAKE(bfd, 2.17)
|
||||
AM_INIT_AUTOMAKE(bfd, 2.17.50)
|
||||
|
||||
dnl These must be called before AM_PROG_LIBTOOL, because it may want
|
||||
dnl to call AC_CHECK_PROG.
|
||||
@ -19,7 +19,10 @@ dnl Default to a non shared library. This may be overridden by the
|
||||
dnl configure option --enable-shared.
|
||||
AM_DISABLE_SHARED
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
AC_PROG_CC
|
||||
AC_GNU_SOURCE
|
||||
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
AC_ARG_ENABLE(64-bit-bfd,
|
||||
[ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)],
|
||||
@ -63,6 +66,17 @@ if test $use_secureplt = true; then
|
||||
[Define if we should default to creating read-only plt entries])
|
||||
fi
|
||||
|
||||
DEBUGDIR=${libdir}/debug
|
||||
|
||||
AC_ARG_WITH(separate-debug-dir,
|
||||
AS_HELP_STRING([--with-separate-debug-dir=DIR],
|
||||
[Look for global separate debug info in DIR [[default=LIBDIR/debug]]]),
|
||||
[DEBUGDIR="${withval}"])
|
||||
AC_SUBST(DEBUGDIR)
|
||||
|
||||
ACX_PKGVERSION([GNU Binutils])
|
||||
ACX_BUGURL([http://www.sourceware.org/bugzilla/])
|
||||
|
||||
AM_BINUTILS_WARNINGS
|
||||
|
||||
AM_CONFIG_HEADER(config.h:config.in)
|
||||
@ -72,6 +86,7 @@ if test -z "$target" ; then
|
||||
fi
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
AM_CONDITIONAL(GENINSRC_NEVER, false)
|
||||
AM_INSTALL_LIBBFD
|
||||
AC_EXEEXT
|
||||
|
||||
@ -81,11 +96,9 @@ bfd_default_target_size=32
|
||||
|
||||
# host stuff:
|
||||
|
||||
AC_PROG_CC
|
||||
AC_GNU_SOURCE
|
||||
|
||||
ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi"
|
||||
CY_GNU_GETTEXT
|
||||
ZW_GNU_GETTEXT_SISTER_DIR
|
||||
AM_PO_SUBDIRS
|
||||
|
||||
# Permit host specific settings.
|
||||
. ${srcdir}/configure.host
|
||||
@ -135,6 +148,7 @@ BFD_CC_FOR_BUILD
|
||||
|
||||
AC_CHECK_HEADERS(stddef.h string.h strings.h stdlib.h time.h unistd.h)
|
||||
AC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h)
|
||||
GCC_HEADER_STDINT(bfd_stdint.h)
|
||||
AC_HEADER_TIME
|
||||
AC_HEADER_DIRENT
|
||||
ACX_HEADER_STRING
|
||||
@ -178,7 +192,9 @@ if test "${target}" = "${host}"; then
|
||||
alpha*-*-*) COREFILE=osf-core.lo ;;
|
||||
arm-*-freebsd* | arm-*-kfreebsd*-gnu)
|
||||
COREFILE='' ;;
|
||||
arm-*-netbsd*) COREFILE=netbsd-core.lo ;;
|
||||
arm-*-netbsd* | arm-*-openbsd*)
|
||||
COREFILE=netbsd-core.lo
|
||||
;;
|
||||
arm-*-riscix) COREFILE=trad-core.lo ;;
|
||||
hppa*-*-hpux*) COREFILE=hpux-core.lo ;;
|
||||
hppa*-*-hiux*) COREFILE=hpux-core.lo ;;
|
||||
@ -361,7 +377,9 @@ changequote([,])dnl
|
||||
powerpc-*-netbsd*) COREFILE=netbsd-core.lo ;;
|
||||
powerpc-*-*bsd*) COREFILE=netbsd-core.lo ;;
|
||||
s390*-*-*) COREFILE=trad-core.lo ;;
|
||||
sh*-*-netbsd*) COREFILE=netbsd-core.lo ;;
|
||||
sh*-*-netbsd* | sh*-*-openbsd*)
|
||||
COREFILE=netbsd-core.lo
|
||||
;;
|
||||
sparc-*-netbsd* | sparc*-*-openbsd*)
|
||||
COREFILE=netbsd-core.lo
|
||||
;;
|
||||
@ -551,7 +569,7 @@ selarchs="$f"
|
||||
# Target backend .o files.
|
||||
tb=
|
||||
|
||||
elf="elf.lo elflink.lo elf-strtab.lo elf-eh-frame.lo dwarf1.lo"
|
||||
elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo elf-eh-frame.lo dwarf1.lo"
|
||||
|
||||
for vec in $selvecs
|
||||
do
|
||||
@ -570,6 +588,10 @@ do
|
||||
arm_epoc_pe_little_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;;
|
||||
arm_epoc_pei_big_vec) tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;;
|
||||
arm_epoc_pei_little_vec) tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;;
|
||||
arm_wince_pe_big_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo cofflink.lo " ;;
|
||||
arm_wince_pe_little_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo cofflink.lo " ;;
|
||||
arm_wince_pei_big_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo cofflink.lo " ;;
|
||||
arm_wince_pei_little_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo cofflink.lo " ;;
|
||||
armcoff_big_vec) tb="$tb coff-arm.lo cofflink.lo " ;;
|
||||
armcoff_little_vec) tb="$tb coff-arm.lo cofflink.lo " ;;
|
||||
armnetbsd_vec) tb="$tb armnetbsd.lo aout32.lo" ;;
|
||||
@ -580,6 +602,7 @@ do
|
||||
b_out_vec_big_host) tb="$tb bout.lo aout32.lo" ;;
|
||||
b_out_vec_little_host) tb="$tb bout.lo aout32.lo" ;;
|
||||
bfd_efi_app_ia32_vec) tb="$tb efi-app-ia32.lo peigen.lo cofflink.lo" ;;
|
||||
bfd_efi_app_x86_64_vec) tb="$tb efi-app-x86_64.lo pex64igen.lo cofflink.lo" ;target_size=64;;
|
||||
bfd_efi_app_ia64_vec) tb="$tb efi-app-ia64.lo pepigen.lo cofflink.lo"; target_size=64 ;;
|
||||
bfd_elf32_am33lin_vec) tb="$tb elf32-am33lin.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_avr_vec) tb="$tb elf32-avr.lo elf32.lo $elf" ;;
|
||||
@ -595,6 +618,7 @@ do
|
||||
bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
|
||||
bfd_elf32_bigmips_vxworks_vec)
|
||||
tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
|
||||
bfd_elf32_cr16_vec) tb="$tb elf32-cr16.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_cr16c_vec) tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_crx_vec) tb="$tb elf32-crx.lo elf32.lo $elf" ;;
|
||||
@ -640,6 +664,8 @@ do
|
||||
bfd_elf32_m88k_vec) tb="$tb elf32-m88k.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_mcore_big_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_mcore_little_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_mep_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_mep_little_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_mn10200_vec) tb="$tb elf-m10200.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_mn10300_vec) tb="$tb elf-m10300.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_mt_vec) tb="$tb elf32-mt.lo elf32.lo $elf" ;;
|
||||
@ -656,24 +682,29 @@ do
|
||||
bfd_elf32_powerpcle_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_powerpc_vxworks_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_s390_vec) tb="$tb elf32-s390.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_bigscore_vec) tb="$tb elf32-score.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_littlescore_vec) tb="$tb elf32-score.lo elf32.lo $elf" ;;
|
||||
# FIXME: We include cofflink.lo not because it's needed for
|
||||
# bfd_elf32_sh64[l]_vec, but because we include bfd_elf32_sh[l]_vec
|
||||
# which needs it but does not list it. Should be fixed in right place.
|
||||
bfd_elf32_sh64_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
|
||||
bfd_elf32_sh64l_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
|
||||
bfd_elf32_sh64lin_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
|
||||
bfd_elf32_sh64blin_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
|
||||
bfd_elf32_sh64lnbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" ;;
|
||||
bfd_elf32_sh64nbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf32.lo $elf cofflink.lo" ;;
|
||||
bfd_elf32_sh_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo" ;;
|
||||
bfd_elf32_shblin_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
|
||||
bfd_elf32_shl_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo" ;;
|
||||
bfd_elf32_shl_symbian_vec) tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf32.lo $elf coff-sh.lo" ;;
|
||||
bfd_elf32_shlin_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
|
||||
bfd_elf32_shlnbsd_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
|
||||
bfd_elf32_shnbsd_vec) tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
|
||||
bfd_elf32_sh64_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
|
||||
bfd_elf32_sh64l_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
|
||||
bfd_elf32_sh64lin_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
|
||||
bfd_elf32_sh64blin_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;;
|
||||
bfd_elf32_sh64lnbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" ;;
|
||||
bfd_elf32_sh64nbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" ;;
|
||||
bfd_elf32_sh_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
|
||||
bfd_elf32_shblin_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
|
||||
bfd_elf32_shl_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
|
||||
bfd_elf32_shl_symbian_vec) tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
|
||||
bfd_elf32_shlin_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
|
||||
bfd_elf32_shlnbsd_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
|
||||
bfd_elf32_shlvxworks_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
|
||||
bfd_elf32_shnbsd_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;;
|
||||
bfd_elf32_shvxworks_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;;
|
||||
bfd_elf32_sparc_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_sparc_vxworks_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_spu_vec) tb="$tb elf32-spu.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_tradbigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
|
||||
bfd_elf32_tradlittlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;;
|
||||
bfd_elf32_us_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;;
|
||||
@ -705,8 +736,10 @@ do
|
||||
bfd_elf64_sh64lnbsd_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
|
||||
bfd_elf64_sh64nbsd_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
|
||||
bfd_elf64_sparc_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
|
||||
bfd_elf64_sparc_freebsd_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;;
|
||||
bfd_elf64_tradbigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
|
||||
bfd_elf64_tradlittlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
|
||||
bfd_elf64_x86_64_freebsd_vec) tb="$tb elf64-x86-64.lo elf64.lo $elf"; target_size=64 ;;
|
||||
bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf64.lo $elf"; target_size=64 ;;
|
||||
bfd_mmo_vec) tb="$tb mmo.lo" target_size=64 ;;
|
||||
bfd_powerpc_pe_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;;
|
||||
@ -729,6 +762,7 @@ do
|
||||
i386aout_vec) tb="$tb i386aout.lo aout32.lo" ;;
|
||||
i386bsd_vec) tb="$tb i386bsd.lo aout32.lo" ;;
|
||||
i386coff_vec) tb="$tb coff-i386.lo cofflink.lo" ;;
|
||||
x86_64coff_vec) tb="$tb coff-x86_64.lo cofflink.lo"; target_size=64 ;;
|
||||
i386dynix_vec) tb="$tb i386dynix.lo aout32.lo" ;;
|
||||
i386freebsd_vec) tb="$tb i386freebsd.lo aout32.lo" ;;
|
||||
i386linux_vec) tb="$tb i386linux.lo aout32.lo" ;;
|
||||
@ -740,6 +774,8 @@ do
|
||||
i386os9k_vec) tb="$tb i386os9k.lo aout32.lo" ;;
|
||||
i386pe_vec) tb="$tb pe-i386.lo peigen.lo cofflink.lo" ;;
|
||||
i386pei_vec) tb="$tb pei-i386.lo peigen.lo cofflink.lo" ;;
|
||||
x86_64pe_vec) tb="$tb pe-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;;
|
||||
x86_64pei_vec) tb="$tb pei-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;;
|
||||
i860coff_vec) tb="$tb coff-i860.lo cofflink.lo" ;;
|
||||
icoff_big_vec) tb="$tb coff-i960.lo cofflink.lo" ;;
|
||||
icoff_little_vec) tb="$tb coff-i960.lo cofflink.lo" ;;
|
||||
@ -890,7 +926,7 @@ fi # all_targets is true
|
||||
case ${host64}-${target64}-${want64} in
|
||||
*true*)
|
||||
wordsize=64
|
||||
bfd_libs='$(BFD64_LIBS) $(BFD32_LIBS)'
|
||||
bfd64_libs='$(BFD64_LIBS)'
|
||||
all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)'
|
||||
if test $BFD_HOST_64_BIT_DEFINED = 0; then
|
||||
AC_MSG_WARN([You have requested a 64 bit BFD configuration, but])
|
||||
@ -911,13 +947,12 @@ case ${host64}-${target64}-${want64} in
|
||||
;;
|
||||
false-false-false)
|
||||
wordsize=32
|
||||
bfd_libs='$(BFD32_LIBS)'
|
||||
all_backends='$(BFD32_BACKENDS)'
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST(wordsize)
|
||||
AC_SUBST(bfd_libs)
|
||||
AC_SUBST(bfd64_libs)
|
||||
AC_SUBST(all_backends)
|
||||
AC_SUBST(bfd_backends)
|
||||
AC_SUBST(bfd_machines)
|
||||
@ -962,7 +997,28 @@ esac
|
||||
|
||||
rm -f doc/config.status
|
||||
AC_CONFIG_FILES([Makefile doc/Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in])
|
||||
AC_CONFIG_COMMANDS([default],[[sed -e '/SRC-POTFILES =/r po/SRC-POTFILES' -e '/BLD-POTFILES =/r po/BLD-POTFILES' po/Makefile.in > po/Makefile]],[[]])
|
||||
|
||||
dnl We need this duplication, even though we use AM_PO_SUBDIRS, because of
|
||||
dnl our two separate POTFILES. Yuck.
|
||||
AC_CONFIG_COMMANDS([default],
|
||||
[[
|
||||
case "$srcdir" in
|
||||
.) srcdirpre= ;;
|
||||
*) srcdirpre='$(srcdir)/' ;;
|
||||
esac
|
||||
POFILES=
|
||||
GMOFILES=
|
||||
for lang in dummy $OBSOLETE_ALL_LINGUAS; do
|
||||
if test $lang != dummy; then
|
||||
POFILES="$POFILES $srcdirpre$lang.po"
|
||||
GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
|
||||
fi
|
||||
done
|
||||
sed -e '/SRC-POTFILES =/r po/SRC-POTFILES' \
|
||||
-e '/BLD-POTFILES =/r po/BLD-POTFILES' \
|
||||
-e "s,@POFILES@,$POFILES," \
|
||||
-e "s,@GMOFILES@,$GMOFILES," \
|
||||
po/Makefile.in > po/Makefile]],[[]])
|
||||
|
||||
dnl Required by html and install-html
|
||||
AC_SUBST(datarootdir)
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Core file generic interface routines for BFD.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 2000, 2001, 2002, 2003, 2005
|
||||
Free Software Foundation, Inc.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 2000, 2001, 2002, 2003, 2005,
|
||||
2007 Free Software Foundation, Inc.
|
||||
Written by Cygnus Support.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -30,8 +30,8 @@ DESCRIPTION
|
||||
These are functions pertaining to core files.
|
||||
*/
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
/*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the Alpha architecture.
|
||||
Copyright 1992, 1993, 1998, 2000, 2002, 2003
|
||||
Copyright 1992, 1993, 1998, 2000, 2002, 2003, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -18,8 +18,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
#define N(BITS_WORD, BITS_ADDR, NUMBER, PRINT, DEFAULT, NEXT) \
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* BFD support for the ARC processor
|
||||
Copyright 1994, 1995, 1997, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright 1994, 1995, 1997, 2001, 2002, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Doug Evans (dje@cygnus.com).
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -18,8 +19,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
#define ARC(mach, print_name, default_p, next) \
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the ARM processor
|
||||
Copyright 1994, 1997, 1999, 2000, 2002, 2003, 2004, 2005
|
||||
Copyright 1994, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
|
||||
|
||||
@ -19,8 +19,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
#include "libiberty.h"
|
||||
|
||||
@ -92,7 +92,8 @@ processors[] =
|
||||
{ bfd_mach_arm_4, "strongarm1100" },
|
||||
{ bfd_mach_arm_XScale, "xscale" },
|
||||
{ bfd_mach_arm_ep9312, "ep9312" },
|
||||
{ bfd_mach_arm_iWMMXt, "iwmmxt" }
|
||||
{ bfd_mach_arm_iWMMXt, "iwmmxt" },
|
||||
{ bfd_mach_arm_iWMMXt2, "iwmmxt2" }
|
||||
};
|
||||
|
||||
static bfd_boolean
|
||||
@ -137,7 +138,8 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
N (bfd_mach_arm_5TE, "armv5te", FALSE, & arch_info_struct[9]),
|
||||
N (bfd_mach_arm_XScale, "xscale", FALSE, & arch_info_struct[10]),
|
||||
N (bfd_mach_arm_ep9312, "ep9312", FALSE, & arch_info_struct[11]),
|
||||
N (bfd_mach_arm_iWMMXt,"iwmmxt", FALSE, NULL)
|
||||
N (bfd_mach_arm_iWMMXt, "iwmmxt", FALSE, & arch_info_struct[12]),
|
||||
N (bfd_mach_arm_iWMMXt2, "iwmmxt2", FALSE, NULL)
|
||||
};
|
||||
|
||||
const bfd_arch_info_type bfd_arm_arch =
|
||||
@ -179,7 +181,9 @@ bfd_arm_merge_machines (bfd *ibfd, bfd *obfd)
|
||||
Intel XScale binary, since these architecture have co-processors which
|
||||
will not both be present on the same physical hardware. */
|
||||
else if (in == bfd_mach_arm_ep9312
|
||||
&& (out == bfd_mach_arm_XScale || out == bfd_mach_arm_iWMMXt))
|
||||
&& (out == bfd_mach_arm_XScale
|
||||
|| out == bfd_mach_arm_iWMMXt
|
||||
|| out == bfd_mach_arm_iWMMXt2))
|
||||
{
|
||||
_bfd_error_handler (_("\
|
||||
ERROR: %B is compiled for the EP9312, whereas %B is compiled for XScale"),
|
||||
@ -188,7 +192,9 @@ ERROR: %B is compiled for the EP9312, whereas %B is compiled for XScale"),
|
||||
return FALSE;
|
||||
}
|
||||
else if (out == bfd_mach_arm_ep9312
|
||||
&& (in == bfd_mach_arm_XScale || in == bfd_mach_arm_iWMMXt))
|
||||
&& (in == bfd_mach_arm_XScale
|
||||
|| in == bfd_mach_arm_iWMMXt
|
||||
|| in == bfd_mach_arm_iWMMXt2))
|
||||
{
|
||||
_bfd_error_handler (_("\
|
||||
ERROR: %B is compiled for the EP9312, whereas %B is compiled for XScale"),
|
||||
@ -309,6 +315,7 @@ bfd_arm_update_notes (bfd *abfd, const char *note_section)
|
||||
case bfd_mach_arm_XScale: expected = "XScale"; break;
|
||||
case bfd_mach_arm_ep9312: expected = "ep9312"; break;
|
||||
case bfd_mach_arm_iWMMXt: expected = "iWMMXt"; break;
|
||||
case bfd_mach_arm_iWMMXt2: expected = "iWMMXt2"; break;
|
||||
}
|
||||
|
||||
if (strcmp (arch_string, expected) != 0)
|
||||
@ -355,7 +362,8 @@ architectures[] =
|
||||
{ "armv5te", bfd_mach_arm_5TE },
|
||||
{ "XScale", bfd_mach_arm_XScale },
|
||||
{ "ep9312", bfd_mach_arm_ep9312 },
|
||||
{ "iWMMXt", bfd_mach_arm_iWMMXt }
|
||||
{ "iWMMXt", bfd_mach_arm_iWMMXt },
|
||||
{ "iWMMXt2", bfd_mach_arm_iWMMXt2 }
|
||||
};
|
||||
|
||||
/* Extract the machine number stored in a note section. */
|
||||
@ -402,14 +410,22 @@ bfd_arm_get_mach_from_notes (bfd *abfd, const char *note_section)
|
||||
}
|
||||
|
||||
bfd_boolean
|
||||
bfd_is_arm_mapping_symbol_name (const char * name)
|
||||
bfd_is_arm_special_symbol_name (const char * name, int type)
|
||||
{
|
||||
/* The ARM compiler outputs several obsolete forms. Recognize them
|
||||
in addition to the standard $a, $t and $d. */
|
||||
return (name != NULL)
|
||||
&& (name[0] == '$')
|
||||
&& ((name[1] == 'a') || (name[1] == 't') || (name[1] == 'd')
|
||||
|| (name[1] == 'm') || (name[1] == 'f') || (name[1] == 'p'))
|
||||
&& (name[2] == 0 || name[2] == '.');
|
||||
in addition to the standard $a, $t and $d. We are somewhat loose
|
||||
in what we accept here, since the full set is not documented. */
|
||||
if (!name || name[0] != '$')
|
||||
return FALSE;
|
||||
if (name[1] == 'a' || name[1] == 't' || name[1] == 'd')
|
||||
type &= BFD_ARM_SPECIAL_SYM_TYPE_MAP;
|
||||
else if (name[1] == 'm' || name[1] == 'f' || name[1] == 'p')
|
||||
type &= BFD_ARM_SPECIAL_SYM_TYPE_TAG;
|
||||
else if (name[1] >= 'a' && name[1] <= 'z')
|
||||
type &= BFD_ARM_SPECIAL_SYM_TYPE_OTHER;
|
||||
else
|
||||
return FALSE;
|
||||
|
||||
return (type != 0 && (name[2] == 0 || name[2] == '.'));
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD library support routines for the AVR architecture.
|
||||
Copyright 1999, 2000, 2002, 2006 Free Software Foundation, Inc.
|
||||
Copyright 1999, 2000, 2002, 2006, 2007 Free Software Foundation, Inc.
|
||||
Contributed by Denis Chertykov <denisc@overta.ru>
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -18,8 +18,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
/* This routine is provided two arch_infos and works out which AVR
|
||||
@ -82,7 +82,10 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
N (16, bfd_mach_avr4, "avr:4", FALSE, & arch_info_struct[4]),
|
||||
|
||||
/* ATmega161, ATmega163, ATmega32, AT94K. */
|
||||
N (22, bfd_mach_avr5, "avr:5", FALSE, NULL)
|
||||
N (22, bfd_mach_avr5, "avr:5", FALSE, & arch_info_struct[5]),
|
||||
|
||||
/* ATmega256x. */
|
||||
N (22, bfd_mach_avr6, "avr:6", FALSE, NULL)
|
||||
};
|
||||
|
||||
const bfd_arch_info_type bfd_avr_arch =
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD Support for the ADI Blackfin processor.
|
||||
|
||||
Copyright 2005 Free Software Foundation, Inc.
|
||||
Copyright 2005, 2007 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
@ -19,8 +19,8 @@
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
const bfd_arch_info_type bfd_bfin_arch =
|
||||
|
40
bfd/cpu-cr16.c
Normal file
40
bfd/cpu-cr16.c
Normal file
@ -0,0 +1,40 @@
|
||||
/* BFD support for the CR16 processor.
|
||||
Copyright 2007 Free Software Foundation, Inc.
|
||||
Written by M R Swami Reddy
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
|
||||
const bfd_arch_info_type bfd_cr16_arch =
|
||||
{
|
||||
16, /* 16 bits in a word. */
|
||||
32, /* 32 bits in an address. */
|
||||
8, /* 8 bits in a byte. */
|
||||
bfd_arch_cr16, /* enum bfd_architecture arch. */
|
||||
bfd_mach_cr16,
|
||||
"cr16", /* Arch name. */
|
||||
"cr16", /* Printable name. */
|
||||
1, /* Unsigned int section alignment power. */
|
||||
TRUE, /* The one and only. */
|
||||
bfd_default_compatible,
|
||||
bfd_default_scan ,
|
||||
0,
|
||||
};
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the CR16C processor.
|
||||
Copyright 2004 Free Software Foundation, Inc.
|
||||
Copyright 2004, 2007 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
const bfd_arch_info_type bfd_cr16c_arch =
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* BFD support for the Axis CRIS architecture.
|
||||
Copyright 2000, 2002, 2004, 2005 Free Software Foundation, Inc.
|
||||
Copyright 2000, 2002, 2004, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Axis Communications AB.
|
||||
Written by Hans-Peter Nilsson.
|
||||
|
||||
@ -19,8 +20,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
/* This routine is provided two arch_infos and returns the lowest common
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the CRX processor.
|
||||
Copyright 2004 Free Software Foundation, Inc.
|
||||
Copyright 2004, 2007 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* BFD support for the D10V processor
|
||||
Copyright 1996, 1999, 2000, 2002, 2005 Free Software Foundation, Inc.
|
||||
Copyright 1996, 1999, 2000, 2002, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Martin Hunt (hunt@cygnus.com).
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -19,8 +20,8 @@
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
static const bfd_arch_info_type d10v_ts3_info =
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the Mitsubishi D30V processor
|
||||
Copyright 1997, 2002, 2005 Free Software Foundation, Inc.
|
||||
Copyright 1997, 2002, 2005, 2007 Free Software Foundation, Inc.
|
||||
Contributed by Martin Hunt (hunt@cygnus.com).
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -19,8 +19,8 @@
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
const bfd_arch_info_type bfd_d30v_arch =
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the DLX Microprocessor architecture.
|
||||
Copyright 2002 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007 Free Software Foundation, Inc.
|
||||
Hacked by Kuang Hwa Lin <kuang@sbcglobal.net>
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -18,8 +18,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
const bfd_arch_info_type bfd_dlx_arch =
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the FR30 processor.
|
||||
Copyright 1998, 2002 Free Software Foundation, Inc.
|
||||
Copyright 1998, 2002, 2007 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
@ -17,8 +17,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
const bfd_arch_info_type bfd_fr30_arch =
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the FRV processor.
|
||||
Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
@ -17,8 +17,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
#define FRV_ARCH(MACHINE, NAME, DEFAULT, NEXT) \
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* BFD library support routines for the Renesas H8/300 architecture.
|
||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 2000, 2001, 2002,
|
||||
2003, 2004 Free Software Foundation, Inc.
|
||||
2003, 2004, 2007 Free Software Foundation, Inc.
|
||||
Hacked by Steve Chamberlain of Cygnus Support.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -19,8 +19,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
static bfd_boolean
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD library support routines for the H8/500 architecture.
|
||||
Copyright 1993, 1995, 1999, 2000, 2001, 2002, 2003, 2005
|
||||
Copyright 1993, 1995, 1999, 2000, 2001, 2002, 2003, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Hacked by Steve Chamberlain of Cygnus Support.
|
||||
|
||||
@ -19,8 +19,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
static bfd_boolean scan_mach
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the HP Precision Architecture architecture.
|
||||
Copyright 1992, 1995, 1998, 1999, 2000, 2002, 2003
|
||||
Copyright 1992, 1995, 1998, 1999, 2000, 2002, 2003, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -18,8 +18,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
static const bfd_arch_info_type bfd_hppa10_arch =
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD i370 CPU definition
|
||||
Copyright 1994, 1995, 1996, 1998, 1999, 2000, 2002, 2005
|
||||
Copyright 1994, 1995, 1996, 1998, 1999, 2000, 2002, 2005, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Ian Lance Taylor, Cygnus Support.
|
||||
Hacked by Linas Vepstas <linas@linas.org> in 1998, 1999
|
||||
@ -21,8 +21,8 @@
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
static const bfd_arch_info_type arch_info_struct[] =
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the Intel 386 architecture.
|
||||
Copyright 1992, 1994, 1995, 1996, 1998, 2000, 2001, 2002, 2004
|
||||
Copyright 1992, 1994, 1995, 1996, 1998, 2000, 2001, 2002, 2004, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -18,8 +18,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
const bfd_arch_info_type bfd_x86_64_arch_intel_syntax =
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* BFD support for the Intel 860 architecture.
|
||||
Copyright 1992, 1995, 2000, 2002 Free Software Foundation, Inc.
|
||||
Copyright 1992, 1995, 2000, 2002, 2007
|
||||
Free Software Foundation, Inc.
|
||||
Created mostly by substituting "860" for "386" in cpu-i386.c
|
||||
Harry Dolan <dolan@ssd.intel.com>, October 1995
|
||||
|
||||
@ -19,8 +20,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
const bfd_arch_info_type bfd_i860_arch =
|
||||
|
@ -1,26 +1,26 @@
|
||||
/* BFD library support routines for the i960 architecture.
|
||||
Copyright 1990, 1991, 1993, 1994, 1996, 1999, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
Copyright 1990, 1991, 1993, 1994, 1996, 1999, 2000, 2001, 2002, 2006,
|
||||
2007 Free Software Foundation, Inc.
|
||||
Hacked by Steve Chamberlain of Cygnus Support.
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
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 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.
|
||||
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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
static bfd_boolean scan_960_mach
|
||||
@ -57,7 +57,7 @@ scan_960_mach (ap, string)
|
||||
}
|
||||
/* In some bfds the cpu-id is written as "80960KA", "80960KB",
|
||||
"80960CA" or "80960MC". */
|
||||
else if (strncmp ("80960", string, 5) == 0)
|
||||
else if (CONST_STRNEQ (string, "80960"))
|
||||
{
|
||||
string += 5;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* BFD support for the ia64 architecture.
|
||||
Copyright 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
|
||||
Copyright 1998, 1999, 2000, 2002, 2007 Free Software Foundation, Inc.
|
||||
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
@ -18,8 +18,8 @@ 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "bfd.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
const bfd_arch_info_type bfd_ia64_elf32_arch =
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user