mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-04 22:55:53 +00:00
Compare commits
2 Commits
cgen-snaps
...
binutils-a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0ee8d3c039 | ||
|
|
e7c73f57df |
123
COPYING.LIBGLOSS
123
COPYING.LIBGLOSS
@@ -6,7 +6,7 @@ notices will apply to the contents of the libgloss subdirectory:
|
||||
|
||||
(1) Red Hat Incorporated
|
||||
|
||||
Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved.
|
||||
Copyright (c) 1994-2007 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
|
||||
@@ -58,10 +58,27 @@ 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.
|
||||
|
||||
(4) (formerly GPL for fr30)
|
||||
(4) GPL (fr30 directory only)
|
||||
|
||||
The GPL is no longer applicable to the fr30 platform. The piece of
|
||||
code (syscalls.c) referencing the GPL has been officially relicensed.
|
||||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
Contributed by Cygnus Solutions.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC 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, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU CC 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 GNU CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
|
||||
(5) Advanced Micro Devices
|
||||
|
||||
@@ -187,101 +204,3 @@ 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.
|
||||
|
||||
(12) Jon Beniston (only lm32-* targets)
|
||||
|
||||
Contributed by Jon Beniston <jon@beniston.com>
|
||||
|
||||
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.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
|
||||
|
||||
(13) - Xilinx, Inc. (microblaze-* and powerpc-* targets)
|
||||
|
||||
Copyright (c) 2004, 2009 Xilinx, Inc. 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 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 Xilinx 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 COPYRIGHT HOLDER 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
|
||||
HOLDER 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.
|
||||
|
||||
|
||||
(14) - National Semiconductor Corporation
|
||||
|
||||
Copyright (c) 2004 National Semiconductor Corporation
|
||||
|
||||
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.
|
||||
|
||||
|
||||
(15) - CodeSourcery, Inc. (tic6x-* targets)
|
||||
|
||||
Copyright (c) 2010 CodeSourcery, Inc.
|
||||
All rights reserved.
|
||||
|
||||
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 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 CodeSourcery 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 CODESOURCERY, INC. ``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 CODESOURCERY 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.
|
||||
|
||||
241
COPYING.NEWLIB
241
COPYING.NEWLIB
@@ -6,7 +6,7 @@ notices will apply to the contents of the newlib subdirectory:
|
||||
|
||||
(1) Red Hat Incorporated
|
||||
|
||||
Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved.
|
||||
Copyright (c) 1994-2007 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
|
||||
@@ -637,243 +637,4 @@ SUCH DAMAGE.
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
(30) - Alex Tatmanjants (targets using libc/posix)
|
||||
|
||||
Copyright (c) 1995 Alex Tatmanjants <alex@elvisti.kiev.ua>
|
||||
at Electronni Visti IA, Kiev, Ukraine.
|
||||
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.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
|
||||
(31) - M. Warner Losh (targets using libc/posix)
|
||||
|
||||
Copyright (c) 1998, M. Warner Losh <imp@freebsd.org>
|
||||
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.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
|
||||
|
||||
(32) - Andrey A. Chernov (targets using libc/posix)
|
||||
|
||||
Copyright (C) 1996 by Andrey A. Chernov, Moscow, Russia.
|
||||
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.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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.
|
||||
|
||||
(33) - Daniel Eischen (targets using libc/posix)
|
||||
|
||||
Copyright (c) 2001 Daniel Eischen <deischen@FreeBSD.org>.
|
||||
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.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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.
|
||||
|
||||
|
||||
(34) - Jon Beniston (only lm32-* targets)
|
||||
|
||||
Contributed by Jon Beniston <jon@beniston.com>
|
||||
|
||||
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.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
|
||||
|
||||
|
||||
(35) - ARM Ltd (arm and thumb variant targets only)
|
||||
|
||||
Copyright (c) 2009 ARM Ltd
|
||||
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. The name of the company may not be used to endorse or promote
|
||||
products derived from this software without specific prior written
|
||||
permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY ARM LTD ``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 ARM LTD 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.
|
||||
|
||||
(36) - Xilinx, Inc. (microblaze-* and powerpc-* targets)
|
||||
|
||||
Copyright (c) 2004, 2009 Xilinx, Inc. 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 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 Xilinx 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 COPYRIGHT HOLDER 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
|
||||
HOLDER 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.
|
||||
|
||||
|
||||
(37) Texas Instruments Incorporated (tic6x-* targets)
|
||||
|
||||
Copyright (c) 1996-2010 Texas Instruments Incorporated
|
||||
http://www.ti.com/
|
||||
|
||||
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 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 Texas Instruments Incorporated 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 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.
|
||||
|
||||
(38) National Semiconductor (cr16-* and crx-* targets)
|
||||
|
||||
Copyright (c) 2004 National Semiconductor Corporation
|
||||
|
||||
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.
|
||||
|
||||
|
||||
57
MAINTAINERS
57
MAINTAINERS
@@ -10,20 +10,20 @@ Makefile.*; configure; configure.ac; src-release
|
||||
be kept in sync with their counterparts in the GCC
|
||||
repository. Also please notify the following of
|
||||
any committed patches:
|
||||
binutils@sourceware.org
|
||||
gdb-patches@sourceware.org
|
||||
binutils@sources.redhat.com
|
||||
gdb-patches@sources.redhat.com
|
||||
|
||||
bfd/; binutils/; elfcpp/; gas/; gold/; gprof/; ld/; opcodes/; cpu/;
|
||||
BFD's part of include/
|
||||
|
||||
binutils: http://sourceware.org/binutils/
|
||||
Patches to binutils@sourceware.org.
|
||||
binutils: http://sources.redhat.com/binutils/
|
||||
Patches to binutils@sources.redhat.com.
|
||||
Please notify the following of any interface changes:
|
||||
gdb-patches@sourceware.org
|
||||
gdb-patches@sources.redhat.com
|
||||
|
||||
cgen/; cgen parts of opcodes/, sim/ & include/
|
||||
cgen: http://sourceware.org/cgen/
|
||||
Patches to cgen@sourceware.org
|
||||
cgen: http://sources.redhat.com/cgen/
|
||||
Patches to cgen@sources.redhat.com
|
||||
May need separate opcodes/ or sim/ approval for
|
||||
commits of regenerated files there.
|
||||
|
||||
@@ -35,15 +35,15 @@ config.guess; config.sub; readline/support/config.{sub,guess}
|
||||
in via a merge. When updating any of these files, please be
|
||||
sure to update all of them.
|
||||
Please notify the following of any committed patches:
|
||||
binutils@sourceware.org
|
||||
gdb-patches@sourceware.org
|
||||
binutils@sources.redhat.com
|
||||
gdb-patches@sources.redhat.com
|
||||
|
||||
depcomp; mkinstalldirs
|
||||
depcomp
|
||||
Send bug reports and patches to bug-automake@gnu.org.
|
||||
|
||||
gdb/; readline/; sim/; GDB's part of include/
|
||||
GDB: http://www.gnu.org/software/gdb/
|
||||
Patches to gdb-patches@sourceware.org.
|
||||
Patches to gdb-patches@sources.redhat.com.
|
||||
See also gdb/MAINTAINERS and sim/MAINTAINERS.
|
||||
|
||||
include/
|
||||
@@ -69,20 +69,24 @@ ltconfig; ltmain.sh; ltcf-*.sh
|
||||
sources or submitted to the master file maintainer and brought
|
||||
in via a merge.
|
||||
|
||||
move-if-change
|
||||
Send bug reports and patches to bug-gnulib@gnu.org.
|
||||
mkinstalldirs; move-if-change
|
||||
autoconf: http://gnu.org
|
||||
Patches to autoconf-patches@gnu.org.
|
||||
Changes need to be done in tandem with the official AUTOCONF
|
||||
sources or submitted to the master file maintainer and brought
|
||||
in via a merge.
|
||||
|
||||
symlink-tree
|
||||
gcc: http://gcc.gnu.org
|
||||
See libiberty.
|
||||
|
||||
newlib/; libgloss/
|
||||
http://sourceware.org/newlib/
|
||||
Patches to newlib@sourceware.org.
|
||||
http://sources.redhat.com/newlib/
|
||||
Patches to newlib@sources.redhat.com.
|
||||
|
||||
sid/; SID's part of cgen/
|
||||
sid: http://sourceware.org/sid/
|
||||
Patches to sid@sourceware.org
|
||||
sid: http://sources.redhat.com/sid/
|
||||
Patches to sid@sources.redhat.com
|
||||
|
||||
texinfo/texinfo.tex
|
||||
texinfo: http://ftp.gnu.org.
|
||||
@@ -91,13 +95,14 @@ texinfo/texinfo.tex
|
||||
Please not use GCC's texinfo. Please do not import texinfo.
|
||||
|
||||
tcl/; tix/; itcl/; tk/; libgui/
|
||||
insight: http://sourceware.org/insight/
|
||||
Contact insight@sourceware.org.
|
||||
insight: http://sources.redhat.com/insight/
|
||||
Contact insight@sources.redhat.com.
|
||||
|
||||
winsup/
|
||||
cygwin: http://sourceware.org/cygwin
|
||||
Patches to cygwin-patches@cygwin.com.
|
||||
General discussion cygwin@cygwin.com.
|
||||
cygwin: http://sources.redhat.com/cygwin
|
||||
Patches to cygwin-patches@sources.redhat.com.
|
||||
General discussion cygwin@sources.redhat.com.
|
||||
See also winsup/MAINTAINERS.
|
||||
|
||||
config-ml.in; makefile.vms; mkdep; setup.com;
|
||||
etc/; utils/;
|
||||
@@ -112,9 +117,11 @@ config/
|
||||
counterparts in the GCC repository.
|
||||
|
||||
modules file
|
||||
If you understand the file format (or can cut-and-paste existing
|
||||
entries), modify it. If it scares you, get someone who does
|
||||
understand it to help you. Be prepared to fix it if you do break it.
|
||||
Obviously changes to this file should not go through
|
||||
overseers@sources.redhat.com. If you understand the file
|
||||
format (or can cut-and-paste existing entries), modify it. If
|
||||
it scares you, get someone who does understand it to help you.
|
||||
Be prepared to fix it if you do break it.
|
||||
|
||||
/* Local variables: */
|
||||
/* change-log-default-name: "/dev/null" */
|
||||
|
||||
273
Makefile.def
273
Makefile.def
@@ -4,12 +4,11 @@ AutoGen definitions Makefile.tpl;
|
||||
// Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
|
||||
// This file was originally written by Nathanael Nerode.
|
||||
//
|
||||
// Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||||
// Free Software Foundation
|
||||
// Copyright 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation
|
||||
//
|
||||
// This file is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 3 of the License, or
|
||||
// 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,
|
||||
@@ -18,8 +17,8 @@ AutoGen definitions Makefile.tpl;
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; see the file COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
|
||||
// "missing" indicates that that module doesn't supply
|
||||
@@ -27,53 +26,54 @@ AutoGen definitions Makefile.tpl;
|
||||
|
||||
build_modules= { module= libiberty; };
|
||||
build_modules= { module= bison; };
|
||||
build_modules= { module= byacc; };
|
||||
build_modules= { module= flex; };
|
||||
build_modules= { module= m4; };
|
||||
build_modules= { module= texinfo; };
|
||||
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=.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= cgen; };
|
||||
host_modules= { module= byacc; no_check_cross= true; };
|
||||
host_modules= { module= bzip2; };
|
||||
host_modules= { module= dejagnu; };
|
||||
host_modules= { module= diff; };
|
||||
host_modules= { module= dosutils; no_check= true; };
|
||||
host_modules= { module= etc; };
|
||||
host_modules= { module= fastjar; no_check_cross= true; };
|
||||
host_modules= { module= fileutils; };
|
||||
host_modules= { module= findutils; };
|
||||
host_modules= { module= find; };
|
||||
host_modules= { module= fixincludes;
|
||||
missing= TAGS; };
|
||||
host_modules= { module= flex; no_check_cross= true; };
|
||||
host_modules= { module= gas; bootstrap=true; };
|
||||
host_modules= { module= gcc; bootstrap=true;
|
||||
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;
|
||||
// none-*-* disables asm optimizations, bootstrap-testing
|
||||
// the compiler more thoroughly.
|
||||
no_install= true;
|
||||
host="none-${host_vendor}-${host_os}";
|
||||
// gmp's configure will complain if given anything
|
||||
// different from host for target.
|
||||
target="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 @extra_mpfr_configure_flags@';
|
||||
no_install= true; };
|
||||
host_modules= { module= mpc; lib_path=.libs; bootstrap=true;
|
||||
extra_configure_flags='--disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@';
|
||||
no_install= true; };
|
||||
host_modules= { module= ppl; lib_path=src/.libs; bootstrap=true;
|
||||
extra_configure_flags='--disable-shared --with-libgmp-prefix=$$r/$(HOST_SUBDIR)/gmp/ --with-libgmpxx-prefix=$$r/$(HOST_SUBDIR)/gmp/';
|
||||
no_install= true; };
|
||||
host_modules= { module= cloog; lib_path=.libs; bootstrap=true;
|
||||
extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp --with-ppl';
|
||||
extra_exports='CPPFLAGS="${CPPFLAGS} ${HOST_PPLINC}"; export CPPFLAGS; LDFLAGS="$$LDFLAGS ${HOST_PPLLIBS}"; export LDFLAGS; ';
|
||||
extra_make_flags='CPPFLAGS="${CPPFLAGS} ${HOST_PPLINC}" LDFLAGS="$$LDFLAGS"';
|
||||
no_install= true; };
|
||||
host_modules= { module= libelf; lib_path=.libs; bootstrap=true;
|
||||
extra_configure_flags='--disable-shared';
|
||||
no_install= 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= gold; bootstrap=true; };
|
||||
host_modules= { module= gprof; };
|
||||
host_modules= { module= gzip; };
|
||||
host_modules= { module= hello; };
|
||||
host_modules= { module= indent; };
|
||||
host_modules= { module= intl; bootstrap=true; };
|
||||
host_modules= { module= tcl;
|
||||
missing=mostlyclean; };
|
||||
@@ -82,26 +82,35 @@ host_modules= { module= ld; bootstrap=true; };
|
||||
host_modules= { module= libcpp; bootstrap=true; };
|
||||
host_modules= { module= libdecnumber; bootstrap=true; };
|
||||
host_modules= { module= libgui; };
|
||||
host_modules= { module= libiberty; bootstrap=true;
|
||||
extra_configure_flags='@extra_host_libiberty_configure_flags@';};
|
||||
// We abuse missing to avoid installing anything for libiconv.
|
||||
host_modules= { module= libiconv;
|
||||
extra_configure_flags='--disable-shared';
|
||||
no_install= true;
|
||||
missing= install-info;
|
||||
missing= install-pdf;
|
||||
missing= install-html;
|
||||
missing= install-info; };
|
||||
host_modules= { module= libiberty; bootstrap=true; };
|
||||
host_modules= { module= libtool; };
|
||||
host_modules= { module= m4; };
|
||||
host_modules= { module= make; };
|
||||
host_modules= { module= mmalloc; no_check=true; };
|
||||
host_modules= { module= patch; };
|
||||
host_modules= { module= perl; };
|
||||
host_modules= { module= prms; };
|
||||
host_modules= { module= rcs; };
|
||||
host_modules= { module= readline; };
|
||||
host_modules= { module= release; no_install= true; no_check= true; };
|
||||
host_modules= { module= recode; };
|
||||
host_modules= { module= sed; };
|
||||
host_modules= { module= send-pr; };
|
||||
host_modules= { module= shellutils; };
|
||||
host_modules= { module= sid; };
|
||||
host_modules= { module= sim; };
|
||||
host_modules= { module= tar; };
|
||||
host_modules= { module= texinfo; no_install= true; };
|
||||
host_modules= { module= textutils; };
|
||||
host_modules= { module= time; };
|
||||
host_modules= { module= uudecode; };
|
||||
host_modules= { module= wdiff; };
|
||||
host_modules= { module= zip; no_check_cross=true; };
|
||||
host_modules= { module= zlib; no_install=true; no_check=true; bootstrap=true; };
|
||||
host_modules= { module= gdb; };
|
||||
host_modules= { module= expect; };
|
||||
host_modules= { module= guile; };
|
||||
host_modules= { module= tk; };
|
||||
host_modules= { module= gdb; extra_make_flags="$(X11_FLAGS_TO_PASS)"; };
|
||||
host_modules= { module= expect; extra_make_flags="$(X11_FLAGS_TO_PASS)"; };
|
||||
host_modules= { module= guile; extra_make_flags="$(X11_FLAGS_TO_PASS)"; };
|
||||
host_modules= { module= tk; extra_make_flags="$(X11_FLAGS_TO_PASS)"; };
|
||||
host_modules= { module= libtermcap; no_check=true;
|
||||
missing=mostlyclean;
|
||||
missing=clean;
|
||||
@@ -109,21 +118,14 @@ host_modules= { module= libtermcap; no_check=true;
|
||||
missing=maintainer-clean; };
|
||||
host_modules= { module= utils; no_check=true; };
|
||||
host_modules= { module= gnattools; };
|
||||
host_modules= { module= lto-plugin; bootstrap=true;
|
||||
extra_configure_flags=--enable-shared; };
|
||||
|
||||
target_modules = { module= libstdc++-v3;
|
||||
bootstrap=true;
|
||||
lib_path=src/.libs;
|
||||
raw_cxx=true; };
|
||||
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= newlib; };
|
||||
target_modules = { module= libgcc; bootstrap=true; no_check=true; };
|
||||
target_modules = { module= libquadmath; };
|
||||
target_modules = { module= libgfortran; };
|
||||
target_modules = { module= libobjc; };
|
||||
target_modules = { module= libgo; };
|
||||
target_modules = { module= libtermcap; no_check=true;
|
||||
missing=mostlyclean;
|
||||
missing=clean;
|
||||
@@ -132,13 +134,16 @@ target_modules = { module= libtermcap; no_check=true;
|
||||
target_modules = { module= winsup; };
|
||||
target_modules = { module= libgloss; no_check=true; };
|
||||
target_modules = { module= libiberty; };
|
||||
target_modules = { module= gperf; };
|
||||
target_modules = { module= examples; no_check=true; no_install=true; };
|
||||
target_modules = { module= libffi; };
|
||||
target_modules = { module= libjava; raw_cxx=true; };
|
||||
target_modules = { module= zlib; };
|
||||
target_modules = { module= boehm-gc; };
|
||||
target_modules = { module= qthreads; };
|
||||
target_modules = { module= rda; };
|
||||
target_modules = { module= libada; };
|
||||
target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
|
||||
target_modules = { module= libgomp; lib_path=.libs; };
|
||||
|
||||
// These are (some of) the make targets to be done in each subdirectory.
|
||||
// Not all; these are the ones which don't have special options.
|
||||
@@ -200,7 +205,6 @@ flags_to_pass = { flag= build_tooldir ; };
|
||||
flags_to_pass = { flag= target_alias ; };
|
||||
|
||||
// Build tools
|
||||
flags_to_pass = { flag= AWK ; };
|
||||
flags_to_pass = { flag= BISON ; };
|
||||
flags_to_pass = { flag= CC_FOR_BUILD ; };
|
||||
flags_to_pass = { flag= CFLAGS_FOR_BUILD ; };
|
||||
@@ -217,7 +221,6 @@ flags_to_pass = { flag= M4 ; };
|
||||
flags_to_pass = { flag= MAKE ; };
|
||||
flags_to_pass = { flag= RUNTEST ; };
|
||||
flags_to_pass = { flag= RUNTESTFLAGS ; };
|
||||
flags_to_pass = { flag= SED ; };
|
||||
flags_to_pass = { flag= SHELL ; };
|
||||
flags_to_pass = { flag= YACC ; };
|
||||
|
||||
@@ -233,8 +236,12 @@ flags_to_pass = { flag= CXXFLAGS ; };
|
||||
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= STAGE2_CFLAGS ; };
|
||||
flags_to_pass = { flag= STAGE3_CFLAGS ; };
|
||||
flags_to_pass = { flag= STAGE4_CFLAGS ; };
|
||||
flags_to_pass = { flag= GNATBIND ; };
|
||||
flags_to_pass = { flag= GNATMAKE ; };
|
||||
|
||||
@@ -244,13 +251,11 @@ flags_to_pass = { flag= AS_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= CC_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= CFLAGS_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= CPPFLAGS_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= CXX_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= CXXFLAGS_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= FLAGS_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= GCJ_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= GOC_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= LD_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= LIPO_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
|
||||
@@ -264,7 +269,6 @@ flags_to_pass = { flag= WINDRES_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= WINDMC_FOR_TARGET ; };
|
||||
|
||||
// Miscellaneous
|
||||
flags_to_pass = { flag= BUILD_CONFIG ; };
|
||||
flags_to_pass = { flag= LANGUAGES ; optional=true ; };
|
||||
flags_to_pass = { flag= LEAN ; };
|
||||
|
||||
@@ -272,8 +276,10 @@ flags_to_pass = { flag= LEAN ; };
|
||||
|
||||
// Build modules
|
||||
dependencies = { module=all-build-bison; on=all-build-texinfo; };
|
||||
dependencies = { module=all-build-byacc; on=all-build-texinfo; };
|
||||
dependencies = { module=all-build-flex; on=all-build-texinfo; };
|
||||
dependencies = { module=all-build-flex; on=all-build-bison; };
|
||||
dependencies = { module=all-build-flex; on=all-build-byacc; };
|
||||
dependencies = { module=all-build-flex; on=all-build-m4; };
|
||||
dependencies = { module=all-build-libiberty; on=all-build-texinfo; };
|
||||
dependencies = { module=all-build-m4; on=all-build-texinfo; };
|
||||
@@ -281,21 +287,17 @@ dependencies = { module=all-build-fixincludes; on=all-build-libiberty; };
|
||||
|
||||
// Host modules specific to gcc.
|
||||
dependencies = { module=configure-gcc; on=configure-intl; };
|
||||
dependencies = { module=configure-gcc; on=all-lto-plugin; };
|
||||
dependencies = { module=configure-gcc; on=all-binutils; };
|
||||
dependencies = { module=configure-gcc; on=all-gas; };
|
||||
dependencies = { module=configure-gcc; on=all-ld; };
|
||||
dependencies = { module=configure-gcc; on=all-gold; };
|
||||
dependencies = { module=configure-gcc; on=all-libelf; };
|
||||
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-mpc; };
|
||||
dependencies = { module=all-gcc; on=all-ppl; };
|
||||
dependencies = { module=all-gcc; on=all-cloog; };
|
||||
dependencies = { module=all-gcc; on=all-build-texinfo; };
|
||||
dependencies = { module=all-gcc; on=all-build-bison; };
|
||||
dependencies = { module=all-gcc; on=all-build-byacc; };
|
||||
dependencies = { module=all-gcc; on=all-build-flex; };
|
||||
dependencies = { module=all-gcc; on=all-build-libiberty; };
|
||||
dependencies = { module=all-gcc; on=all-build-fixincludes; };
|
||||
@@ -304,14 +306,7 @@ dependencies = { module=all-gcc; on=all-libcpp; hard=true; };
|
||||
dependencies = { module=all-gcc; on=all-libdecnumber; hard=true; };
|
||||
dependencies = { module=all-gcc; on=all-libiberty; };
|
||||
dependencies = { module=all-gcc; on=all-fixincludes; };
|
||||
dependencies = { module=all-gcc; on=all-lto-plugin; };
|
||||
dependencies = { module=info-gcc; on=all-build-libiberty; };
|
||||
dependencies = { module=dvi-gcc; on=all-build-libiberty; };
|
||||
dependencies = { module=pdf-gcc; on=all-build-libiberty; };
|
||||
dependencies = { module=html-gcc; on=all-build-libiberty; };
|
||||
dependencies = { module=install-gcc ; on=install-fixincludes; };
|
||||
dependencies = { module=install-gcc ; on=install-lto-plugin; };
|
||||
dependencies = { module=install-strip-gcc ; on=install-strip-fixincludes; };
|
||||
|
||||
dependencies = { module=configure-libcpp; on=configure-libiberty; hard=true; };
|
||||
dependencies = { module=configure-libcpp; on=configure-intl; };
|
||||
@@ -322,31 +317,19 @@ dependencies = { module=all-fixincludes; on=all-libiberty; };
|
||||
|
||||
dependencies = { module=all-gnattools; on=all-target-libada; };
|
||||
|
||||
dependencies = { module=all-lto-plugin; on=all-libiberty; };
|
||||
|
||||
dependencies = { module=all-utils; on=all-libiberty; };
|
||||
|
||||
dependencies = { module=configure-mpfr; on=all-gmp; };
|
||||
dependencies = { module=configure-mpc; on=all-mpfr; };
|
||||
dependencies = { module=configure-ppl; on=all-gmp; };
|
||||
dependencies = { module=configure-ppl; on=all-mpfr; };
|
||||
dependencies = { module=configure-cloog; on=all-ppl; };
|
||||
|
||||
// Host modules specific to gdb.
|
||||
dependencies = { module=configure-gdb; on=all-intl; };
|
||||
dependencies = { module=configure-gdb; on=configure-sim; };
|
||||
dependencies = { module=configure-gdb; on=all-bfd; };
|
||||
// Depend on all-libiconv so that configure checks for iconv
|
||||
// functions will work.
|
||||
dependencies = { module=configure-gdb; on=all-libiconv; };
|
||||
dependencies = { module=all-gdb; on=all-libiberty; };
|
||||
dependencies = { module=all-gdb; on=all-libiconv; };
|
||||
dependencies = { module=all-gdb; on=all-opcodes; };
|
||||
dependencies = { module=all-gdb; on=all-readline; };
|
||||
dependencies = { module=all-gdb; on=all-build-bison; };
|
||||
dependencies = { module=all-gdb; on=all-build-byacc; };
|
||||
dependencies = { module=all-gdb; on=all-sim; };
|
||||
dependencies = { module=all-gdb; on=all-libdecnumber; };
|
||||
dependencies = { module=all-gdb; on=all-libtermcap; };
|
||||
|
||||
dependencies = { module=configure-libgui; on=configure-tcl; };
|
||||
dependencies = { module=configure-libgui; on=configure-tk; };
|
||||
@@ -359,8 +342,6 @@ 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-opcodes; on=configure-libiberty; hard=true; };
|
||||
dependencies = { module=all-opcodes; on=all-libiberty; };
|
||||
|
||||
dependencies = { module=configure-binutils; on=configure-intl; };
|
||||
dependencies = { module=all-binutils; on=all-libiberty; };
|
||||
@@ -368,17 +349,16 @@ dependencies = { module=all-binutils; on=all-opcodes; };
|
||||
dependencies = { module=all-binutils; on=all-bfd; };
|
||||
dependencies = { module=all-binutils; on=all-build-flex; };
|
||||
dependencies = { module=all-binutils; on=all-build-bison; };
|
||||
dependencies = { module=all-binutils; on=all-build-byacc; };
|
||||
dependencies = { module=all-binutils; on=all-intl; };
|
||||
|
||||
// We put install-opcodes before install-binutils because the installed
|
||||
// binutils might be on PATH, and they might need the shared opcodes
|
||||
// library.
|
||||
dependencies = { module=install-binutils; on=install-opcodes; };
|
||||
dependencies = { module=install-strip-binutils; on=install-strip-opcodes; };
|
||||
|
||||
// libopcodes depends on libbfd
|
||||
dependencies = { module=install-opcodes; on=install-bfd; };
|
||||
dependencies = { module=install-strip-opcodes; on=install-strip-bfd; };
|
||||
|
||||
dependencies = { module=configure-gas; on=configure-intl; };
|
||||
dependencies = { module=all-gas; on=all-libiberty; };
|
||||
@@ -395,17 +375,16 @@ dependencies = { module=all-ld; on=all-libiberty; };
|
||||
dependencies = { module=all-ld; on=all-bfd; };
|
||||
dependencies = { module=all-ld; on=all-opcodes; };
|
||||
dependencies = { module=all-ld; on=all-build-bison; };
|
||||
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=install-ld; on=install-gold; };
|
||||
dependencies = { module=install-strip-ld; on=install-strip-gold; };
|
||||
dependencies = { module=configure-gold; on=configure-intl; };
|
||||
dependencies = { module=all-gold; on=all-libiberty; };
|
||||
dependencies = { module=all-gold; on=all-intl; };
|
||||
dependencies = { module=all-gold; on=all-bfd; };
|
||||
dependencies = { module=all-gold; on=all-build-bison; };
|
||||
dependencies = { module=all-gold; on=all-build-byacc; };
|
||||
dependencies = { module=check-gold; on=all-binutils; };
|
||||
dependencies = { module=check-gold; on=all-gas; };
|
||||
|
||||
dependencies = { module=configure-opcodes; on=configure-intl; };
|
||||
dependencies = { module=all-opcodes; on=all-bfd; };
|
||||
@@ -428,7 +407,6 @@ dependencies = { module=configure-itcl; on=configure-tk; };
|
||||
dependencies = { module=all-itcl; on=all-tcl; };
|
||||
dependencies = { module=all-itcl; on=all-tk; };
|
||||
dependencies = { module=install-itcl; on=install-tcl; };
|
||||
dependencies = { module=install-strip-itcl; on=install-strip-tcl; };
|
||||
|
||||
dependencies = { module=configure-tk; on=configure-tcl; };
|
||||
dependencies = { module=all-tk; on=all-tcl; };
|
||||
@@ -439,9 +417,7 @@ dependencies = { module=all-sid; on=all-opcodes; };
|
||||
dependencies = { module=all-sid; on=all-tcl; };
|
||||
dependencies = { module=all-sid; on=all-tk; };
|
||||
dependencies = { module=install-sid; on=install-tcl; };
|
||||
dependencies = { module=install-strip-sid; on=install-strip-tcl; };
|
||||
dependencies = { module=install-sid; on=install-tk; };
|
||||
dependencies = { module=install-strip-sid; on=install-strip-tk; };
|
||||
|
||||
dependencies = { module=configure-sim; on=configure-intl; };
|
||||
dependencies = { module=all-sim; on=all-intl; };
|
||||
@@ -457,18 +433,44 @@ dependencies = { module=all-fastjar; on=all-build-texinfo; };
|
||||
dependencies = { module=all-fastjar; on=all-libiberty; };
|
||||
|
||||
// Warning, these are not well tested.
|
||||
dependencies = { module=all-autoconf; on=all-m4; };
|
||||
dependencies = { module=all-autoconf; on=all-build-texinfo; };
|
||||
dependencies = { module=all-automake; on=all-m4; };
|
||||
dependencies = { module=all-automake; on=all-build-texinfo; };
|
||||
dependencies = { module=all-automake; on=all-autoconf; };
|
||||
dependencies = { module=all-bison; on=all-intl; };
|
||||
dependencies = { module=all-bison; on=all-build-texinfo; };
|
||||
dependencies = { module=all-diff; on=all-intl; };
|
||||
dependencies = { module=all-diff; on=all-build-texinfo; };
|
||||
dependencies = { module=all-fileutils; on=all-intl; };
|
||||
dependencies = { module=all-fileutils; on=all-build-texinfo; };
|
||||
dependencies = { module=all-flex; on=all-build-bison; };
|
||||
dependencies = { module=all-flex; on=all-build-byacc; };
|
||||
dependencies = { module=all-flex; on=all-intl; };
|
||||
dependencies = { module=all-flex; on=all-m4; };
|
||||
dependencies = { module=all-flex; on=all-build-texinfo; };
|
||||
dependencies = { module=all-gzip; on=all-intl; };
|
||||
dependencies = { module=all-gzip; on=all-zlib; };
|
||||
dependencies = { module=all-gzip; on=all-build-texinfo; };
|
||||
dependencies = { module=all-hello; on=all-intl; };
|
||||
dependencies = { module=all-hello; on=all-build-texinfo; };
|
||||
dependencies = { module=all-m4; on=all-intl; };
|
||||
dependencies = { module=all-m4; on=all-build-texinfo; };
|
||||
dependencies = { module=all-make; on=all-intl; };
|
||||
dependencies = { module=all-make; on=all-build-texinfo; };
|
||||
dependencies = { module=all-patch; on=all-build-texinfo; };
|
||||
dependencies = { module=all-make; on=all-build-texinfo; };
|
||||
dependencies = { module=all-prms; on=all-libiberty; };
|
||||
dependencies = { module=all-recode; on=all-build-texinfo; };
|
||||
dependencies = { module=all-sed; on=all-build-texinfo; };
|
||||
dependencies = { module=all-send-pr; on=all-prms; };
|
||||
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++). By default target modules depend
|
||||
// on libgcc and newlib/libgloss.
|
||||
lang_env_dependencies = { module=gperf; cxx=true; };
|
||||
lang_env_dependencies = { module=libjava; cxx=true; };
|
||||
lang_env_dependencies = { module=newlib; no_c=true; };
|
||||
lang_env_dependencies = { module=libgloss; no_c=true; };
|
||||
@@ -478,76 +480,93 @@ lang_env_dependencies = { module=libgcc; no_gcc=true; no_c=true; };
|
||||
// a dependency on libgcc for native targets to configure.
|
||||
lang_env_dependencies = { module=libiberty; no_c=true; };
|
||||
|
||||
dependencies = { module=configure-target-boehm-gc; on=all-target-libstdc++-v3; };
|
||||
dependencies = { module=configure-target-boehm-gc; on=configure-target-qthreads; };
|
||||
dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
|
||||
dependencies = { module=all-target-fastjar; on=all-target-zlib; };
|
||||
dependencies = { module=all-target-fastjar; on=all-target-libiberty; };
|
||||
dependencies = { module=configure-target-libgo; on=configure-target-libffi; };
|
||||
dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; };
|
||||
dependencies = { module=all-target-libgo; on=all-target-libffi; };
|
||||
dependencies = { module=configure-target-libjava; on=configure-target-zlib; };
|
||||
dependencies = { module=configure-target-libjava; on=configure-target-boehm-gc; };
|
||||
dependencies = { module=configure-target-libjava; on=configure-target-qthreads; };
|
||||
dependencies = { module=configure-target-libjava; on=configure-target-libffi; };
|
||||
dependencies = { module=all-target-libjava; on=all-fastjar; };
|
||||
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; };
|
||||
dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; };
|
||||
// parallel_list.o and parallel_settings.o depend on omp.h, which is
|
||||
// generated by the libgomp configure. Unfortunately, due to the use of
|
||||
// recursive make, we can't be that specific.
|
||||
dependencies = { module=all-target-libstdc++-v3; on=configure-target-libgomp; };
|
||||
|
||||
// Target modules in the 'src' repository.
|
||||
lang_env_dependencies = { module=examples; };
|
||||
lang_env_dependencies = { module=libtermcap; };
|
||||
lang_env_dependencies = { module=rda; };
|
||||
lang_env_dependencies = { module=winsup; };
|
||||
lang_env_dependencies = { module=qthreads; };
|
||||
|
||||
dependencies = { module=all-target-libgloss; on=all-target-newlib; };
|
||||
dependencies = { module=all-target-winsup; on=all-target-libiberty; };
|
||||
dependencies = { module=all-target-winsup; on=all-target-libtermcap; };
|
||||
dependencies = { module=configure-target-libiberty; on=all-binutils; };
|
||||
dependencies = { module=configure-target-libiberty; on=all-ld; };
|
||||
dependencies = { module=configure-target-newlib; on=all-binutils; };
|
||||
dependencies = { module=configure-target-newlib; on=all-ld; };
|
||||
dependencies = { module=configure-target-libgfortran; on=all-target-libquadmath; };
|
||||
|
||||
languages = { language=c; gcc-check-target=check-gcc; };
|
||||
languages = { language=c++; gcc-check-target=check-c++;
|
||||
lib-check-target=check-target-libstdc++-v3; };
|
||||
languages = { language=fortran; gcc-check-target=check-fortran;
|
||||
lib-check-target=check-target-libquadmath;
|
||||
lib-check-target=check-target-libgfortran; };
|
||||
languages = { language=java; gcc-check-target=check-java;
|
||||
lib-check-target=check-target-libjava; };
|
||||
languages = { language=ada; gcc-check-target=check-ada;
|
||||
lib-check-target=check-target-libada; };
|
||||
languages = { language=objc; gcc-check-target=check-objc;
|
||||
lib-check-target=check-target-libobjc; };
|
||||
languages = { language=obj-c++; gcc-check-target=check-obj-c++; };
|
||||
languages = { language=go; gcc-check-target=check-go;
|
||||
lib-check-target=check-target-libgo; };
|
||||
|
||||
// Toplevel bootstrap
|
||||
bootstrap_stage = { id=1 ; };
|
||||
bootstrap_stage = {
|
||||
id=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.
|
||||
stage_configure_flags='--disable-intermodule $(STAGE1_CHECKING) \
|
||||
--disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"' ;
|
||||
stage_cflags='$(STAGE1_CFLAGS)' ;
|
||||
stage_libcflags='$(STAGE1_LIBCFLAGS)' ; };
|
||||
bootstrap_stage = {
|
||||
id=2 ; prev=1 ;
|
||||
bootstrap_target=bootstrap2 ; };
|
||||
bootstrap_target=bootstrap2 ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags="$(STAGE2_CFLAGS)" ;
|
||||
stage_libcflags="$(STAGE2_LIBCFLAGS)" ; };
|
||||
bootstrap_stage = {
|
||||
id=b2g0 ; prev=1 ;
|
||||
bootstrap_target=bootstrap2-debug ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags="$(STAGE2_CFLAGS) -g0" ;
|
||||
stage_libcflags="$(STAGE2_LIBCFLAGS) -g0" ; };
|
||||
bootstrap_stage = {
|
||||
id=3 ; prev=2 ; lean=1 ;
|
||||
compare_target=compare ;
|
||||
bootstrap_target=bootstrap ;
|
||||
cleanstrap_target=cleanstrap ; };
|
||||
cleanstrap_target=cleanstrap ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags="$(STAGE3_CFLAGS)" ;
|
||||
stage_libcflags="$(STAGE3_LIBCFLAGS)" ; };
|
||||
bootstrap_stage = {
|
||||
id=b3g2 ; prev=b2g0 ; lean=1 ;
|
||||
compare_target=compare-debug ;
|
||||
bootstrap_target=bootstrap-debug ;
|
||||
cleanstrap_target=cleanstrap-debug ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags="$(STAGE3_CFLAGS) -g2" ;
|
||||
stage_libcflags="$(STAGE3_LIBCFLAGS) -g2" ; };
|
||||
bootstrap_stage = {
|
||||
id=4 ; prev=3 ; lean=2 ;
|
||||
compare_target=compare3 ;
|
||||
bootstrap_target=bootstrap4 ; };
|
||||
bootstrap_target=bootstrap4 ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags="$(STAGE4_CFLAGS)" ;
|
||||
stage_libcflags="$(STAGE4_CFLAGS)" ; };
|
||||
bootstrap_stage = {
|
||||
id=profile ; prev=1 ; };
|
||||
id=profile ; prev=1 ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags='$(STAGE2_CFLAGS) -fprofile-generate' ;
|
||||
stage_libcflags='$(STAGE2_LIBCFLAGS)' ; };
|
||||
bootstrap_stage = {
|
||||
id=feedback ; prev=profile ;
|
||||
bootstrap_target=profiledbootstrap ; };
|
||||
bootstrap_target=profiledbootstrap ;
|
||||
stage_configure_flags="@stage2_werror_flag@" ;
|
||||
stage_cflags='$(STAGE3_CFLAGS) -fprofile-use' ;
|
||||
stage_libcflags='$(STAGE3_LIBCFLAGS) -fprofile-use' ; };
|
||||
|
||||
30232
Makefile.in
30232
Makefile.in
File diff suppressed because it is too large
Load Diff
420
Makefile.tpl
420
Makefile.tpl
@@ -6,12 +6,11 @@ in
|
||||
#
|
||||
# Makefile for directory with subdirs to build.
|
||||
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||
# Free Software Foundation
|
||||
# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# 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,
|
||||
@@ -20,8 +19,8 @@ in
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
|
||||
# First, test for a proper version of make, but only where one is required.
|
||||
@@ -103,6 +102,8 @@ TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@
|
||||
tooldir = @tooldir@
|
||||
build_tooldir = @build_tooldir@
|
||||
|
||||
GDB_NLM_DEPS =
|
||||
|
||||
# This is the name of the environment variable used for the path to
|
||||
# the libraries.
|
||||
RPATH_ENVVAR = @RPATH_ENVVAR@
|
||||
@@ -118,19 +119,6 @@ BUILD_SUBDIR = @build_subdir@
|
||||
# directories built for the build system.
|
||||
BUILD_CONFIGARGS = @build_configargs@ --with-build-subdir="$(BUILD_SUBDIR)"
|
||||
|
||||
# Linker flags to use on the host, for stage1 or when not
|
||||
# bootstrapping.
|
||||
STAGE1_LDFLAGS = @stage1_ldflags@
|
||||
|
||||
# Libraries to use on the host, for stage1 or when not bootstrapping.
|
||||
STAGE1_LIBS = @stage1_libs@
|
||||
|
||||
# Linker flags to use for stage2 and later.
|
||||
POSTSTAGE1_LDFLAGS = @poststage1_ldflags@
|
||||
|
||||
# Libraries to use for stage2 and later.
|
||||
POSTSTAGE1_LIBS = @poststage1_libs@
|
||||
|
||||
# This is the list of variables to export in the environment when
|
||||
# configuring any subdirectory. It must also be exported whenever
|
||||
# recursing into a build directory in case that directory's Makefile
|
||||
@@ -141,8 +129,6 @@ BASE_EXPORTS = \
|
||||
BISON="$(BISON)"; export BISON; \
|
||||
YACC="$(YACC)"; export YACC; \
|
||||
M4="$(M4)"; export M4; \
|
||||
SED="$(SED)"; export SED; \
|
||||
AWK="$(AWK)"; export AWK; \
|
||||
MAKEINFO="$(MAKEINFO)"; export MAKEINFO;
|
||||
|
||||
# This is the list of variables to export in the environment when
|
||||
@@ -158,8 +144,6 @@ BUILD_EXPORTS = \
|
||||
CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
|
||||
GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
|
||||
GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
|
||||
GOC="$(GOC_FOR_BUILD)"; export GOC; \
|
||||
GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
|
||||
DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
|
||||
LD="$(LD_FOR_BUILD)"; export LD; \
|
||||
LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
|
||||
@@ -176,7 +160,6 @@ EXTRA_BUILD_FLAGS = \
|
||||
|
||||
# This is the list of directories to built for the host system.
|
||||
SUBDIRS = @configdirs@
|
||||
TARGET_CONFIGDIRS = @target_configdirs@
|
||||
# This is set by the configure script to the arguments to use when configuring
|
||||
# directories built for the host system.
|
||||
HOST_CONFIGARGS = @host_configargs@
|
||||
@@ -194,15 +177,12 @@ HOST_EXPORTS = \
|
||||
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
|
||||
CXX="$(CXX)"; export CXX; \
|
||||
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
|
||||
GCJ="$(GCJ)"; export GCJ; \
|
||||
GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
|
||||
GOC="$(GOC)"; export GOC; \
|
||||
AR="$(AR)"; export AR; \
|
||||
AS="$(AS)"; export AS; \
|
||||
CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
|
||||
DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
|
||||
LD="$(LD)"; export LD; \
|
||||
LDFLAGS="$(STAGE1_LDFLAGS) $(LDFLAGS)"; export LDFLAGS; \
|
||||
LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
|
||||
NM="$(NM)"; export NM; \
|
||||
RANLIB="$(RANLIB)"; export RANLIB; \
|
||||
WINDRES="$(WINDRES)"; export WINDRES; \
|
||||
@@ -217,47 +197,23 @@ HOST_EXPORTS = \
|
||||
OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \
|
||||
RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
|
||||
TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
|
||||
HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
|
||||
GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
|
||||
GMPINC="$(HOST_GMPINC)"; export GMPINC; \
|
||||
PPLLIBS="$(HOST_PPLLIBS)"; export PPLLIBS; \
|
||||
PPLINC="$(HOST_PPLINC)"; export PPLINC; \
|
||||
CLOOGLIBS="$(HOST_CLOOGLIBS)"; export CLOOGLIBS; \
|
||||
CLOOGINC="$(HOST_CLOOGINC)"; export CLOOGINC; \
|
||||
LIBELFLIBS="$(HOST_LIBELFLIBS)" ; export LIBELFLIBS; \
|
||||
LIBELFINC="$(HOST_LIBELFINC)" ; export LIBELFINC; \
|
||||
@if gcc-bootstrap
|
||||
$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
|
||||
@endif gcc-bootstrap
|
||||
$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
|
||||
|
||||
POSTSTAGE1_CXX_EXPORT = \
|
||||
CXX='$(CXX)'; export CXX; \
|
||||
CXX_FOR_BUILD='$(CXX_FOR_BUILD)'; export CXX_FOR_BUILD;
|
||||
@if target-libstdc++-v3-bootstrap
|
||||
# Override the above if we're bootstrapping C++.
|
||||
POSTSTAGE1_CXX_EXPORT = \
|
||||
CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \
|
||||
-B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \
|
||||
-B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
|
||||
-I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \
|
||||
-I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \
|
||||
-I$$s/libstdc++-v3/libsupc++ \
|
||||
-L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \
|
||||
CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD;
|
||||
@endif target-libstdc++-v3-bootstrap
|
||||
|
||||
# Similar, for later GCC stages.
|
||||
POSTSTAGE1_HOST_EXPORTS = \
|
||||
$(HOST_EXPORTS) \
|
||||
CC="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
|
||||
-B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ \
|
||||
$(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
|
||||
CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \
|
||||
$(POSTSTAGE1_CXX_EXPORT) \
|
||||
GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \
|
||||
LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)"; export LDFLAGS; \
|
||||
HOST_LIBS="$(POSTSTAGE1_LIBS)"; export HOST_LIBS;
|
||||
-B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
|
||||
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; \
|
||||
LDFLAGS="$(BOOT_LDFLAGS)"; export LDFLAGS;
|
||||
|
||||
# Target libraries are put under this directory:
|
||||
TARGET_SUBDIR = @target_subdir@
|
||||
@@ -265,19 +221,18 @@ TARGET_SUBDIR = @target_subdir@
|
||||
# directories built for the target.
|
||||
TARGET_CONFIGARGS = @target_configargs@ --with-target-subdir="$(TARGET_SUBDIR)"
|
||||
# This is the list of variables to export in the environment when
|
||||
# configuring subdirectories for the target system.
|
||||
# configuring subdirectories for the host system.
|
||||
BASE_TARGET_EXPORTS = \
|
||||
$(BASE_EXPORTS) \
|
||||
AR="$(AR_FOR_TARGET)"; export AR; \
|
||||
AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
|
||||
CC="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
|
||||
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
|
||||
CC="$(CC_FOR_TARGET)"; export CC; \
|
||||
CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
|
||||
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
|
||||
CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
|
||||
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
|
||||
GCJ="$(GCJ_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GCJ; \
|
||||
GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
|
||||
GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
|
||||
CXXFLAGS="$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
|
||||
GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
|
||||
GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
|
||||
DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
|
||||
LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
|
||||
LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
|
||||
@@ -288,42 +243,26 @@ BASE_TARGET_EXPORTS = \
|
||||
STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
|
||||
WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
|
||||
WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \
|
||||
@if gcc-bootstrap
|
||||
$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
|
||||
@endif gcc-bootstrap
|
||||
$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
|
||||
TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS;
|
||||
$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
|
||||
|
||||
RAW_CXX_TARGET_EXPORTS = \
|
||||
$(BASE_TARGET_EXPORTS) \
|
||||
CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
|
||||
CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
|
||||
CXX="$(RAW_CXX_FOR_TARGET)"; export CXX;
|
||||
|
||||
NORMAL_TARGET_EXPORTS = \
|
||||
$(BASE_TARGET_EXPORTS) \
|
||||
CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
|
||||
CXX="$(CXX_FOR_TARGET)"; export CXX;
|
||||
|
||||
# Where to find GMP
|
||||
HOST_GMPLIBS = @gmplibs@
|
||||
HOST_GMPINC = @gmpinc@
|
||||
|
||||
# Where to find PPL
|
||||
HOST_PPLLIBS = @ppllibs@
|
||||
HOST_PPLINC = @pplinc@
|
||||
|
||||
# Where to find CLOOG
|
||||
HOST_CLOOGLIBS = @clooglibs@
|
||||
HOST_CLOOGINC = @clooginc@
|
||||
|
||||
# Where to find libelf
|
||||
HOST_LIBELFLIBS = @libelflibs@
|
||||
HOST_LIBELFINC = @libelfinc@
|
||||
|
||||
# ----------------------------------------------
|
||||
# Programs producing files for the BUILD machine
|
||||
# ----------------------------------------------
|
||||
|
||||
SHELL = @SHELL@
|
||||
SHELL = @config_shell@
|
||||
|
||||
# pwd command to use. Allow user to override default by setting PWDCMD in
|
||||
# the environment to account for automounters. The make variable must not
|
||||
@@ -344,7 +283,6 @@ CXX_FOR_BUILD = @CXX_FOR_BUILD@
|
||||
DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
|
||||
GCJ_FOR_BUILD = @GCJ_FOR_BUILD@
|
||||
GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
|
||||
GOC_FOR_BUILD = @GOC_FOR_BUILD@
|
||||
LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
|
||||
LD_FOR_BUILD = @LD_FOR_BUILD@
|
||||
NM_FOR_BUILD = @NM_FOR_BUILD@
|
||||
@@ -363,8 +301,6 @@ BOOT_CFLAGS= -g -O2
|
||||
BOOT_LDFLAGS=
|
||||
BOOT_ADAFLAGS=-gnatpg -gnata
|
||||
|
||||
AWK = @AWK@
|
||||
SED = @SED@
|
||||
BISON = @BISON@
|
||||
YACC = @YACC@
|
||||
FLEX = @FLEX@
|
||||
@@ -407,27 +343,6 @@ LDFLAGS = @LDFLAGS@
|
||||
LIBCFLAGS = $(CFLAGS)
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
|
||||
GOCFLAGS = $(CFLAGS)
|
||||
|
||||
TFLAGS =
|
||||
|
||||
# Defaults for all stages; some are overridden below.
|
||||
|
||||
STAGE_CFLAGS = $(BOOT_CFLAGS)
|
||||
STAGE_TFLAGS = $(TFLAGS)
|
||||
STAGE_CONFIGURE_FLAGS=@stage2_werror_flag@
|
||||
|
||||
[+ FOR bootstrap-stage +]
|
||||
# Defaults for stage [+id+]; some are overridden below.
|
||||
STAGE[+id+]_CFLAGS = $(STAGE_CFLAGS)
|
||||
STAGE[+id+]_CXXFLAGS = $(CXXFLAGS)
|
||||
@if target-libstdc++-v3-bootstrap
|
||||
# Override the above if we're bootstrapping C++.
|
||||
STAGE[+id+]_CXXFLAGS = $(STAGE[+id+]_CFLAGS)
|
||||
@endif target-libstdc++-v3-bootstrap
|
||||
STAGE[+id+]_TFLAGS = $(STAGE_TFLAGS)
|
||||
STAGE[+id+]_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
|
||||
[+ ENDFOR bootstrap-stage +]
|
||||
|
||||
# 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
|
||||
@@ -435,45 +350,42 @@ STAGE[+id+]_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
|
||||
# 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@
|
||||
# * 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.
|
||||
STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
|
||||
--disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
|
||||
STAGE1_CHECKING=@stage1_checking@
|
||||
STAGE1_LANGUAGES=@stage1_languages@
|
||||
|
||||
STAGEprofile_CFLAGS = $(STAGE2_CFLAGS) -fprofile-generate
|
||||
STAGEprofile_TFLAGS = $(STAGE2_TFLAGS)
|
||||
STAGE1_CFLAGS=@stage1_cflags@
|
||||
STAGE2_CFLAGS=$(BOOT_CFLAGS)
|
||||
STAGE3_CFLAGS=$(BOOT_CFLAGS)
|
||||
STAGE4_CFLAGS=$(BOOT_CFLAGS)
|
||||
|
||||
STAGEfeedback_CFLAGS = $(STAGE3_CFLAGS) -fprofile-use
|
||||
STAGEfeedback_TFLAGS = $(STAGE3_TFLAGS)
|
||||
STAGE1_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
|
||||
STAGE2_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
|
||||
STAGE3_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
|
||||
STAGE4_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
|
||||
|
||||
do-compare = @do_compare@
|
||||
do-compare3 = $(do-compare)
|
||||
do-compare-debug = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
|
||||
|
||||
# -----------------------------------------------
|
||||
# Programs producing files for the TARGET machine
|
||||
# -----------------------------------------------
|
||||
|
||||
FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
|
||||
|
||||
AR_FOR_TARGET=@AR_FOR_TARGET@
|
||||
AS_FOR_TARGET=@AS_FOR_TARGET@
|
||||
CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@
|
||||
CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@ $(FLAGS_FOR_TARGET)
|
||||
|
||||
# If GCC_FOR_TARGET is not overriden on the command line, then this
|
||||
# variable is passed down to the gcc Makefile, where it is used to
|
||||
# build libgcc2.a. We define it here so that it can itself be
|
||||
# overridden on the command line.
|
||||
GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@
|
||||
CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@
|
||||
RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
|
||||
GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@
|
||||
GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
|
||||
GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
|
||||
GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@ $(FLAGS_FOR_TARGET)
|
||||
CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
|
||||
RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
|
||||
GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
|
||||
GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET)
|
||||
DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
|
||||
LD_FOR_TARGET=@LD_FOR_TARGET@
|
||||
|
||||
@@ -491,17 +403,12 @@ COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@
|
||||
|
||||
CFLAGS_FOR_TARGET = @CFLAGS_FOR_TARGET@
|
||||
CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARGET@
|
||||
|
||||
LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
|
||||
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
|
||||
LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@
|
||||
GOCFLAGS_FOR_TARGET = -O2 -g
|
||||
|
||||
FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
|
||||
SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
|
||||
DEBUG_PREFIX_CFLAGS_FOR_TARGET = @DEBUG_PREFIX_CFLAGS_FOR_TARGET@
|
||||
|
||||
XGCC_FLAGS_FOR_TARGET = $(FLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
|
||||
LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
|
||||
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
|
||||
LDFLAGS_FOR_TARGET =
|
||||
|
||||
# ------------------------------------
|
||||
# Miscellaneous targets and flag lists
|
||||
@@ -519,7 +426,7 @@ all:
|
||||
###
|
||||
|
||||
# This is the list of directories that may be needed in RPATH_ENVVAR
|
||||
# so that programs built for the target machine work.
|
||||
# so that prorgams built for the target machine work.
|
||||
TARGET_LIB_PATH = [+ FOR target_modules +][+
|
||||
IF lib_path +]$(TARGET_LIB_PATH_[+module+])[+ ENDIF lib_path +][+
|
||||
ENDFOR target_modules +]$(HOST_LIB_PATH_gcc)
|
||||
@@ -549,35 +456,10 @@ HOST_LIB_PATH_[+module+] = \
|
||||
@endif [+module+]
|
||||
[+ ENDIF lib_path +][+ ENDFOR host_modules +]
|
||||
|
||||
CXX_FOR_TARGET_FLAG_TO_PASS = \
|
||||
"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"
|
||||
@if target-libstdc++-v3
|
||||
# CXX_FOR_TARGET is tricky to get right for target libs that require a
|
||||
# functional C++ compiler. When we recurse, if we expand
|
||||
# CXX_FOR_TARGET before configuring libstdc++-v3, we won't get
|
||||
# libstdc++ include flags from the script. Instead, we get an
|
||||
# -funconfigured-* word, so that we'll get errors if this invalid C++
|
||||
# command line is used for anything, but also so that we can use the
|
||||
# word to decide whether or not to pass on this CXX_FOR_TARGET. If we
|
||||
# don't pass it on, sub-make will use the default definition, that
|
||||
# re-expands it at the time of use, so we'll get it right when we need
|
||||
# it. One potential exception is the expansion of CXX_FOR_TARGET
|
||||
# passed down as part of CXX within TARGET_FLAGS, but this wouldn't
|
||||
# really work, for C++ host programs can't depend on the current-stage
|
||||
# C++ target library.
|
||||
CXX_FOR_TARGET_FLAG_TO_PASS = \
|
||||
$(shell if echo "$(CXX_FOR_TARGET)" | grep " -funconfigured-" > /dev/null; then :; else echo '"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"'; fi)
|
||||
@endif target-libstdc++-v3
|
||||
|
||||
# Flags to pass down to all sub-makes.
|
||||
BASE_FLAGS_TO_PASS =[+ FOR flags_to_pass +][+ IF optional +] \
|
||||
"`echo '[+flag+]=$([+flag+])' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"[+ ELSE optional +] \
|
||||
"[+flag+]=$([+flag+])"[+ ENDIF optional+][+ ENDFOR flags_to_pass +][+ FOR bootstrap-stage +] \
|
||||
"STAGE[+id+]_CFLAGS=$(STAGE[+id+]_CFLAGS)" \
|
||||
"STAGE[+id+]_CXXFLAGS=$(STAGE[+id+]_CXXFLAGS)" \
|
||||
"STAGE[+id+]_TFLAGS=$(STAGE[+id+]_TFLAGS)"[+ ENDFOR bootstrap-stage +] \
|
||||
$(CXX_FOR_TARGET_FLAG_TO_PASS) \
|
||||
"TFLAGS=$(TFLAGS)" \
|
||||
"[+flag+]=$([+flag+])"[+ ENDIF optional+][+ ENDFOR flags_to_pass +] \
|
||||
"CONFIG_SHELL=$(SHELL)" \
|
||||
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)"
|
||||
|
||||
@@ -592,9 +474,6 @@ EXTRA_HOST_FLAGS = \
|
||||
'CC=$(CC)' \
|
||||
'CXX=$(CXX)' \
|
||||
'DLLTOOL=$(DLLTOOL)' \
|
||||
'GCJ=$(GCJ)' \
|
||||
'GFORTRAN=$(GFORTRAN)' \
|
||||
'GOC=$(GOC)' \
|
||||
'LD=$(LD)' \
|
||||
'LIPO=$(LIPO)' \
|
||||
'NM=$(NM)' \
|
||||
@@ -606,14 +485,24 @@ EXTRA_HOST_FLAGS = \
|
||||
|
||||
FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)
|
||||
|
||||
# Flags that are concerned with the location of the X11 include files
|
||||
# and library files
|
||||
#
|
||||
# NOTE: until the top-level is getting the values via autoconf, it only
|
||||
# causes problems to have this top-level Makefile overriding the autoconf-set
|
||||
# values in child directories. Only variables that don't conflict with
|
||||
# autoconf'ed ones should be passed by X11_FLAGS_TO_PASS for now.
|
||||
#
|
||||
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}" \
|
||||
CXX="$${CXX}" CXX_FOR_BUILD="$${CXX_FOR_BUILD}" \
|
||||
GNATBIND="$${GNATBIND}" \
|
||||
LDFLAGS="$${LDFLAGS}" \
|
||||
HOST_LIBS="$${HOST_LIBS}" \
|
||||
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.
|
||||
@@ -624,26 +513,20 @@ POSTSTAGE1_FLAGS_TO_PASS = \
|
||||
EXTRA_TARGET_FLAGS = \
|
||||
'AR=$$(AR_FOR_TARGET)' \
|
||||
'AS=$(COMPILER_AS_FOR_TARGET)' \
|
||||
'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||
'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
|
||||
'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||
'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
|
||||
'CC=$$(CC_FOR_TARGET)' \
|
||||
'CFLAGS=$$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
|
||||
'CXX=$$(CXX_FOR_TARGET)' \
|
||||
'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
|
||||
'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
|
||||
'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||
'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||
'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||
'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
|
||||
'LD=$(COMPILER_LD_FOR_TARGET)' \
|
||||
'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
|
||||
'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
|
||||
'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
|
||||
'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
|
||||
'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
|
||||
'NM=$(COMPILER_NM_FOR_TARGET)' \
|
||||
'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
|
||||
'RANLIB=$$(RANLIB_FOR_TARGET)' \
|
||||
'WINDRES=$$(WINDRES_FOR_TARGET)' \
|
||||
'WINDMC=$$(WINDMC_FOR_TARGET)' \
|
||||
'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
|
||||
"TFLAGS=$$TFLAGS"
|
||||
'WINDMC=$$(WINDMC_FOR_TARGET)'
|
||||
|
||||
TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
|
||||
|
||||
@@ -663,13 +546,6 @@ EXTRA_GCC_FLAGS = \
|
||||
|
||||
GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)
|
||||
|
||||
@if gcc
|
||||
BUILD_CONFIG = @BUILD_CONFIG@
|
||||
ifneq ($(BUILD_CONFIG),)
|
||||
include $(foreach CONFIG, $(BUILD_CONFIG), $(srcdir)/config/$(CONFIG).mk)
|
||||
endif
|
||||
@endif gcc
|
||||
|
||||
.PHONY: configure-host
|
||||
configure-host: [+
|
||||
FOR host_modules +] \
|
||||
@@ -693,18 +569,11 @@ all:
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
@if gcc-bootstrap
|
||||
if [ -f stage_last ]; then \
|
||||
TFLAGS="$(STAGE$(shell test ! -f stage_last || sed s,^stage,, stage_last)_TFLAGS)"; \
|
||||
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \
|
||||
else \
|
||||
@endif gcc-bootstrap
|
||||
$(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target \
|
||||
@if gcc-bootstrap
|
||||
; \
|
||||
fi \
|
||||
@endif gcc-bootstrap
|
||||
&& :
|
||||
$(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target; \
|
||||
fi
|
||||
|
||||
.PHONY: all-build
|
||||
[+ FOR build_modules +]
|
||||
@@ -790,7 +659,6 @@ local-distclean:
|
||||
-rmdir texinfo/doc texinfo/info texinfo/intl texinfo/lib 2>/dev/null
|
||||
-rmdir texinfo/makeinfo texinfo/po texinfo/util 2>/dev/null
|
||||
-rmdir fastjar gcc libiberty texinfo zlib 2>/dev/null
|
||||
-find . -name config.cache -exec rm -f {} \; \; 2>/dev/null
|
||||
|
||||
local-maintainer-clean:
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@@ -896,26 +764,6 @@ install.all: install-no-fixedincludes
|
||||
install-no-fixedincludes: installdirs install-host-nogcc \
|
||||
install-target gcc-no-fixedincludes
|
||||
|
||||
.PHONY: install-strip
|
||||
install-strip:
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-strip-host install-strip-target
|
||||
|
||||
.PHONY: install-strip-host
|
||||
install-strip-host: [+
|
||||
FOR host_modules +] \
|
||||
maybe-install-strip-[+module+][+
|
||||
ENDFOR host_modules +]
|
||||
|
||||
.PHONY: install-strip-target
|
||||
install-strip-target: [+
|
||||
FOR target_modules +] \
|
||||
maybe-install-strip-target-[+module+][+
|
||||
ENDFOR target_modules +]
|
||||
|
||||
|
||||
### other supporting targets
|
||||
|
||||
MAKEDIRS= \
|
||||
@@ -978,7 +826,7 @@ configure-[+prefix+][+module+]: [+ IF bootstrap +][+ ELSE +]
|
||||
fi; \
|
||||
[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
|
||||
$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
|
||||
[+exports+] [+extra_exports+] \
|
||||
[+exports+] \
|
||||
echo Configuring in [+subdir+]/[+module+]; \
|
||||
cd "[+subdir+]/[+module+]" || exit 1; \
|
||||
case $(srcdir) in \
|
||||
@@ -1006,7 +854,6 @@ configure-stage[+id+]-[+prefix+][+module+]:
|
||||
@$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
|
||||
[+ IF check_multilibs
|
||||
+]echo "Checking multilib configuration for [+module+]..."; \
|
||||
$(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null ; \
|
||||
@@ -1022,15 +869,11 @@ configure-stage[+id+]-[+prefix+][+module+]:
|
||||
fi; \
|
||||
[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
|
||||
[+exports+][+ IF prev +] \
|
||||
[+poststage1_exports+][+ ENDIF prev +][+ IF prefix +] \
|
||||
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
|
||||
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
|
||||
LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;[+ ELSE prefix +] \
|
||||
CFLAGS="$(STAGE[+id+]_CFLAGS)"; export CFLAGS; \
|
||||
CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"; export CXXFLAGS;[+ IF prev +] \
|
||||
LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \
|
||||
LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +]; export LIBCFLAGS;[+
|
||||
ENDIF prefix +] [+extra_exports+] \
|
||||
[+poststage1_exports+][+ ENDIF prev +] [+ IF prefix +] \
|
||||
CFLAGS="[+stage_libcflags+] $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
|
||||
CXXFLAGS="[+stage_libcflags+] $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; [+ ELSE +] \
|
||||
CFLAGS="[+stage_cflags+]"; export CFLAGS; \
|
||||
CXXFLAGS="[+stage_cflags+]"; export CXXFLAGS; [+ ENDIF +] \
|
||||
echo Configuring stage [+id+] in [+subdir+]/[+module+] ; \
|
||||
$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
|
||||
cd [+subdir+]/[+module+] || exit 1; \
|
||||
@@ -1043,10 +886,9 @@ configure-stage[+id+]-[+prefix+][+module+]:
|
||||
libsrcdir="$$s/[+module+]"; \
|
||||
$(SHELL) $${libsrcdir}/configure \
|
||||
[+args+] --build=${build_alias} --host=[+host_alias+] \
|
||||
--target=[+target_alias+] $${srcdiroption} [+ IF prev +]\
|
||||
--with-build-libsubdir=$(HOST_SUBDIR) [+ ENDIF prev +]\
|
||||
$(STAGE[+id+]_CONFIGURE_FLAGS)[+ IF extra_configure_flags +] \
|
||||
[+extra_configure_flags+][+ ENDIF extra_configure_flags +]
|
||||
--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 +]
|
||||
[+ ENDIF bootstrap +]
|
||||
@@ -1066,7 +908,7 @@ all-[+prefix+][+module+]: configure-[+prefix+][+module+][+ IF bootstrap +][+ ELS
|
||||
@: $(MAKE); $(unstage)[+ ENDIF bootstrap +]
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
[+exports+] [+extra_exports+] \
|
||||
[+exports+] \
|
||||
(cd [+subdir+]/[+module+] && \
|
||||
$(MAKE) $(BASE_FLAGS_TO_PASS) [+args+] [+extra_make_flags+] \
|
||||
$(TARGET-[+prefix+][+module+]))
|
||||
@@ -1086,25 +928,16 @@ all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
|
||||
@[ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
|
||||
[+exports+][+ IF prev +] \
|
||||
[+poststage1_exports+][+ ENDIF prev +] [+extra_exports+] \
|
||||
[+poststage1_exports+][+ ENDIF prev +] \
|
||||
cd [+subdir+]/[+module+] && \
|
||||
$(MAKE) $(BASE_FLAGS_TO_PASS)[+ IF prefix +] \
|
||||
CFLAGS="$(CFLAGS_FOR_TARGET)" \
|
||||
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
|
||||
LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"[+ ELSE prefix +] \
|
||||
CFLAGS="$(STAGE[+id+]_CFLAGS)" \
|
||||
CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"[+ IF prev +] \
|
||||
LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \
|
||||
LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +][+ ENDIF prefix +] \
|
||||
CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
|
||||
CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
|
||||
LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
|
||||
[+args+] [+
|
||||
$(MAKE) $(BASE_FLAGS_TO_PASS) \
|
||||
CFLAGS="[+stage_cflags+]" CXXFLAGS="[+stage_cflags+]" \
|
||||
LIBCFLAGS="[+stage_libcflags+]" \
|
||||
CFLAGS_FOR_TARGET="[+stage_libcflags+]" \
|
||||
CXXFLAGS_FOR_TARGET="[+stage_libcflags+]" [+args+] [+
|
||||
IF prev +][+poststage1_args+][+ ENDIF prev
|
||||
+] [+extra_make_flags+] \
|
||||
TFLAGS="$(STAGE[+id+]_TFLAGS)" \
|
||||
$(TARGET-stage[+id+]-[+prefix+][+module+])
|
||||
|
||||
maybe-clean-stage[+id+]-[+prefix+][+module+]: clean-stage[+id+]-[+prefix+][+module+]
|
||||
@@ -1201,23 +1034,6 @@ install-[+module+]: installdirs
|
||||
[+ ENDIF no_install +]
|
||||
@endif [+module+]
|
||||
|
||||
.PHONY: install-strip-[+module+] maybe-install-strip-[+module+]
|
||||
maybe-install-strip-[+module+]:
|
||||
@if [+module+]
|
||||
maybe-install-strip-[+module+]: install-strip-[+module+]
|
||||
[+ IF no_install +]
|
||||
install-strip-[+module+]:
|
||||
[+ ELSE install +]
|
||||
install-strip-[+module+]: installdirs
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
(cd $(HOST_SUBDIR)/[+module+] && \
|
||||
$(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] install-strip)
|
||||
[+ ENDIF no_install +]
|
||||
@endif [+module+]
|
||||
|
||||
# Other targets (info, dvi, pdf, etc.)
|
||||
[+ FOR recursive_targets +]
|
||||
.PHONY: maybe-[+make_target+]-[+module+] [+make_target+]-[+module+]
|
||||
@@ -1330,28 +1146,6 @@ ENDIF raw_cxx +]
|
||||
[+ ENDIF no_install +]
|
||||
@endif target-[+module+]
|
||||
|
||||
.PHONY: install-strip-target-[+module+] maybe-install-strip-target-[+module+]
|
||||
maybe-install-strip-target-[+module+]:
|
||||
@if target-[+module+]
|
||||
maybe-install-strip-target-[+module+]: install-strip-target-[+module+]
|
||||
[+ IF no_install +]
|
||||
# Dummy target for uninstallable.
|
||||
install-strip-target-[+module+]:
|
||||
[+ ELSE install +]
|
||||
install-strip-target-[+module+]: installdirs
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
|
||||
IF raw_cxx +]
|
||||
$(RAW_CXX_TARGET_EXPORTS) \[+
|
||||
ELSE normal_cxx +]
|
||||
$(NORMAL_TARGET_EXPORTS) \[+
|
||||
ENDIF raw_cxx +]
|
||||
(cd $(TARGET_SUBDIR)/[+module+] && \
|
||||
$(MAKE) $(TARGET_FLAGS_TO_PASS) [+extra_make_flags+] install-strip)
|
||||
[+ ENDIF no_install +]
|
||||
@endif target-[+module+]
|
||||
|
||||
# Other targets (info, dvi, pdf, etc.)
|
||||
[+ FOR recursive_targets +]
|
||||
.PHONY: maybe-[+make_target+]-target-[+module+] [+make_target+]-target-[+module+]
|
||||
@@ -1410,15 +1204,19 @@ cross: all-build all-gas all-ld
|
||||
@endif gcc-no-bootstrap
|
||||
|
||||
@if gcc
|
||||
[+ FOR languages +]
|
||||
.PHONY: check-gcc-[+language+] check-[+language+]
|
||||
check-gcc-[+language+]:
|
||||
r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) [+gcc-check-target+]);
|
||||
check-[+language+]: check-gcc-[+language+][+ FOR lib-check-target +] [+ lib-check-target +][+ ENDFOR lib-check-target +]
|
||||
[+ ENDFOR languages +]
|
||||
.PHONY: check-gcc-c++
|
||||
check-gcc-c++:
|
||||
@if [ -f ./gcc/Makefile ] ; then \
|
||||
r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(HOST_EXPORTS) \
|
||||
(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
|
||||
.PHONY: check-c++
|
||||
check-c++: check-target-libstdc++-v3 check-gcc-c++
|
||||
|
||||
# Install the gcc headers files, but not the fixed include files,
|
||||
# which Cygnus is not allowed to distribute. This rule is very
|
||||
@@ -1562,16 +1360,15 @@ do-clean: clean-stage[+id+]
|
||||
: $(MAKE); $(stage); \
|
||||
rm -f .bad_compare ; \
|
||||
echo Comparing stages [+prev+] and [+id+] ; \
|
||||
sed=`echo stage[+id+] | sed 's,^stage,,;s,.,.,g'`; \
|
||||
files=`find stage[+id+]-* -name "*$(objext)" -print | \
|
||||
sed -n s,^stage$$sed-,,p` ; \
|
||||
cd stage[+id+]-gcc; \
|
||||
files=`find . -name "*$(objext)" -print` ; \
|
||||
cd .. ; \
|
||||
for file in $${files} ; do \
|
||||
f1=$$r/stage[+prev+]-$$file; f2=$$r/stage[+id+]-$$file; \
|
||||
if test ! -f $$f1; then continue; fi; \
|
||||
f1=$$r/stage[+prev+]-gcc/$$file; f2=$$r/stage[+id+]-gcc/$$file; \
|
||||
$(do-[+compare-target+]) > /dev/null 2>&1; \
|
||||
if test $$? -eq 1; then \
|
||||
case $$file in \
|
||||
@compare_exclusions@) \
|
||||
./cc*-checksum$(objext) | ./libgcc/* ) \
|
||||
echo warning: $$file differs ;; \
|
||||
*) \
|
||||
echo $$file differs >> .bad_compare ;; \
|
||||
@@ -1602,7 +1399,6 @@ do-clean: clean-stage[+id+]
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
|
||||
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
|
||||
|
||||
[+bootstrap-target+]-lean:
|
||||
@@ -1613,7 +1409,6 @@ do-clean: clean-stage[+id+]
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
|
||||
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
|
||||
[+ ENDIF bootstrap-target +]
|
||||
|
||||
@@ -1636,7 +1431,6 @@ distclean-stage[+id+]::
|
||||
@: $(MAKE); $(unstage)
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
TFLAGS="$(STAGE[+id+]_TFLAGS)"; \
|
||||
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
|
||||
[+ ENDIF cleanstrap-target +]
|
||||
@endif gcc-bootstrap
|
||||
@@ -1662,8 +1456,6 @@ do-distclean: distclean-stage1
|
||||
# Provide a GCC build when we're building target libraries. This does
|
||||
# not work as a dependency, just as the minimum necessary to avoid errors.
|
||||
stage_last:
|
||||
@r=`${PWD_COMMAND}`; export r; \
|
||||
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage1-bubble
|
||||
|
||||
# Same as unstage, but not phony and defaulting to stage1-start. We place
|
||||
@@ -1674,8 +1466,8 @@ stage_current:
|
||||
.PHONY: restrap
|
||||
restrap::
|
||||
@: $(MAKE); $(stage)
|
||||
rm -rf stage1-$(TARGET_SUBDIR)[+ FOR bootstrap-stage +][+ IF prev
|
||||
+] stage[+id+]-*[+ ENDIF prev +][+ ENDFOR bootstrap-stage +]
|
||||
rm -rf stage1-$(TARGET_SUBDIR) [+ FOR bootstrap-stage +][+ IF prev
|
||||
+]stage[+id+]-* [+ ENDIF prev +][+ ENDFOR bootstrap-stage +]
|
||||
restrap:: all
|
||||
@endif gcc-bootstrap
|
||||
|
||||
|
||||
@@ -3,18 +3,7 @@
|
||||
|
||||
Note that if you configure with --enable-maintainer-mode, you will need
|
||||
special versions of automake, autoconf, libtool and gettext. You will
|
||||
find the sources for these in the respective upstream directories:
|
||||
|
||||
ftp://ftp.gnu.org/gnu/autoconf
|
||||
ftp://ftp.gnu.org/gnu/automake
|
||||
ftp://ftp.gnu.org/gnu/libtool
|
||||
ftp://ftp.gnu.org/gnu/gettext
|
||||
|
||||
The required versions of the tools for this tree are
|
||||
autoconf 2.64
|
||||
automake 1.11
|
||||
libtool 2.2.6
|
||||
gettext 0.14.5
|
||||
find the sources for these in ftp://sources.redhat.com/pub/binutils.
|
||||
|
||||
Note - "make distclean" does not work with maintainer mode enabled.
|
||||
The Makefiles in the some of the po/ subdirectories depend upon the
|
||||
|
||||
17
compile
17
compile
@@ -1,10 +1,9 @@
|
||||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand `-c -o'.
|
||||
|
||||
scriptversion=2009-04-28.21; # UTC
|
||||
scriptversion=2005-05-14.22
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
|
||||
# Foundation, Inc.
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@@ -18,7 +17,8 @@ scriptversion=2009-04-28.21; # UTC
|
||||
# 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, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
@@ -103,13 +103,13 @@ if test -z "$ofile" || test -z "$cfile"; then
|
||||
fi
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||
cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
# Note: use `[/\\:.-]' here to ensure that we don't use the same name
|
||||
# Note: use `[/.-]' here to ensure that we don't use the same name
|
||||
# that we are using for the .o file. Also, base the name on the expected
|
||||
# object file name, since that is what matters with a parallel build.
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
|
||||
while true; do
|
||||
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||
break
|
||||
@@ -138,6 +138,5 @@ exit $ret
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
||||
|
||||
84
config-ml.in
84
config-ml.in
@@ -2,7 +2,7 @@
|
||||
# wanting multilib support.
|
||||
#
|
||||
# Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
# 2005, 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
|
||||
# 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -135,12 +135,7 @@ do
|
||||
*) optarg=yes ;;
|
||||
esac
|
||||
enableopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
|
||||
# enable_shared and enable_static are handled by configure.
|
||||
# Don't undo its work.
|
||||
case $enableopt in
|
||||
enable_shared | enable_static) ;;
|
||||
*) eval $enableopt="$optarg" ;;
|
||||
esac
|
||||
eval $enableopt="$optarg"
|
||||
;;
|
||||
--norecursion | --no-recursion)
|
||||
ml_norecursion=yes
|
||||
@@ -224,6 +219,19 @@ done
|
||||
# $host here, not $target.
|
||||
|
||||
case "${host}" in
|
||||
arc-*-elf*)
|
||||
if [ x$enable_biendian != xyes ]
|
||||
then
|
||||
old_multidirs=${multidirs}
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "${x}" in
|
||||
*be*) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
;;
|
||||
arm-*-*)
|
||||
if [ x"$enable_fpu" = xno ]
|
||||
then
|
||||
@@ -374,6 +382,28 @@ mips*-*-*)
|
||||
esac
|
||||
done
|
||||
fi
|
||||
case " $multidirs " in
|
||||
*" mabi=64 "*)
|
||||
# We will not be able to create libraries with -mabi=64 if
|
||||
# we cannot even link a trivial program. It usually
|
||||
# indicates the 64bit libraries are missing.
|
||||
if echo 'main() {}' > conftest.c &&
|
||||
${CC-gcc} -mabi=64 conftest.c -o conftest; then
|
||||
:
|
||||
else
|
||||
echo Could not link program with -mabi=64, disabling it.
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*mabi=64* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
rm -f conftest.c conftest
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
powerpc*-*-* | rs6000*-*-*)
|
||||
if [ x$enable_aix64 = xno ]
|
||||
@@ -465,6 +495,30 @@ powerpc*-*-* | rs6000*-*-*)
|
||||
done
|
||||
fi
|
||||
;;
|
||||
sparc*-*-*)
|
||||
case " $multidirs " in
|
||||
*" m64 "*)
|
||||
# We will not be able to create libraries with -m64 if
|
||||
# we cannot even link a trivial program. It usually
|
||||
# indicates the 64bit libraries are missing.
|
||||
if echo 'main() {}' > conftest.c &&
|
||||
${CC-gcc} -m64 conftest.c -o conftest; then
|
||||
:
|
||||
else
|
||||
echo Could not link program with -m64, disabling it.
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*m64* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
rm -f conftest.c conftest
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
# Remove extraneous blanks from multidirs.
|
||||
@@ -504,7 +558,6 @@ multi-do:
|
||||
prefix="$(prefix)" \
|
||||
exec_prefix="$(exec_prefix)" \
|
||||
GCJFLAGS="$(GCJFLAGS) $${flags}" \
|
||||
GOCFLAGS="$(GOCFLAGS) $${flags}" \
|
||||
CXXFLAGS="$(CXXFLAGS) $${flags}" \
|
||||
LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
|
||||
LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
|
||||
@@ -738,7 +791,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags"'
|
||||
ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags"'
|
||||
|
||||
if [ "${with_target_subdir}" = "." ]; then
|
||||
CC_=$CC' '
|
||||
@@ -746,7 +799,6 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
|
||||
F77_=$F77' '
|
||||
GCJ_=$GCJ' '
|
||||
GFORTRAN_=$GFORTRAN' '
|
||||
GOC_=$GOC' '
|
||||
else
|
||||
# Create a regular expression that matches any string as long
|
||||
# as ML_POPDIR.
|
||||
@@ -811,18 +863,6 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
|
||||
esac
|
||||
done
|
||||
|
||||
GOC_=
|
||||
for arg in ${GOC}; do
|
||||
case $arg in
|
||||
-[BIL]"${ML_POPDIR}"/*)
|
||||
GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
|
||||
"${ML_POPDIR}"/*)
|
||||
GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
|
||||
*)
|
||||
GOC_="${GOC_}${arg} " ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test "x${LD_LIBRARY_PATH+set}" = xset; then
|
||||
LD_LIBRARY_PATH_=
|
||||
for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do
|
||||
|
||||
439
config.guess
vendored
439
config.guess
vendored
@@ -1,10 +1,10 @@
|
||||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
# 2011 Free Software Foundation, Inc.
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2011-02-02'
|
||||
timestamp='2008-04-14'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
@@ -27,16 +27,16 @@ timestamp='2011-02-02'
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
|
||||
# Originally written by Per Bothner. Please send patches (context
|
||||
# diff format) to <config-patches@gnu.org> and include a ChangeLog
|
||||
# entry.
|
||||
# Originally written by Per Bothner <per@bothner.com>.
|
||||
# Please send patches to <config-patches@gnu.org>. Submit a context
|
||||
# diff and a properly formatted ChangeLog entry.
|
||||
#
|
||||
# This script attempts to guess a canonical system name similar to
|
||||
# config.sub. If it succeeds, it prints the system name on stdout, and
|
||||
# exits with 0. Otherwise, it exits with 1.
|
||||
#
|
||||
# You can get the latest version of this script from:
|
||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
|
||||
# The plan is that this can be called by configure scripts if you
|
||||
# don't specify an explicit build system type.
|
||||
|
||||
me=`echo "$0" | sed -e 's,.*/,,'`
|
||||
|
||||
@@ -56,9 +56,8 @@ version="\
|
||||
GNU config.guess ($timestamp)
|
||||
|
||||
Originally written by Per Bothner.
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
|
||||
Software Foundation, Inc.
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
||||
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
@@ -171,7 +170,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
||||
eval $set_cc_for_build
|
||||
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
| grep -q __ELF__
|
||||
| grep __ELF__ >/dev/null
|
||||
then
|
||||
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
|
||||
# Return netbsd for either. FIX?
|
||||
@@ -181,7 +180,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
os=netbsd
|
||||
os=netbsd
|
||||
;;
|
||||
esac
|
||||
# The OS release
|
||||
@@ -224,7 +223,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
|
||||
;;
|
||||
*5.*)
|
||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
|
||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
|
||||
;;
|
||||
esac
|
||||
# According to Compaq, /usr/sbin/psrinfo has been available on
|
||||
@@ -270,10 +269,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
# A Xn.n version is an unreleased experimental baselevel.
|
||||
# 1.2 uses "1.2" for uname -r.
|
||||
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
|
||||
exitcode=$?
|
||||
trap '' 0
|
||||
exit $exitcode ;;
|
||||
exit ;;
|
||||
Alpha\ *:Windows_NT*:*)
|
||||
# How do we know it's Interix rather than the generic POSIX subsystem?
|
||||
# Should we change UNAME_MACHINE based on the output of uname instead
|
||||
@@ -299,7 +295,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
echo s390-ibm-zvmoe
|
||||
exit ;;
|
||||
*:OS400:*:*)
|
||||
echo powerpc-ibm-os400
|
||||
echo powerpc-ibm-os400
|
||||
exit ;;
|
||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||
@@ -328,33 +324,14 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
case `/usr/bin/uname -p` in
|
||||
sparc) echo sparc-icl-nx7; exit ;;
|
||||
esac ;;
|
||||
s390x:SunOS:*:*)
|
||||
echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit ;;
|
||||
sun4H:SunOS:5.*:*)
|
||||
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit ;;
|
||||
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
|
||||
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit ;;
|
||||
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
|
||||
echo i386-pc-auroraux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
|
||||
eval $set_cc_for_build
|
||||
SUN_ARCH="i386"
|
||||
# If there is a compiler, see if it is configured for 64-bit objects.
|
||||
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
|
||||
# This test works for both compilers.
|
||||
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
||||
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||
grep IS_64BIT_ARCH >/dev/null
|
||||
then
|
||||
SUN_ARCH="x86_64"
|
||||
fi
|
||||
fi
|
||||
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit ;;
|
||||
sun4*:SunOS:6*:*)
|
||||
# According to config.sub, this is the proper way to canonicalize
|
||||
@@ -398,23 +375,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
# MiNT. But MiNT is downward compatible to TOS, so this should
|
||||
# be no problem.
|
||||
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
exit ;;
|
||||
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
|
||||
echo m68k-milan-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
echo m68k-milan-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
|
||||
echo m68k-hades-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
echo m68k-hades-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
|
||||
echo m68k-unknown-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
echo m68k-unknown-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
m68k:machten:*:*)
|
||||
echo m68k-apple-machten${UNAME_RELEASE}
|
||||
exit ;;
|
||||
@@ -484,8 +461,8 @@ EOF
|
||||
echo m88k-motorola-sysv3
|
||||
exit ;;
|
||||
AViiON:dgux:*:*)
|
||||
# DG/UX returns AViiON for all architectures
|
||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||
# DG/UX returns AViiON for all architectures
|
||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
|
||||
then
|
||||
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
|
||||
@@ -498,7 +475,7 @@ EOF
|
||||
else
|
||||
echo i586-dg-dgux${UNAME_RELEASE}
|
||||
fi
|
||||
exit ;;
|
||||
exit ;;
|
||||
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
||||
echo m88k-dolphin-sysv3
|
||||
exit ;;
|
||||
@@ -555,7 +532,7 @@ EOF
|
||||
echo rs6000-ibm-aix3.2
|
||||
fi
|
||||
exit ;;
|
||||
*:AIX:*:[4567])
|
||||
*:AIX:*:[456])
|
||||
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
|
||||
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
|
||||
IBM_ARCH=rs6000
|
||||
@@ -598,52 +575,52 @@ EOF
|
||||
9000/[678][0-9][0-9])
|
||||
if [ -x /usr/bin/getconf ]; then
|
||||
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
|
||||
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
||||
case "${sc_cpu_version}" in
|
||||
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
||||
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
||||
532) # CPU_PA_RISC2_0
|
||||
case "${sc_kernel_bits}" in
|
||||
32) HP_ARCH="hppa2.0n" ;;
|
||||
64) HP_ARCH="hppa2.0w" ;;
|
||||
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
||||
case "${sc_cpu_version}" in
|
||||
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
||||
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
||||
532) # CPU_PA_RISC2_0
|
||||
case "${sc_kernel_bits}" in
|
||||
32) HP_ARCH="hppa2.0n" ;;
|
||||
64) HP_ARCH="hppa2.0w" ;;
|
||||
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
|
||||
esac ;;
|
||||
esac
|
||||
esac ;;
|
||||
esac
|
||||
fi
|
||||
if [ "${HP_ARCH}" = "" ]; then
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
|
||||
#define _HPUX_SOURCE
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#define _HPUX_SOURCE
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main ()
|
||||
{
|
||||
#if defined(_SC_KERNEL_BITS)
|
||||
long bits = sysconf(_SC_KERNEL_BITS);
|
||||
#endif
|
||||
long cpu = sysconf (_SC_CPU_VERSION);
|
||||
int main ()
|
||||
{
|
||||
#if defined(_SC_KERNEL_BITS)
|
||||
long bits = sysconf(_SC_KERNEL_BITS);
|
||||
#endif
|
||||
long cpu = sysconf (_SC_CPU_VERSION);
|
||||
|
||||
switch (cpu)
|
||||
{
|
||||
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
|
||||
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
|
||||
case CPU_PA_RISC2_0:
|
||||
#if defined(_SC_KERNEL_BITS)
|
||||
switch (bits)
|
||||
{
|
||||
case 64: puts ("hppa2.0w"); break;
|
||||
case 32: puts ("hppa2.0n"); break;
|
||||
default: puts ("hppa2.0"); break;
|
||||
} break;
|
||||
#else /* !defined(_SC_KERNEL_BITS) */
|
||||
puts ("hppa2.0"); break;
|
||||
#endif
|
||||
default: puts ("hppa1.0"); break;
|
||||
}
|
||||
exit (0);
|
||||
}
|
||||
switch (cpu)
|
||||
{
|
||||
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
|
||||
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
|
||||
case CPU_PA_RISC2_0:
|
||||
#if defined(_SC_KERNEL_BITS)
|
||||
switch (bits)
|
||||
{
|
||||
case 64: puts ("hppa2.0w"); break;
|
||||
case 32: puts ("hppa2.0n"); break;
|
||||
default: puts ("hppa2.0"); break;
|
||||
} break;
|
||||
#else /* !defined(_SC_KERNEL_BITS) */
|
||||
puts ("hppa2.0"); break;
|
||||
#endif
|
||||
default: puts ("hppa1.0"); break;
|
||||
}
|
||||
exit (0);
|
||||
}
|
||||
EOF
|
||||
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
|
||||
test -z "$HP_ARCH" && HP_ARCH=hppa
|
||||
@@ -663,7 +640,7 @@ EOF
|
||||
# => hppa64-hp-hpux11.23
|
||||
|
||||
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
|
||||
grep -q __LP64__
|
||||
grep __LP64__ >/dev/null
|
||||
then
|
||||
HP_ARCH="hppa2.0w"
|
||||
else
|
||||
@@ -734,22 +711,22 @@ EOF
|
||||
exit ;;
|
||||
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
||||
echo c1-convex-bsd
|
||||
exit ;;
|
||||
exit ;;
|
||||
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit ;;
|
||||
exit ;;
|
||||
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
||||
echo c34-convex-bsd
|
||||
exit ;;
|
||||
exit ;;
|
||||
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
||||
echo c38-convex-bsd
|
||||
exit ;;
|
||||
exit ;;
|
||||
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||
echo c4-convex-bsd
|
||||
exit ;;
|
||||
exit ;;
|
||||
CRAY*Y-MP:*:*:*)
|
||||
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||
exit ;;
|
||||
@@ -773,14 +750,14 @@ EOF
|
||||
exit ;;
|
||||
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
||||
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit ;;
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit ;;
|
||||
5000:UNIX_System_V:4.*:*)
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
|
||||
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
|
||||
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit ;;
|
||||
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
||||
@@ -808,18 +785,18 @@ EOF
|
||||
echo ${UNAME_MACHINE}-pc-mingw32
|
||||
exit ;;
|
||||
i*:windows32*:*)
|
||||
# uname -m includes "-pc" on this system.
|
||||
echo ${UNAME_MACHINE}-mingw32
|
||||
# uname -m includes "-pc" on this system.
|
||||
echo ${UNAME_MACHINE}-mingw32
|
||||
exit ;;
|
||||
i*:PW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-pw32
|
||||
exit ;;
|
||||
*:Interix*:*)
|
||||
case ${UNAME_MACHINE} in
|
||||
*:Interix*:[3456]*)
|
||||
case ${UNAME_MACHINE} in
|
||||
x86)
|
||||
echo i586-pc-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
authenticamd | genuineintel | EM64T)
|
||||
EM64T | authenticamd)
|
||||
echo x86_64-unknown-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
IA64)
|
||||
@@ -829,9 +806,6 @@ EOF
|
||||
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
|
||||
echo i${UNAME_MACHINE}-pc-mks
|
||||
exit ;;
|
||||
8664:Windows_NT:*)
|
||||
echo x86_64-pc-mks
|
||||
exit ;;
|
||||
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
|
||||
# How do we know it's Interix rather than the generic POSIX subsystem?
|
||||
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
|
||||
@@ -861,20 +835,6 @@ EOF
|
||||
i*86:Minix:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-minix
|
||||
exit ;;
|
||||
alpha:Linux:*:*)
|
||||
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
||||
EV5) UNAME_MACHINE=alphaev5 ;;
|
||||
EV56) UNAME_MACHINE=alphaev56 ;;
|
||||
PCA56) UNAME_MACHINE=alphapca56 ;;
|
||||
PCA57) UNAME_MACHINE=alphapca56 ;;
|
||||
EV6) UNAME_MACHINE=alphaev6 ;;
|
||||
EV67) UNAME_MACHINE=alphaev67 ;;
|
||||
EV68*) UNAME_MACHINE=alphaev68 ;;
|
||||
esac
|
||||
objdump --private-headers /bin/sh | grep -q ld.so.1
|
||||
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
|
||||
exit ;;
|
||||
arm*:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
@@ -895,18 +855,7 @@ EOF
|
||||
echo crisv32-axis-linux-gnu
|
||||
exit ;;
|
||||
frv:Linux:*:*)
|
||||
echo frv-unknown-linux-gnu
|
||||
exit ;;
|
||||
i*86:Linux:*:*)
|
||||
LIBC=gnu
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
#ifdef __dietlibc__
|
||||
LIBC=dietlibc
|
||||
#endif
|
||||
EOF
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
|
||||
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
|
||||
echo frv-unknown-linux-gnu
|
||||
exit ;;
|
||||
ia64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
@@ -917,33 +866,74 @@ EOF
|
||||
m68*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
mips:Linux:*:* | mips64:Linux:*:*)
|
||||
mips:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
#undef CPU
|
||||
#undef ${UNAME_MACHINE}
|
||||
#undef ${UNAME_MACHINE}el
|
||||
#undef mips
|
||||
#undef mipsel
|
||||
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
|
||||
CPU=${UNAME_MACHINE}el
|
||||
CPU=mipsel
|
||||
#else
|
||||
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
|
||||
CPU=${UNAME_MACHINE}
|
||||
CPU=mips
|
||||
#else
|
||||
CPU=
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
|
||||
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
||||
/^CPU/{
|
||||
s: ::g
|
||||
p
|
||||
}'`"
|
||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
||||
;;
|
||||
mips64:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
#undef CPU
|
||||
#undef mips64
|
||||
#undef mips64el
|
||||
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
|
||||
CPU=mips64el
|
||||
#else
|
||||
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
|
||||
CPU=mips64
|
||||
#else
|
||||
CPU=
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
||||
/^CPU/{
|
||||
s: ::g
|
||||
p
|
||||
}'`"
|
||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
||||
;;
|
||||
or32:Linux:*:*)
|
||||
echo or32-unknown-linux-gnu
|
||||
exit ;;
|
||||
padre:Linux:*:*)
|
||||
echo sparc-unknown-linux-gnu
|
||||
ppc:Linux:*:*)
|
||||
echo powerpc-unknown-linux-gnu
|
||||
exit ;;
|
||||
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
||||
echo hppa64-unknown-linux-gnu
|
||||
ppc64:Linux:*:*)
|
||||
echo powerpc64-unknown-linux-gnu
|
||||
exit ;;
|
||||
alpha:Linux:*:*)
|
||||
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
||||
EV5) UNAME_MACHINE=alphaev5 ;;
|
||||
EV56) UNAME_MACHINE=alphaev56 ;;
|
||||
PCA56) UNAME_MACHINE=alphapca56 ;;
|
||||
PCA57) UNAME_MACHINE=alphapca56 ;;
|
||||
EV6) UNAME_MACHINE=alphaev6 ;;
|
||||
EV67) UNAME_MACHINE=alphaev67 ;;
|
||||
EV68*) UNAME_MACHINE=alphaev68 ;;
|
||||
esac
|
||||
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
|
||||
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
|
||||
exit ;;
|
||||
parisc:Linux:*:* | hppa:Linux:*:*)
|
||||
# Look for CPU level
|
||||
@@ -953,17 +943,14 @@ EOF
|
||||
*) echo hppa-unknown-linux-gnu ;;
|
||||
esac
|
||||
exit ;;
|
||||
ppc64:Linux:*:*)
|
||||
echo powerpc64-unknown-linux-gnu
|
||||
exit ;;
|
||||
ppc:Linux:*:*)
|
||||
echo powerpc-unknown-linux-gnu
|
||||
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
||||
echo hppa64-unknown-linux-gnu
|
||||
exit ;;
|
||||
s390:Linux:*:* | s390x:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-ibm-linux
|
||||
exit ;;
|
||||
sh64*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
sh*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
@@ -971,9 +958,6 @@ EOF
|
||||
sparc:Linux:*:* | sparc64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
tile*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-tilera-linux-gnu
|
||||
exit ;;
|
||||
vax:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-dec-linux-gnu
|
||||
exit ;;
|
||||
@@ -981,8 +965,68 @@ EOF
|
||||
echo x86_64-unknown-linux-gnu
|
||||
exit ;;
|
||||
xtensa*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
i*86:Linux:*:*)
|
||||
# The BFD linker knows what the default object file format is, so
|
||||
# first see if it will tell us. cd to the root directory to prevent
|
||||
# problems with other programs or directories called `ld' in the path.
|
||||
# Set LC_ALL=C to ensure ld outputs messages in English.
|
||||
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
|
||||
| sed -ne '/supported targets:/!d
|
||||
s/[ ][ ]*/ /g
|
||||
s/.*supported targets: *//
|
||||
s/ .*//
|
||||
p'`
|
||||
case "$ld_supported_targets" in
|
||||
elf32-i386)
|
||||
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
|
||||
;;
|
||||
a.out-i386-linux)
|
||||
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
|
||||
exit ;;
|
||||
"")
|
||||
# Either a pre-BFD a.out linker (linux-gnuoldld) or
|
||||
# one that does not give us useful --help.
|
||||
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
|
||||
exit ;;
|
||||
esac
|
||||
# Determine whether the default compiler is a.out or elf
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
#include <features.h>
|
||||
#ifdef __ELF__
|
||||
# ifdef __GLIBC__
|
||||
# if __GLIBC__ >= 2
|
||||
LIBC=gnu
|
||||
# else
|
||||
LIBC=gnulibc1
|
||||
# endif
|
||||
# else
|
||||
LIBC=gnulibc1
|
||||
# endif
|
||||
#else
|
||||
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
|
||||
LIBC=gnu
|
||||
#else
|
||||
LIBC=gnuaout
|
||||
#endif
|
||||
#endif
|
||||
#ifdef __dietlibc__
|
||||
LIBC=dietlibc
|
||||
#endif
|
||||
EOF
|
||||
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
||||
/^LIBC/{
|
||||
s: ::g
|
||||
p
|
||||
}'`"
|
||||
test x"${LIBC}" != x && {
|
||||
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
|
||||
exit
|
||||
}
|
||||
test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
|
||||
;;
|
||||
i*86:DYNIX/ptx:4*:*)
|
||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
|
||||
# earlier versions are messed up and put the nodename in both
|
||||
@@ -990,11 +1034,11 @@ EOF
|
||||
echo i386-sequent-sysv4
|
||||
exit ;;
|
||||
i*86:UNIX_SV:4.2MP:2.*)
|
||||
# Unixware is an offshoot of SVR4, but it has its own version
|
||||
# number series starting with 2...
|
||||
# I am not positive that other SVR4 systems won't match this,
|
||||
# Unixware is an offshoot of SVR4, but it has its own version
|
||||
# number series starting with 2...
|
||||
# I am not positive that other SVR4 systems won't match this,
|
||||
# I just have to hope. -- rms.
|
||||
# Use sysv4.2uw... so that sysv4* matches it.
|
||||
# Use sysv4.2uw... so that sysv4* matches it.
|
||||
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
|
||||
exit ;;
|
||||
i*86:OS/2:*:*)
|
||||
@@ -1011,7 +1055,7 @@ EOF
|
||||
i*86:syllable:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-syllable
|
||||
exit ;;
|
||||
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
|
||||
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
|
||||
echo i386-unknown-lynxos${UNAME_RELEASE}
|
||||
exit ;;
|
||||
i*86:*DOS:*:*)
|
||||
@@ -1026,7 +1070,7 @@ EOF
|
||||
fi
|
||||
exit ;;
|
||||
i*86:*:5:[678]*)
|
||||
# UnixWare 7.x, OpenUNIX and OpenServer 6.
|
||||
# UnixWare 7.x, OpenUNIX and OpenServer 6.
|
||||
case `/bin/uname -X | grep "^Machine"` in
|
||||
*486*) UNAME_MACHINE=i486 ;;
|
||||
*Pentium) UNAME_MACHINE=i586 ;;
|
||||
@@ -1054,13 +1098,10 @@ EOF
|
||||
exit ;;
|
||||
pc:*:*:*)
|
||||
# Left here for compatibility:
|
||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||
# the processor, so we play safe by assuming i586.
|
||||
# Note: whatever this is, it MUST be the same as what config.sub
|
||||
# prints for the "djgpp" host, or else GDB configury will decide that
|
||||
# this is a cross-build.
|
||||
echo i586-pc-msdosdjgpp
|
||||
exit ;;
|
||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||
# the processor, so we play safe by assuming i386.
|
||||
echo i386-pc-msdosdjgpp
|
||||
exit ;;
|
||||
Intel:Mach:3*:*)
|
||||
echo i386-pc-mach3
|
||||
exit ;;
|
||||
@@ -1095,18 +1136,8 @@ EOF
|
||||
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
||||
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
|
||||
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& { echo i486-ncr-sysv4; exit; } ;;
|
||||
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
|
||||
OS_REL='.3'
|
||||
test -r /etc/.relid \
|
||||
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& { echo i486-ncr-sysv4.3${OS_REL}; exit; }
|
||||
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
||||
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; }
|
||||
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
|
||||
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& { echo i486-ncr-sysv4; exit; } ;;
|
||||
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
|
||||
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
||||
exit ;;
|
||||
@@ -1119,7 +1150,7 @@ EOF
|
||||
rs6000:LynxOS:2.*:*)
|
||||
echo rs6000-unknown-lynxos${UNAME_RELEASE}
|
||||
exit ;;
|
||||
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
|
||||
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
|
||||
echo powerpc-unknown-lynxos${UNAME_RELEASE}
|
||||
exit ;;
|
||||
SM[BE]S:UNIX_SV:*:*)
|
||||
@@ -1139,10 +1170,10 @@ EOF
|
||||
echo ns32k-sni-sysv
|
||||
fi
|
||||
exit ;;
|
||||
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||
echo i586-unisys-sysv4
|
||||
exit ;;
|
||||
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||
echo i586-unisys-sysv4
|
||||
exit ;;
|
||||
*:UNIX_System_V:4*:FTX*)
|
||||
# From Gerald Hewes <hewes@openmarket.com>.
|
||||
# How about differentiating between stratus architectures? -djm
|
||||
@@ -1168,11 +1199,11 @@ EOF
|
||||
exit ;;
|
||||
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
|
||||
if [ -d /usr/nec ]; then
|
||||
echo mips-nec-sysv${UNAME_RELEASE}
|
||||
echo mips-nec-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit ;;
|
||||
exit ;;
|
||||
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
|
||||
echo powerpc-be-beos
|
||||
exit ;;
|
||||
@@ -1212,16 +1243,6 @@ EOF
|
||||
*:Darwin:*:*)
|
||||
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
|
||||
case $UNAME_PROCESSOR in
|
||||
i386)
|
||||
eval $set_cc_for_build
|
||||
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
||||
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||
grep IS_64BIT_ARCH >/dev/null
|
||||
then
|
||||
UNAME_PROCESSOR="x86_64"
|
||||
fi
|
||||
fi ;;
|
||||
unknown) UNAME_PROCESSOR=powerpc ;;
|
||||
esac
|
||||
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
||||
@@ -1237,9 +1258,6 @@ EOF
|
||||
*:QNX:*:4*)
|
||||
echo i386-pc-qnx
|
||||
exit ;;
|
||||
NEO-?:NONSTOP_KERNEL:*:*)
|
||||
echo neo-tandem-nsk${UNAME_RELEASE}
|
||||
exit ;;
|
||||
NSE-?:NONSTOP_KERNEL:*:*)
|
||||
echo nse-tandem-nsk${UNAME_RELEASE}
|
||||
exit ;;
|
||||
@@ -1285,13 +1303,13 @@ EOF
|
||||
echo pdp10-unknown-its
|
||||
exit ;;
|
||||
SEI:*:*:SEIUX)
|
||||
echo mips-sei-seiux${UNAME_RELEASE}
|
||||
echo mips-sei-seiux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:DragonFly:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
||||
exit ;;
|
||||
*:*VMS:*:*)
|
||||
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||
case "${UNAME_MACHINE}" in
|
||||
A*) echo alpha-dec-vms ; exit ;;
|
||||
I*) echo ia64-dec-vms ; exit ;;
|
||||
@@ -1306,9 +1324,6 @@ EOF
|
||||
i*86:rdos:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-rdos
|
||||
exit ;;
|
||||
i*86:AROS:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-aros
|
||||
exit ;;
|
||||
esac
|
||||
|
||||
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||
@@ -1331,11 +1346,11 @@ main ()
|
||||
#include <sys/param.h>
|
||||
printf ("m68k-sony-newsos%s\n",
|
||||
#ifdef NEWSOS4
|
||||
"4"
|
||||
"4"
|
||||
#else
|
||||
""
|
||||
""
|
||||
#endif
|
||||
); exit (0);
|
||||
); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
@@ -284,6 +284,9 @@ else
|
||||
dgux*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
;;
|
||||
freebsd1*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
freebsd2.2*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
@@ -445,6 +448,8 @@ case "$host_os" in
|
||||
;;
|
||||
dgux*)
|
||||
;;
|
||||
freebsd1*)
|
||||
;;
|
||||
freebsd*)
|
||||
;;
|
||||
gnu*)
|
||||
|
||||
215
config.sub
vendored
215
config.sub
vendored
@@ -1,10 +1,10 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
# 2011 Free Software Foundation, Inc.
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2011-03-23'
|
||||
timestamp='2008-04-14'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
@@ -32,16 +32,13 @@ timestamp='2011-03-23'
|
||||
|
||||
|
||||
# Please send patches to <config-patches@gnu.org>. Submit a context
|
||||
# diff and a properly formatted GNU ChangeLog entry.
|
||||
# diff and a properly formatted ChangeLog entry.
|
||||
#
|
||||
# Configuration subroutine to validate and canonicalize a configuration type.
|
||||
# Supply the specified configuration type as an argument.
|
||||
# If it is invalid, we print an error message on stderr and exit with code 1.
|
||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||
|
||||
# You can get the latest version of this script from:
|
||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
|
||||
|
||||
# This file is supposed to be the same for all GNU packages
|
||||
# and recognize all the CPU types, system types and aliases
|
||||
# that are meaningful with *any* GNU software.
|
||||
@@ -75,9 +72,8 @@ Report bugs and patches to <config-patches@gnu.org>."
|
||||
version="\
|
||||
GNU config.sub ($timestamp)
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
|
||||
Software Foundation, Inc.
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
||||
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
@@ -124,10 +120,8 @@ esac
|
||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
||||
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
||||
knetbsd*-gnu* | netbsd*-gnu* | \
|
||||
kopensolaris*-gnu* | \
|
||||
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
|
||||
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
|
||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||
os=-$maybe_os
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
@@ -154,13 +148,10 @@ case $os in
|
||||
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
||||
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
||||
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
||||
-apple | -axis | -knuth | -cray | -microblaze)
|
||||
-apple | -axis | -knuth | -cray)
|
||||
os=
|
||||
basic_machine=$1
|
||||
;;
|
||||
-bluegene*)
|
||||
os=-cnk
|
||||
;;
|
||||
-sim | -cisco | -oki | -wec | -winbond)
|
||||
os=
|
||||
basic_machine=$1
|
||||
@@ -175,10 +166,10 @@ case $os in
|
||||
os=-chorusos
|
||||
basic_machine=$1
|
||||
;;
|
||||
-chorusrdb)
|
||||
os=-chorusrdb
|
||||
-chorusrdb)
|
||||
os=-chorusrdb
|
||||
basic_machine=$1
|
||||
;;
|
||||
;;
|
||||
-hiux*)
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
@@ -258,7 +249,6 @@ case $basic_machine in
|
||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| lm32 \
|
||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||
| maxq | mb | microblaze | mcore | mep | metag \
|
||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||
@@ -280,42 +270,28 @@ case $basic_machine in
|
||||
| mipsisa64sr71k | mipsisa64sr71kel \
|
||||
| mipstx39 | mipstx39el \
|
||||
| mn10200 | mn10300 \
|
||||
| moxie \
|
||||
| mt \
|
||||
| msp430 \
|
||||
| nds32 | nds32le | nds32be \
|
||||
| nios | nios2 \
|
||||
| ns16k | ns32k \
|
||||
| open8 \
|
||||
| or32 \
|
||||
| pdp10 | pdp11 | pj | pjl \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||
| pyramid \
|
||||
| rx \
|
||||
| score \
|
||||
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| sh64 | sh64le \
|
||||
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
||||
| spu \
|
||||
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
|
||||
| ubicom32 \
|
||||
| spu | strongarm \
|
||||
| tahoe | thumb | tic4x | tic80 | tron \
|
||||
| v850 | v850e \
|
||||
| we32k \
|
||||
| x86 | xc16x | xstormy16 | xtensa \
|
||||
| z8k | z80)
|
||||
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
|
||||
| z8k)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
c54x)
|
||||
basic_machine=tic54x-unknown
|
||||
;;
|
||||
c55x)
|
||||
basic_machine=tic55x-unknown
|
||||
;;
|
||||
c6x)
|
||||
basic_machine=tic6x-unknown
|
||||
;;
|
||||
m6811 | m68hc11 | m6812 | m68hc12 | picochip)
|
||||
m6811 | m68hc11 | m6812 | m68hc12)
|
||||
# Motorola 68HC11/12.
|
||||
basic_machine=$basic_machine-unknown
|
||||
os=-none
|
||||
@@ -326,18 +302,6 @@ case $basic_machine in
|
||||
basic_machine=mt-unknown
|
||||
;;
|
||||
|
||||
strongarm | thumb | xscale)
|
||||
basic_machine=arm-unknown
|
||||
;;
|
||||
|
||||
xscaleeb)
|
||||
basic_machine=armeb-unknown
|
||||
;;
|
||||
|
||||
xscaleel)
|
||||
basic_machine=armel-unknown
|
||||
;;
|
||||
|
||||
# We use `pc' rather than `unknown'
|
||||
# because (1) that's what they normally are, and
|
||||
# (2) the word "unknown" tends to confuse beginning users.
|
||||
@@ -358,7 +322,7 @@ case $basic_machine in
|
||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||
| avr-* | avr32-* \
|
||||
| bfin-* | bs2000-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
|
||||
| clipper-* | craynv-* | cydra-* \
|
||||
| d10v-* | d30v-* | dlx-* \
|
||||
| elxsi-* \
|
||||
@@ -367,10 +331,9 @@ case $basic_machine in
|
||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
| ip2k-* | iq2000-* \
|
||||
| lm32-* \
|
||||
| m32c-* | m32r-* | m32rle-* \
|
||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
|
||||
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
|
||||
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
||||
| mips16-* \
|
||||
| mips64-* | mips64el-* \
|
||||
@@ -392,31 +355,27 @@ case $basic_machine in
|
||||
| mmix-* \
|
||||
| mt-* \
|
||||
| msp430-* \
|
||||
| nds32-* | nds32le-* | nds32be-* \
|
||||
| nios-* | nios2-* \
|
||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||
| open8-* \
|
||||
| orion-* \
|
||||
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
|
||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
||||
| pyramid-* \
|
||||
| romp-* | rs6000-* | rx-* \
|
||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||
| romp-* | rs6000-* \
|
||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
||||
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
||||
| sparclite-* \
|
||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
|
||||
| tahoe-* \
|
||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
||||
| tile-* | tilegx-* \
|
||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
|
||||
| tahoe-* | thumb-* \
|
||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
|
||||
| tron-* \
|
||||
| ubicom32-* \
|
||||
| v850-* | v850e-* | vax-* \
|
||||
| we32k-* \
|
||||
| x86-* | x86_64-* | xc16x-* | xps100-* \
|
||||
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
|
||||
| xstormy16-* | xtensa*-* \
|
||||
| ymp-* \
|
||||
| z8k-* | z80-*)
|
||||
| z8k-*)
|
||||
;;
|
||||
# Recognize the basic CPU types without company name, with glob match.
|
||||
xtensa*)
|
||||
@@ -438,7 +397,7 @@ case $basic_machine in
|
||||
basic_machine=a29k-amd
|
||||
os=-udi
|
||||
;;
|
||||
abacus)
|
||||
abacus)
|
||||
basic_machine=abacus-unknown
|
||||
;;
|
||||
adobe68k)
|
||||
@@ -484,10 +443,6 @@ case $basic_machine in
|
||||
basic_machine=m68k-apollo
|
||||
os=-bsd
|
||||
;;
|
||||
aros)
|
||||
basic_machine=i386-pc
|
||||
os=-aros
|
||||
;;
|
||||
aux)
|
||||
basic_machine=m68k-apple
|
||||
os=-aux
|
||||
@@ -504,27 +459,10 @@ case $basic_machine in
|
||||
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
os=-linux
|
||||
;;
|
||||
bluegene*)
|
||||
basic_machine=powerpc-ibm
|
||||
os=-cnk
|
||||
;;
|
||||
c54x-*)
|
||||
basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
c55x-*)
|
||||
basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
c6x-*)
|
||||
basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
c90)
|
||||
basic_machine=c90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
cegcc)
|
||||
basic_machine=arm-unknown
|
||||
os=-cegcc
|
||||
;;
|
||||
convex-c1)
|
||||
basic_machine=c1-convex
|
||||
os=-bsd
|
||||
@@ -553,7 +491,7 @@ case $basic_machine in
|
||||
basic_machine=craynv-cray
|
||||
os=-unicosmp
|
||||
;;
|
||||
cr16 | cr16-*)
|
||||
cr16)
|
||||
basic_machine=cr16-unknown
|
||||
os=-elf
|
||||
;;
|
||||
@@ -769,9 +707,6 @@ case $basic_machine in
|
||||
basic_machine=ns32k-utek
|
||||
os=-sysv
|
||||
;;
|
||||
microblaze)
|
||||
basic_machine=microblaze-xilinx
|
||||
;;
|
||||
mingw32)
|
||||
basic_machine=i386-pc
|
||||
os=-mingw32
|
||||
@@ -876,12 +811,6 @@ case $basic_machine in
|
||||
np1)
|
||||
basic_machine=np1-gould
|
||||
;;
|
||||
neo-tandem)
|
||||
basic_machine=neo-tandem
|
||||
;;
|
||||
nse-tandem)
|
||||
basic_machine=nse-tandem
|
||||
;;
|
||||
nsr-tandem)
|
||||
basic_machine=nsr-tandem
|
||||
;;
|
||||
@@ -964,10 +893,9 @@ case $basic_machine in
|
||||
;;
|
||||
power) basic_machine=power-ibm
|
||||
;;
|
||||
ppc | ppcbe) basic_machine=powerpc-unknown
|
||||
ppc) basic_machine=powerpc-unknown
|
||||
;;
|
||||
ppc-* | ppcbe-*)
|
||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ppcle | powerpclittle | ppc-le | powerpc-little)
|
||||
basic_machine=powerpcle-unknown
|
||||
@@ -1061,9 +989,6 @@ case $basic_machine in
|
||||
basic_machine=i860-stratus
|
||||
os=-sysv4
|
||||
;;
|
||||
strongarm-* | thumb-*)
|
||||
basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
sun2)
|
||||
basic_machine=m68000-sun
|
||||
;;
|
||||
@@ -1120,10 +1045,17 @@ case $basic_machine in
|
||||
basic_machine=t90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
# This must be matched before tile*.
|
||||
tilegx*)
|
||||
basic_machine=tilegx-unknown
|
||||
os=-linux-gnu
|
||||
tic54x | c54x*)
|
||||
basic_machine=tic54x-unknown
|
||||
os=-coff
|
||||
;;
|
||||
tic55x | c55x*)
|
||||
basic_machine=tic55x-unknown
|
||||
os=-coff
|
||||
;;
|
||||
tic6x | c6x*)
|
||||
basic_machine=tic6x-unknown
|
||||
os=-coff
|
||||
;;
|
||||
tile*)
|
||||
basic_machine=tile-unknown
|
||||
@@ -1196,9 +1128,6 @@ case $basic_machine in
|
||||
xps | xps100)
|
||||
basic_machine=xps100-honeywell
|
||||
;;
|
||||
xscale-* | xscalee[bl]-*)
|
||||
basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
|
||||
;;
|
||||
ymp)
|
||||
basic_machine=ymp-cray
|
||||
os=-unicos
|
||||
@@ -1207,10 +1136,6 @@ case $basic_machine in
|
||||
basic_machine=z8k-unknown
|
||||
os=-sim
|
||||
;;
|
||||
z80-*-coff)
|
||||
basic_machine=z80-unknown
|
||||
os=-sim
|
||||
;;
|
||||
none)
|
||||
basic_machine=none-none
|
||||
os=-none
|
||||
@@ -1249,7 +1174,7 @@ case $basic_machine in
|
||||
we32k)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
|
||||
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
|
||||
basic_machine=sh-unknown
|
||||
;;
|
||||
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
|
||||
@@ -1296,12 +1221,9 @@ esac
|
||||
if [ x"$os" != x"" ]
|
||||
then
|
||||
case $os in
|
||||
# First match some system type aliases
|
||||
# that might get confused with valid system types.
|
||||
# First match some system type aliases
|
||||
# that might get confused with valid system types.
|
||||
# -solaris* is a basic system type, with this one exception.
|
||||
-auroraux)
|
||||
os=-auroraux
|
||||
;;
|
||||
-solaris1 | -solaris1.*)
|
||||
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
||||
;;
|
||||
@@ -1322,11 +1244,10 @@ case $os in
|
||||
# Each alternative MUST END IN A *, to match a version number.
|
||||
# -sysv* is not here because it comes later, after sysvr4.
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
||||
| -sym* | -kopensolaris* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||
| -aos* | -aros* \
|
||||
| -aos* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||
@@ -1335,10 +1256,9 @@ case $os in
|
||||
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -chorusos* | -chorusrdb* | -cegcc* \
|
||||
| -chorusos* | -chorusrdb* \
|
||||
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -mingw32* | -linux-gnu* | -linux-android* \
|
||||
| -linux-newlib* | -linux-uclibc* \
|
||||
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
|
||||
| -uxpv* | -beos* | -mpeix* | -udk* \
|
||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||
@@ -1346,7 +1266,7 @@ case $os in
|
||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
|
||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-qnx*)
|
||||
@@ -1385,7 +1305,7 @@ case $os in
|
||||
-opened*)
|
||||
os=-openedition
|
||||
;;
|
||||
-os400*)
|
||||
-os400*)
|
||||
os=-os400
|
||||
;;
|
||||
-wince*)
|
||||
@@ -1434,7 +1354,7 @@ case $os in
|
||||
-sinix*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-tpf*)
|
||||
-tpf*)
|
||||
os=-tpf
|
||||
;;
|
||||
-triton*)
|
||||
@@ -1479,8 +1399,6 @@ case $os in
|
||||
-dicos*)
|
||||
os=-dicos
|
||||
;;
|
||||
-nacl*)
|
||||
;;
|
||||
-none)
|
||||
;;
|
||||
*)
|
||||
@@ -1503,10 +1421,10 @@ else
|
||||
# system, and we'll never get to this point.
|
||||
|
||||
case $basic_machine in
|
||||
score-*)
|
||||
score-*)
|
||||
os=-elf
|
||||
;;
|
||||
spu-*)
|
||||
spu-*)
|
||||
os=-elf
|
||||
;;
|
||||
*-acorn)
|
||||
@@ -1518,17 +1436,8 @@ case $basic_machine in
|
||||
arm*-semi)
|
||||
os=-aout
|
||||
;;
|
||||
c4x-* | tic4x-*)
|
||||
os=-coff
|
||||
;;
|
||||
tic54x-*)
|
||||
os=-coff
|
||||
;;
|
||||
tic55x-*)
|
||||
os=-coff
|
||||
;;
|
||||
tic6x-*)
|
||||
os=-coff
|
||||
c4x-* | tic4x-*)
|
||||
os=-coff
|
||||
;;
|
||||
# This must come before the *-dec entry.
|
||||
pdp10-*)
|
||||
@@ -1555,7 +1464,7 @@ case $basic_machine in
|
||||
m68*-cisco)
|
||||
os=-aout
|
||||
;;
|
||||
mep-*)
|
||||
mep-*)
|
||||
os=-elf
|
||||
;;
|
||||
mips*-cisco)
|
||||
@@ -1582,7 +1491,7 @@ case $basic_machine in
|
||||
*-ibm)
|
||||
os=-aix
|
||||
;;
|
||||
*-knuth)
|
||||
*-knuth)
|
||||
os=-mmixware
|
||||
;;
|
||||
*-wec)
|
||||
@@ -1687,7 +1596,7 @@ case $basic_machine in
|
||||
-sunos*)
|
||||
vendor=sun
|
||||
;;
|
||||
-cnk*|-aix*)
|
||||
-aix*)
|
||||
vendor=ibm
|
||||
;;
|
||||
-beos*)
|
||||
|
||||
329
config/ChangeLog
329
config/ChangeLog
@@ -1,323 +1,3 @@
|
||||
2011-04-20 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* bootstrap-lto.mk: Remove obsolete requirement.
|
||||
|
||||
2011-03-24 Paolo Bonzini <pbonzini@redhat.com>
|
||||
|
||||
* mt-mep: Remove, obsolete.
|
||||
* mt-netware: Remove, obsolete.
|
||||
* mt-wince: Remove, obsolete.
|
||||
* mt-v810: Remove, unused.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* mh-x86omitfp: Remove.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* mh-cygwin: Remove obsolete variables and dependencies.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* mh-sysv4: Remove.
|
||||
* mh-solaris: Remove.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* mh-sysv4: Remove AR_CFLAGS.
|
||||
|
||||
2011-03-24 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* mh-cxux, mh-decstation, mh-dgux386, mh-lynxrs6k, mh-ncr3000,
|
||||
mh-necv4, mh-sco, mh-sysv5: Remove.
|
||||
|
||||
2011-03-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
Eric Blake <eblake@redhat.com>
|
||||
|
||||
* override.m4: Error out if a buggy M4 was detected, to
|
||||
avoid spurious diffs in generated files.
|
||||
|
||||
2011-01-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* cloog.m4 (CLOOG_REQUESTED): Use $2 if --without-cloog.
|
||||
|
||||
2011-01-10 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* bootstrap-lto.mk: -fuse-linker-plugin is default now;
|
||||
pass -fno-lto to STAGEprofile.
|
||||
|
||||
2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
PR lto/46695
|
||||
* lthostflags.m4: New file.
|
||||
(ACX_LT_HOST_FLAGS): Define.
|
||||
|
||||
2010-12-02 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
* mh-cygwin (LDFLAGS): Turn up stack allocation to 12MB.
|
||||
(BOOT_LDFLAGS): Add matching stack size flag.
|
||||
* mh-mingw (LDFLAGS): Likewise.
|
||||
(BOOT_LDFLAGS): Likewise.
|
||||
|
||||
2010-11-27 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* bootstrap-lto.mk (BOOT_ADAFLAGS): Delete.
|
||||
|
||||
2010-11-19 Tobias Grosser <grosser@fim.uni-passau.de>
|
||||
|
||||
* cloog.m4: Use AS_HELP_STRING and fix help formatting.
|
||||
|
||||
2010-11-15 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* cloog.m4 (CLOOG_INIT_FLAGS): Fix spelling in option names.
|
||||
|
||||
2010-11-12 Tobias Grosser <grosser@fim.uni-passau.de>
|
||||
|
||||
* cloog.m4: Add -enable-cloog-backend=(isl|ppl|ppl-legacy) to
|
||||
define the cloog backend to use. Furthermore, only pass the ppllibs to
|
||||
the configure checks, if necessary.
|
||||
|
||||
2010-11-12 Tobias Grosser <grosser@fim.uni-passau.de>
|
||||
|
||||
* cloog.m4: Use CLooG predefined macro to check for CLooG PPL.
|
||||
|
||||
2010-11-12 Tobias Grosser <grosser@fim.uni-passau.de>
|
||||
|
||||
* cloog.m4: Fix typo. verison -> version.
|
||||
|
||||
2010-11-12 Tobias Grosser <grosser@fim.uni-passau.de>
|
||||
|
||||
* cloog.m4: Pass ppl libraries to the CLooG version check.
|
||||
|
||||
2010-11-11 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* bootstrap-lto: Use -flto.
|
||||
|
||||
2010-11-04 Iain Sandoe <iains@gcc.gnu.org>
|
||||
|
||||
* mh-darwin: Renamed from mh-ppc-darwin.
|
||||
|
||||
2010-06-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* po.m4 (AM_PO_SUBDIRS): Fix unportable shell quoting.
|
||||
|
||||
2010-09-10 Jonathan Yong <jon_y@users.sourceforge.net>
|
||||
|
||||
* dfp.m4: Enable decimal float for i?86 cygwin
|
||||
and mingw, and for x86_64 mingw.
|
||||
|
||||
2010-09-06 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR target/45524
|
||||
* dfp.m4: Don't set enable_decimal_float to dpd if DFP is
|
||||
disabled. Set default_decimal_float.
|
||||
|
||||
2010-09-06 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* dfp.m4: Quote argument of AC_MSG_WARN.
|
||||
|
||||
2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||||
|
||||
* dfp.m4: New file.
|
||||
|
||||
2010-09-01 Andi Kleen <ak@linux.intel.com>
|
||||
|
||||
* bootstrap-lto.mk (STAGE2_CFLAGS, STAGE3_CFLAGS): Change
|
||||
to -fwhopr=jobserver -fuse-linker-plugin -frandom-seed=1.
|
||||
|
||||
2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
PR target/45084
|
||||
* stdint.m4 (GCC_HEADER_STDINT): Use m4 quotes for arguments
|
||||
of AC_MSG_ERROR.
|
||||
|
||||
2010-07-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* gc++filt.m4: New file.
|
||||
|
||||
2010-06-20 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* bootstrap-lto.mk: New.
|
||||
|
||||
2010-06-10 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* override.m4: Remove obsolete (<2.64) definitions.
|
||||
|
||||
2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
|
||||
|
||||
PR bootstrap/43170
|
||||
* tls.m4 (GCC_CHECK_TLS): Add volatile qualifier to the test
|
||||
references. Move the main () test reference ahead of
|
||||
pthread_create(). Add a comment to explain the requirements
|
||||
of the test.
|
||||
|
||||
2010-06-03 Joern Rennecke <joern.rennecke@embecosm.com>
|
||||
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
PR bootstrap/42798
|
||||
* override.m4 (_AC_CHECK_DECL_BODY, _AC_CHECK_DECLS): Import
|
||||
definitions from git Autoconf.
|
||||
|
||||
2010-04-13 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
* elf.m4: Add hppa[12]*-*-hpux* to list of non-elf platforms.
|
||||
|
||||
2010-03-23 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
* mh-mingw: Revert accidentally checking r156315.
|
||||
|
||||
2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* stdint.m4 (GCC_HEADER_STDINT): Don't typedef uint8_t etc. if
|
||||
corresponding macros already exist.
|
||||
|
||||
2010-01-02 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR lto/41529
|
||||
* elf.m4: New file.
|
||||
|
||||
2009-11-30 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* largefile.m4 (ACX_LARGEFILE): Require AC_CANONICAL_HOST and
|
||||
AC_CANONICAL_TARGET.
|
||||
|
||||
2009-11-24 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* zlib.m4: New file.
|
||||
|
||||
2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* largefile.m4 (ACX_LARGEFILE): Call AC_PLUGINS.
|
||||
|
||||
2009-11-06 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
Joel Brobecker <brobecker@adacore.com>
|
||||
Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* largefile.m4: New file.
|
||||
|
||||
2009-10-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* acx.m4 (ACX_CHECK_CYGWIN_CAT_WORKS): Use = with test.
|
||||
|
||||
2009-09-09 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* stdint.m4 (GCC_HEADER_STDINT): Revert changes to this macro in
|
||||
the previous two patches.
|
||||
|
||||
2009-09-09 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* stdint.m4: Store temporary file in $tmp/_GCC_STDINT_H.
|
||||
|
||||
2009-09-08 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* stdint.m4: Rewrite by using autoconf 2.64 features.
|
||||
|
||||
2009-09-03 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* bootstrap-debug-big.mk (STAGE2_CFLAGS): Drop -gtoggle.
|
||||
* bootstrap-debug-lean.mk: Update comments.
|
||||
(STAGE2_CFLAGS): Likewise.
|
||||
(do-compare): Don't override.
|
||||
|
||||
2009-09-01 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* bootstrap-debug.mk: Add comments.
|
||||
* bootstrap-debug-big.mk: New.
|
||||
* bootstrap-debug-lean.mk: New.
|
||||
* bootstrap-debug-ckovw.mk: Add comments.
|
||||
* bootstrap-debug-lib.mk: Drop CFLAGS for stages. Use -g0
|
||||
for TFLAGS in stage1. Drop -fvar-tracking-assignments-toggle.
|
||||
|
||||
2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* override.m4 (_GCC_AUTOCONF_VERSION): Bump to 2.64.
|
||||
|
||||
2009-08-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* override.m4 (AC_DISABLE_OPTION_CHECKING): Define to be
|
||||
empty if not defined, to avoid error with 2.59.
|
||||
(_AC_LANG_IO_PROGRAM): When the Autoconf version is exactly
|
||||
2.64, avoid per-language instances to drop fopen from test
|
||||
program.
|
||||
|
||||
2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Do not expand
|
||||
for Autoconf 2.62 or newer.
|
||||
* tls.m4 (GCC_CHECK_TLS): Fix m4 quotation.
|
||||
* no-executables.m4 (_AC_COMPILER_EXEEXT): Fix m4 quotation.
|
||||
* override.m4 (m4_copy_force, m4_rename_force): Provide
|
||||
macros if not defined.
|
||||
(AC_PREREQ): Use m4_copy_force.
|
||||
|
||||
2009-07-17 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
PR other/40784
|
||||
* tls.m4 (GCC_CHECK_TLS): Add extra quoting around argument to
|
||||
AC_LINK_IFELSE.
|
||||
|
||||
2009-07-16 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* tls.m4 (GCC_CHECK_TLS): Also test TLS in a shared library when
|
||||
cross-compiling.
|
||||
|
||||
2009-06-25 Olivier Hainque <hainque@adacore.com>
|
||||
|
||||
* config/mh-ppc-aix (BOOT_ADAFLAGS): Remove -mminimal-toc.
|
||||
|
||||
2009-05-26 Rafael Avila de Espindola <espindola@google.com>
|
||||
|
||||
* plugins.m4: New.
|
||||
|
||||
2009-05-12 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* multi.m4: Save CXX, GFORTRAN and GCJ in config.status.
|
||||
* mt-gnu (CXXFLAGS_FOR_TARGET): Adjust.
|
||||
* bootstrap-O1.mk: New.
|
||||
* bootstrap-O3.mk: New.
|
||||
* bootstrap-debug.mk: New.
|
||||
|
||||
2009-02-02 Doug Evans <dje@google.com>
|
||||
|
||||
* tcl.m4 (SC_PATH_TCLCONFIG): Don't exit 0 if tclconfig fails.
|
||||
(SC_PATH_TKCONFIG): Don't exit 0 if tkconfig fails.
|
||||
(SC_LOAD_TCLCONFIG): Quote all uses of TCL_BIN_DIR, it may contain
|
||||
"# no Tcl configs found".
|
||||
(SC_LOAD_TKCONFIG): Similarily for TK_BIN_DIR.
|
||||
|
||||
2009-04-09 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* lead-dot.m4: Change copyright header to refer to version
|
||||
3 of the GNU General Public License and to point readers at the
|
||||
COPYING3 file and the FSF's license web page.
|
||||
* warnings.m4: Likewise.
|
||||
|
||||
2009-02-11 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
* mh-cygwin (LDFLAGS): Add linker option to increase stack limit
|
||||
up to 8MB.
|
||||
|
||||
2009-01-23 Jie Zhang <jie.zhang@analog.com>
|
||||
|
||||
* tls.m4 (GCC_CHECK_EMUTLS): Define.
|
||||
|
||||
2008-12-21 Andrew Pinski <pinskia@gmail.com>
|
||||
|
||||
PR target/38300
|
||||
* unwind_ipinfo.m4: Darwin before 9 does not have _Unwind_GetIPInfo.
|
||||
|
||||
2008-11-21 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
Fix PR/25502
|
||||
* mh-mingw (BOOT_CFLAGS): Add -Wno-pedantic-ms-format switch.
|
||||
|
||||
2008-11-12 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
PR target/27880
|
||||
* unwind_ipinfo.m4 (GCC_CHECK_UNWIND_GETIPINFO): Change from
|
||||
link test to target based test.
|
||||
|
||||
2008-08-09 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
* mt-mips16-compat: New file, taken from mt-mips-elfoabi.
|
||||
@@ -430,7 +110,7 @@
|
||||
|
||||
PR bootstrap/32009
|
||||
* mh-ppc-darwin (BOOT_CFLAGS): Reenable.
|
||||
|
||||
|
||||
2008-01-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* futex.m4: New file.
|
||||
@@ -504,7 +184,7 @@
|
||||
|
||||
* acx.m4 (ACX_CHECK_INSTALLED_TARGET_TOOL): Fixup logic for cross
|
||||
builds.
|
||||
|
||||
|
||||
2007-06-20 Mike Stump <mrs@apple.com>
|
||||
|
||||
* acx.m4 (NCN_STRICT_CHECK_TARGET_TOOLS): Fix incremental builds.
|
||||
@@ -529,7 +209,7 @@
|
||||
|
||||
2007-04-11 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
* stdint.m4: Make template compatible with older cygwin
|
||||
* stdint.m4: Make template compatible with older cygwin
|
||||
types.h, wrapping each type in a __XXX_t_defined #ifdef.
|
||||
|
||||
2007-03-26 H.J. Lu <hongjiu.lu@intel.com>
|
||||
@@ -633,8 +313,7 @@
|
||||
2006-07-25 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR build/26188
|
||||
* stdint.m4: Test for uintptr_t even on systems with uint64_t
|
||||
or uint32_t.
|
||||
* stdint.m4: Test for uintptr_t even on systems with uint64_t or uint32_t.
|
||||
|
||||
2006-07-21 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
|
||||
@@ -605,7 +605,7 @@ dnl # See binutils PR 4334 for more details.
|
||||
AC_DEFUN([ACX_CHECK_CYGWIN_CAT_WORKS],[
|
||||
AC_MSG_CHECKING([to see if cat works as expected])
|
||||
echo a >cygwin-cat-check
|
||||
if test `cat cygwin-cat-check` = a ; then
|
||||
if test `cat cygwin-cat-check` == a ; then
|
||||
rm cygwin-cat-check
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
BOOT_CFLAGS := -O1 $(filter-out -O%, $(BOOT_CFLAGS))
|
||||
@@ -1 +0,0 @@
|
||||
BOOT_CFLAGS := -O3 $(filter-out -O%, $(BOOT_CFLAGS))
|
||||
@@ -1,8 +0,0 @@
|
||||
# This BUILD_CONFIG option is a bit like bootstrap-debug-lean, but it
|
||||
# trades space for speed: instead of recompiling programs during
|
||||
# stage3, it generates dumps during stage2 and stage3, saving them all
|
||||
# until the final compare.
|
||||
|
||||
STAGE2_CFLAGS += -fdump-final-insns
|
||||
STAGE3_CFLAGS += -fdump-final-insns
|
||||
do-compare = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
|
||||
@@ -1,16 +0,0 @@
|
||||
# This BUILD_CONFIG option is to be used along with
|
||||
# bootstrap-debug-lean and bootstrap-debug-lib in a full bootstrap, to
|
||||
# check that all host and target files are built with -fcompare-debug.
|
||||
|
||||
# These arrange for a simple warning to be issued if -fcompare-debug
|
||||
# is not given.
|
||||
# BOOT_CFLAGS += -fcompare-debug="-w%n-fcompare-debug not overridden"
|
||||
# TFLAGS += -fcompare-debug="-w%n-fcompare-debug not overridden"
|
||||
|
||||
# GCC_COMPARE_DEBUG="-w%n-fcompare-debug not overridden";
|
||||
|
||||
FORCE_COMPARE_DEBUG = \
|
||||
GCC_COMPARE_DEBUG=$${GCC_COMPARE_DEBUG--fcompare-debug-not-overridden}; \
|
||||
export GCC_COMPARE_DEBUG;
|
||||
POSTSTAGE1_HOST_EXPORTS += $(FORCE_COMPARE_DEBUG)
|
||||
BASE_TARGET_EXPORTS += $(FORCE_COMPARE_DEBUG)
|
||||
@@ -1,11 +0,0 @@
|
||||
# This BUILD_CONFIG option is a bit like bootstrap-debug, but rather
|
||||
# than comparing stripped object files, it compares compiler internal
|
||||
# state during stage3. Both can be used simultaneously.
|
||||
|
||||
# This makes it slower than bootstrap-debug alone, for there's
|
||||
# additional dumping and recompilation during stage3.
|
||||
# bootstrap-debug-big can avoid the recompilation, if plenty of disk
|
||||
# space is available.
|
||||
|
||||
STAGE2_CFLAGS += -fcompare-debug=
|
||||
STAGE3_CFLAGS += -fcompare-debug
|
||||
@@ -1,12 +0,0 @@
|
||||
# This BUILD_CONFIG option tests that target libraries built during
|
||||
# stage3 would have generated the same executable code if they were
|
||||
# compiled with -g0.
|
||||
|
||||
# It uses -g0 rather than -gtoggle because -g is default on target
|
||||
# library builds, and toggling it where it's supposed to be disabled
|
||||
# breaks e.g. crtstuff on ppc.
|
||||
|
||||
STAGE1_TFLAGS += -g0 -fcompare-debug=
|
||||
STAGE2_TFLAGS += -fcompare-debug=
|
||||
STAGE3_TFLAGS += -fcompare-debug=-g0
|
||||
do-compare = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
|
||||
@@ -1,12 +0,0 @@
|
||||
# This BUILD_CONFIG option builds checks that toggling debug
|
||||
# information generation doesn't affect the generated object code.
|
||||
|
||||
# It is very lightweight: in addition to not performing any additional
|
||||
# compilation (unlike bootstrap-debug-lean), it actually speeds up
|
||||
# stage2, for no debug information is generated when compiling with
|
||||
# the unoptimized stage1.
|
||||
|
||||
# For more thorough testing, see bootstrap-debug-lean.mk
|
||||
|
||||
STAGE2_CFLAGS += -gtoggle
|
||||
do-compare = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
|
||||
@@ -1,5 +0,0 @@
|
||||
# This option enables LTO for stage2 and stage3.
|
||||
|
||||
STAGE2_CFLAGS += -flto=jobserver -frandom-seed=1
|
||||
STAGE3_CFLAGS += -flto=jobserver -frandom-seed=1
|
||||
STAGEprofile_CFLAGS += -fno-lto
|
||||
@@ -1,2 +0,0 @@
|
||||
BOOT_CFLAGS += -time=$(shell pwd)/time.log
|
||||
TFLAGS += -time=$(shell pwd)/time.log
|
||||
288
config/cloog.m4
288
config/cloog.m4
@@ -1,288 +0,0 @@
|
||||
# This file is part of GCC.
|
||||
#
|
||||
# GCC is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 3, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# GCC is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contributed by Andreas Simbuerger <simbuerg@fim.uni-passau.de>
|
||||
|
||||
# CLOOG_INIT_FLAGS ()
|
||||
# -------------------------
|
||||
# Provide configure switches for CLooG support.
|
||||
# Initialize clooglibs/clooginc according to the user input.
|
||||
AC_DEFUN([CLOOG_INIT_FLAGS],
|
||||
[
|
||||
AC_ARG_WITH(cloog,
|
||||
[AS_HELP_STRING(
|
||||
[--with-cloog=PATH],
|
||||
[Specify prefix directory for the installed CLooG-PPL package.
|
||||
Equivalent to --with-cloog-include=PATH/include
|
||||
plus --with-cloog-lib=PATH/lib])])
|
||||
AC_ARG_WITH([cloog-include],
|
||||
[AS_HELP_STRING(
|
||||
[--with-cloog-include=PATH],
|
||||
[Specify directory for installed CLooG include files])])
|
||||
AC_ARG_WITH([cloog-lib],
|
||||
[AS_HELP_STRING(
|
||||
[--with-cloog-lib=PATH],
|
||||
[Specify the directory for the installed CLooG library])])
|
||||
|
||||
AC_ARG_ENABLE(cloog-backend,
|
||||
[AS_HELP_STRING(
|
||||
[--enable-cloog-backend[[=BACKEND]]],
|
||||
[set the CLooG BACKEND used to either isl, ppl or ppl-legacy (default)])],
|
||||
[ if test "x${enableval}" = "xisl"; then
|
||||
cloog_backend=isl
|
||||
elif test "x${enableval}" = "xppl"; then
|
||||
cloog_backend=ppl
|
||||
else
|
||||
cloog_backend=ppl-legacy
|
||||
fi], cloog_backend=ppl-legacy)
|
||||
AC_ARG_ENABLE(cloog-version-check,
|
||||
[AS_HELP_STRING(
|
||||
[--disable-cloog-version-check],
|
||||
[disable check for CLooG version])],
|
||||
ENABLE_CLOOG_CHECK=$enableval,
|
||||
ENABLE_CLOOG_CHECK=yes)
|
||||
|
||||
# Initialize clooglibs and clooginc.
|
||||
case $with_cloog in
|
||||
no)
|
||||
clooglibs=
|
||||
clooginc=
|
||||
;;
|
||||
"" | yes)
|
||||
;;
|
||||
*)
|
||||
clooglibs="-L$with_cloog/lib"
|
||||
clooginc="-I$with_cloog/include"
|
||||
;;
|
||||
esac
|
||||
if test "x${with_cloog_include}" != x ; then
|
||||
clooginc="-I$with_cloog_include"
|
||||
fi
|
||||
if test "x${with_cloog_lib}" != x; then
|
||||
clooglibs="-L$with_cloog_lib"
|
||||
fi
|
||||
|
||||
dnl Flags needed for CLOOG
|
||||
AC_SUBST(clooglibs)
|
||||
AC_SUBST(clooginc)
|
||||
]
|
||||
)
|
||||
|
||||
# CLOOG_REQUESTED (ACTION-IF-REQUESTED, ACTION-IF-NOT)
|
||||
# ----------------------------------------------------
|
||||
# Provide actions for failed CLooG detection.
|
||||
AC_DEFUN([CLOOG_REQUESTED],
|
||||
[
|
||||
AC_REQUIRE([CLOOG_INIT_FLAGS])
|
||||
|
||||
if test "x${with_cloog}" = xno; then
|
||||
$2
|
||||
elif test "x${with_cloog}" != x \
|
||||
|| test "x${with_cloog_include}" != x \
|
||||
|| test "x${with_cloog_lib}" != x ; then
|
||||
$1
|
||||
else
|
||||
$2
|
||||
fi
|
||||
]
|
||||
)
|
||||
|
||||
# _CLOOG_ORG_PROG_ISL ()
|
||||
# ------------------
|
||||
# Helper for detecting CLooG.org's ISL backend.
|
||||
m4_define([_CLOOG_ORG_PROG_ISL],[AC_LANG_PROGRAM(
|
||||
[#include "cloog/cloog.h" ],
|
||||
[cloog_version ()])])
|
||||
|
||||
# _CLOOG_ORG_PROG_PPL ()
|
||||
# ------------------
|
||||
# Helper for detecting CLooG.org's PPL backend.
|
||||
m4_define([_CLOOG_ORG_PROG_PPL],[AC_LANG_PROGRAM(
|
||||
[#include "cloog/cloog.h"
|
||||
#include "cloog/ppl/cloog.h"],
|
||||
[cloog_version ()])])
|
||||
|
||||
# _CLOOG_PPL_LEGACY_PROG ()
|
||||
# -------------------------
|
||||
# Helper for detecting CLooG-Legacy (CLooG-PPL).
|
||||
m4_define([_CLOOG_PPL_LEGACY_PROG], [AC_LANG_PROGRAM(
|
||||
[#include "cloog/cloog.h"],
|
||||
[#ifndef CLOOG_PPL_BACKEND
|
||||
choke me
|
||||
#endif ])])
|
||||
|
||||
# CLOOG_FIND_FLAGS ()
|
||||
# ------------------
|
||||
# Detect the used CLooG-backend and set clooginc/clooglibs/cloog_org.
|
||||
# Only look for the CLooG backend type specified in --enable-cloog-backend
|
||||
AC_DEFUN([CLOOG_FIND_FLAGS],
|
||||
[
|
||||
AC_REQUIRE([CLOOG_INIT_FLAGS])
|
||||
|
||||
_cloog_saved_CFLAGS=$CFLAGS
|
||||
_cloog_saved_CPPFLAGS=$CPPFLAGS
|
||||
_cloog_saved_LDFLAGS=$LDFLAGS
|
||||
_cloog_saved_LIBS=$LIBS
|
||||
|
||||
_cloogorginc="-DCLOOG_INT_GMP -DCLOOG_ORG"
|
||||
|
||||
dnl clooglibs & clooginc may have been initialized by CLOOG_INIT_FLAGS.
|
||||
CFLAGS="${CFLAGS} ${clooginc} ${gmpinc}"
|
||||
CPPFLAGS="${CPPFLAGS} ${_cloogorginc}"
|
||||
LDFLAGS="${LDFLAGS} ${clooglibs}"
|
||||
|
||||
case $cloog_backend in
|
||||
"ppl-legacy")
|
||||
CFLAGS="${CFLAGS} ${pplinc}"
|
||||
LDFLAGS="${LDFLAGS} ${ppllibs}"
|
||||
AC_CACHE_CHECK([for installed CLooG PPL Legacy], [gcc_cv_cloog_type],
|
||||
[LIBS="-lcloog ${_cloog_saved_LIBS}"
|
||||
AC_LINK_IFELSE([_CLOOG_PPL_LEGACY_PROG], [gcc_cv_cloog_type="PPL Legacy"],
|
||||
[gcc_cv_cloog_type=no])])
|
||||
;;
|
||||
"isl")
|
||||
AC_CACHE_CHECK([for installed CLooG ISL], [gcc_cv_cloog_type],
|
||||
[LIBS="-lcloog-isl ${_cloog_saved_LIBS}"
|
||||
AC_LINK_IFELSE([_CLOOG_ORG_PROG_ISL], [gcc_cv_cloog_type="ISL"],
|
||||
[gcc_cv_cloog_type=no])])
|
||||
;;
|
||||
"ppl")
|
||||
CFLAGS="${CFLAGS} ${pplinc}"
|
||||
LDFLAGS="${LDFLAGS} ${ppllibs}"
|
||||
AC_CACHE_CHECK([for installed CLooG PPL], [gcc_cv_cloog_type],
|
||||
[LIBS="-lcloog-ppl ${_cloog_saved_LIBS}"
|
||||
AC_LINK_IFELSE([_CLOOG_ORG_PROG_PPL], [gcc_cv_cloog_type="PPL"],
|
||||
[gcc_cv_cloog_type=no])])
|
||||
;;
|
||||
*)
|
||||
gcc_cv_cloog_type=""
|
||||
esac
|
||||
|
||||
case $gcc_cv_cloog_type in
|
||||
"PPL Legacy")
|
||||
clooginc="${clooginc}"
|
||||
clooglibs="${clooglibs} -lcloog"
|
||||
cloog_org=no
|
||||
;;
|
||||
"ISL")
|
||||
clooginc="${clooginc} ${_cloogorginc}"
|
||||
clooglibs="${clooglibs} -lcloog-isl -lisl"
|
||||
cloog_org=yes
|
||||
;;
|
||||
"PPL")
|
||||
clooginc="${clooginc} ${_cloogorginc}"
|
||||
clooglibs="${clooglibs} -lcloog-ppl"
|
||||
cloog_org=yes
|
||||
;;
|
||||
*)
|
||||
clooglibs=
|
||||
clooginc=
|
||||
cloog_org=
|
||||
;;
|
||||
esac
|
||||
|
||||
LIBS=$_cloog_saved_LIBS
|
||||
CFLAGS=$_cloog_saved_CFLAGS
|
||||
CPPFLAGS=$_cloog_saved_CPPFLAGS
|
||||
LDFLAGS=$_cloog_saved_LDFLAGS
|
||||
]
|
||||
)
|
||||
|
||||
# _CLOOG_CHECK_CT_PROG(MAJOR, MINOR, REVISION)
|
||||
# --------------------------------------------
|
||||
# Helper for verifying CLooG's compile time version.
|
||||
m4_define([_CLOOG_CHECK_CT_PROG],[AC_LANG_PROGRAM(
|
||||
[#include "cloog/cloog.h"],
|
||||
[#if CLOOG_VERSION_MAJOR != $1 \
|
||||
|| CLOOG_VERSION_MINOR != $2 \
|
||||
|| CLOOG_VERSION_REVISION < $3
|
||||
choke me
|
||||
#endif])])
|
||||
|
||||
# _CLOOG_CHECK_RT_PROG ()
|
||||
# -----------------------
|
||||
# Helper for verifying that CLooG's compile time version
|
||||
# matches the run time version.
|
||||
m4_define([_CLOOG_CHECK_RT_PROG],[AC_LANG_PROGRAM(
|
||||
[#include "cloog/cloog.h"],
|
||||
[if ((cloog_version_major () != CLOOG_VERSION_MAJOR)
|
||||
&& (cloog_version_minor () != CLOOG_VERSION_MINOR)
|
||||
&& (cloog_version_revision () != CLOOG_VERSION_REVISION))
|
||||
{
|
||||
return 1;
|
||||
}])])
|
||||
|
||||
# CLOOG_CHECK_VERSION CLOOG_CHECK_VERSION (MAJOR, MINOR, REVISION)
|
||||
# ----------------------------------------------------------------
|
||||
# Test the found CLooG to be exact of version MAJOR.MINOR and at least
|
||||
# REVISION.
|
||||
# If we're using the old CLooG-PPL (Legacy), the old version check will
|
||||
# be executed (Ignores the provided version information).
|
||||
AC_DEFUN([CLOOG_CHECK_VERSION],
|
||||
[
|
||||
AC_REQUIRE([CLOOG_FIND_FLAGS])
|
||||
|
||||
if test "${ENABLE_CLOOG_CHECK}" = yes ; then
|
||||
_cloog_saved_CFLAGS=$CFLAGS
|
||||
_cloog_saved_LDFLAGS=$LDFLAGS
|
||||
|
||||
CFLAGS="${_cloog_saved_CFLAGS} ${clooginc} ${pplinc} ${gmpinc}"
|
||||
LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${ppllibs}"
|
||||
|
||||
if test "${cloog_org}" = yes ; then
|
||||
AC_CACHE_CHECK([for version $1.$2.$3 of CLooG],
|
||||
[gcc_cv_cloog_ct_0_14_0],
|
||||
[AC_COMPILE_IFELSE([_CLOOG_CHECK_CT_PROG($1,$2,$3)],
|
||||
[gcc_cv_cloog_ct_0_14_0=yes],
|
||||
[gcc_cv_cloog_ct_0_14_0=no])])
|
||||
elif test "${cloog_org}" = no ; then
|
||||
AC_CACHE_CHECK([for version 0.15.5 (or later revision) of CLooG],
|
||||
[gcc_cv_cloog_ct_0_15_5],
|
||||
[AC_COMPILE_IFELSE([_CLOOG_CHECK_CT_PROG(0,15,5)],
|
||||
[AC_COMPILE_IFELSE([_CLOOG_CHECK_CT_PROG(0,15,9)],
|
||||
[gcc_cv_cloog_ct_0_15_5=yes],
|
||||
[gcc_cv_cloog_ct_0_15_5="buggy but acceptable"])],
|
||||
[gcc_cv_cloog_ct_0_15_5=no])])
|
||||
fi
|
||||
|
||||
CFLAGS=$_cloog_saved_CFLAGS
|
||||
LDFLAGS=$_cloog_saved_LDFLAGS
|
||||
fi
|
||||
]
|
||||
)
|
||||
|
||||
# CLOOG_IF_FAILED (ACTION-IF-FAILED)
|
||||
# ----------------------------------
|
||||
# Executes ACTION-IF-FAILED, if GRAPHITE was requested and
|
||||
# the checks failed.
|
||||
AC_DEFUN([CLOOG_IF_FAILED],
|
||||
[
|
||||
CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
|
||||
|
||||
if test "${gcc_cv_cloog_ct_0_14_0}" = no \
|
||||
|| test "${gcc_cv_cloog_rt_0_14_0}" = no \
|
||||
|| test "${gcc_cv_cloog_ct_0_15_5}" = no; then
|
||||
clooglibs=
|
||||
clooginc=
|
||||
fi
|
||||
|
||||
if test "${graphite_requested}" = yes \
|
||||
&& test "x${clooglibs}" = x \
|
||||
&& test "x${clooginc}" = x ; then
|
||||
$1
|
||||
fi
|
||||
]
|
||||
)
|
||||
@@ -1,56 +0,0 @@
|
||||
dnl @synopsis GCC_AC_ENABLE_DECIMAL_FLOAT([target triplet])
|
||||
dnl
|
||||
dnl Enable C extension for decimal float if target supports it.
|
||||
dnl
|
||||
dnl @author Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||||
|
||||
AC_DEFUN([GCC_AC_ENABLE_DECIMAL_FLOAT],
|
||||
[
|
||||
AC_ARG_ENABLE(decimal-float,
|
||||
[ --enable-decimal-float={no,yes,bid,dpd}
|
||||
enable decimal float extension to C. Selecting 'bid'
|
||||
or 'dpd' choses which decimal floating point format
|
||||
to use],
|
||||
[
|
||||
case $enable_decimal_float in
|
||||
yes | no | bid | dpd) default_decimal_float=$enable_decimal_float ;;
|
||||
*) AC_MSG_ERROR(['$enable_decimal_float' is an invalid value for --enable-decimal-float.
|
||||
Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;;
|
||||
esac
|
||||
],
|
||||
[
|
||||
case $1 in
|
||||
powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
|
||||
i?86*-*-mingw* | x86_64*-*-mingw* | \
|
||||
i?86*-*-cygwin*)
|
||||
enable_decimal_float=yes
|
||||
;;
|
||||
*)
|
||||
AC_MSG_WARN([decimal float is not supported for this target, ignored])
|
||||
enable_decimal_float=no
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
# x86's use BID format instead of DPD
|
||||
case x$enable_decimal_float in
|
||||
xyes)
|
||||
case $1 in
|
||||
i?86*-*-* | x86_64*-*-*)
|
||||
enable_decimal_float=bid
|
||||
;;
|
||||
*)
|
||||
enable_decimal_float=dpd
|
||||
;;
|
||||
esac
|
||||
default_decimal_float=$enable_decimal_float
|
||||
;;
|
||||
xno)
|
||||
# ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper
|
||||
# dependency on libdecnumber.
|
||||
default_decimal_float=dpd
|
||||
;;
|
||||
esac
|
||||
AC_SUBST(enable_decimal_float)
|
||||
|
||||
])
|
||||
@@ -1,27 +0,0 @@
|
||||
dnl Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
|
||||
dnl From Paolo Bonzini.
|
||||
|
||||
dnl usage: ACX_ELF_TARGET_IFELSE([if-elf], [if-not-elf])
|
||||
AC_DEFUN([ACX_ELF_TARGET_IFELSE], [
|
||||
AC_REQUIRE([AC_CANONICAL_TARGET])
|
||||
|
||||
target_elf=no
|
||||
case $target in
|
||||
*-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \
|
||||
*-msdosdjgpp* | *-netware* | *-vms* | *-wince* | *-*-pe* | \
|
||||
alpha*-dec-osf* | *-interix* | hppa[[12]]*-*-hpux*)
|
||||
target_elf=no
|
||||
;;
|
||||
*)
|
||||
target_elf=yes
|
||||
;;
|
||||
esac
|
||||
|
||||
AS_IF([test $target_elf = yes], [$1], [$2])
|
||||
])
|
||||
@@ -1,7 +1,7 @@
|
||||
# serial 6 -*- Autoconf -*-
|
||||
# serial 5 -*- Autoconf -*-
|
||||
# Enable extensions on systems that normally disable them.
|
||||
|
||||
# Copyright (C) 2003, 2006, 2007, 2009 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003, 2006, 2007 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.
|
||||
@@ -12,8 +12,6 @@
|
||||
# enough in this area it's likely we'll need to redefine
|
||||
# AC_USE_SYSTEM_EXTENSIONS for quite some time.
|
||||
|
||||
m4_version_prereq([2.62],, [
|
||||
|
||||
# AC_USE_SYSTEM_EXTENSIONS
|
||||
# ------------------------
|
||||
# Enable extensions on systems that normally disable them,
|
||||
@@ -76,4 +74,3 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
|
||||
AC_DEFINE([_TANDEM_SOURCE])
|
||||
])# AC_USE_SYSTEM_EXTENSIONS
|
||||
|
||||
])
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
# gc++filt.m4 serial 1 -*- Autoconf -*-
|
||||
# Find an instance of GNU c++filt on PATH.
|
||||
|
||||
dnl Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
|
||||
dnl From Rainer Orth.
|
||||
|
||||
# GCC_PROG_GNU_CXXFILT
|
||||
# --------------------
|
||||
# Check for GNU c++filt.
|
||||
# FIXME: Maybe need TARGET variant, though c++filt should be target
|
||||
# independent.
|
||||
AC_DEFUN([GCC_PROG_GNU_CXXFILT],
|
||||
[AC_ARG_VAR([CXXFILT], [Location of GNU c++filt. Defaults to the first
|
||||
GNU version of `c++filt', `gc++filt' on PATH.])
|
||||
AC_CACHE_CHECK([for GNU c++filt], [ac_cv_path_CXXFILT],
|
||||
[AC_PATH_PROGS_FEATURE_CHECK([CXXFILT], [c++filt gc++filt],
|
||||
[_AC_PATH_PROG_FLAVOR_GNU([$ac_path_CXXFILT],
|
||||
[ac_cv_path_CXXFILT=$ac_path_CXXFILT && ac_path_CXXFILT_found=:])])])
|
||||
CXXFILT=$ac_cv_path_CXXFILT
|
||||
])
|
||||
@@ -1,34 +0,0 @@
|
||||
# This macro wraps AC_SYS_LARGEFILE with one exception for Solaris.
|
||||
# PR 9992/binutils: We have to replicate everywhere the behaviour of
|
||||
# bfd's configure script so that all the directories agree on the size
|
||||
# of structures used to describe files.
|
||||
|
||||
AC_DEFUN([ACX_LARGEFILE],[dnl
|
||||
|
||||
# The tests for host and target for $enable_largefile require
|
||||
# canonical names.
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_REQUIRE([AC_CANONICAL_TARGET])
|
||||
|
||||
# As the $enable_largefile decision depends on --enable-plugins we must set it
|
||||
# even in directories otherwise not depending on the $plugins option.
|
||||
|
||||
AC_PLUGINS
|
||||
|
||||
case "${host}" in
|
||||
changequote(,)dnl
|
||||
sparc-*-solaris*|i[3-7]86-*-solaris*)
|
||||
changequote([,])dnl
|
||||
# On native 32bit sparc and ia32 solaris, large-file and procfs support
|
||||
# are mutually exclusive; and without procfs support, the bfd/ elf module
|
||||
# cannot provide certain routines such as elfcore_write_prpsinfo
|
||||
# or elfcore_write_prstatus. So unless the user explicitly requested
|
||||
# large-file support through the --enable-largefile switch, disable
|
||||
# large-file support in favor of procfs support.
|
||||
test "${target}" = "${host}" -a "x$plugins" = xno \
|
||||
&& : ${enable_largefile="no"}
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SYS_LARGEFILE
|
||||
])
|
||||
@@ -1,9 +1,9 @@
|
||||
# -*- Autoconf -*-
|
||||
# Copyright (C) 2003, 2009 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
|
||||
# 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 3, or (at your option)
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
@@ -12,8 +12,9 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
# serial 1
|
||||
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
dnl Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
|
||||
dnl usage: ACX_LT_HOST_FLAGS([default_flags])
|
||||
dnl Defines and AC_SUBSTs lt_host_flags
|
||||
|
||||
|
||||
AC_DEFUN([ACX_LT_HOST_FLAGS], [
|
||||
AC_REQUIRE([AC_CANONICAL_SYSTEM])
|
||||
|
||||
case $host in
|
||||
*-cygwin* | *-mingw*)
|
||||
# 'host' will be top-level target in the case of a target lib,
|
||||
# we must compare to with_cross_host to decide if this is a native
|
||||
# or cross-compiler and select where to install dlls appropriately.
|
||||
if test -n "$with_cross_host" &&
|
||||
test x"$with_cross_host" != x"no"; then
|
||||
lt_host_flags='-no-undefined -bindir "$(toolexeclibdir)"';
|
||||
else
|
||||
lt_host_flags='-no-undefined -bindir "$(bindir)"';
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
lt_host_flags=[$1]
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST(lt_host_flags)
|
||||
])
|
||||
5
config/mh-cxux
Normal file
5
config/mh-cxux
Normal file
@@ -0,0 +1,5 @@
|
||||
# Configuration for Harris CX/UX 7 (and maybe 6), based on sysv4 configuration.
|
||||
|
||||
# The l flag generates a warning from the SVR4 archiver, remove it.
|
||||
AR_FLAGS = cq
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
# Increase stack limit to a figure based on the Linux default, with 4MB added
|
||||
# as GCC turns out to need that much more to pass all the limits-* tests.
|
||||
LDFLAGS += -Wl,--stack,12582912
|
||||
BOOT_LDFLAGS += -Wl,--stack,12582912
|
||||
EXTRA_TARGET_HOST_ALL_MODULES=maybe-all-libtermcap
|
||||
EXTRA_TARGET_HOST_INSTALL_MODULES=maybe-install-libtermcap
|
||||
|
||||
all-gdb: maybe-all-libtermcap
|
||||
|
||||
install-gdb: maybe-all-libtermcap
|
||||
|
||||
3
config/mh-decstation
Normal file
3
config/mh-decstation
Normal file
@@ -0,0 +1,3 @@
|
||||
# for X11, since the native DECwindows include files are really broken when
|
||||
# it comes to function prototypes.
|
||||
X11_EXTRA_CFLAGS = "-DNeedFunctionPrototypes=0"
|
||||
5
config/mh-dgux386
Normal file
5
config/mh-dgux386
Normal file
@@ -0,0 +1,5 @@
|
||||
# The l flag generates a warning from the SVR4 archiver, remove it.
|
||||
AR_FLAGS = cr
|
||||
|
||||
X11_EXTRA_LIBS = -lnsl
|
||||
|
||||
2
config/mh-lynxrs6k
Normal file
2
config/mh-lynxrs6k
Normal file
@@ -0,0 +1,2 @@
|
||||
# /bin/sh is too buggy, so use /bin/bash instead.
|
||||
SHELL = /bin/bash
|
||||
@@ -1,8 +1,6 @@
|
||||
# Add -D__USE_MINGW_ACCESS to enable the built compiler to work on Windows
|
||||
# Vista (see PR33281 for details).
|
||||
BOOT_CFLAGS += -D__USE_MINGW_ACCESS -Wno-pedantic-ms-format
|
||||
BOOT_CFLAGS += -D__USE_MINGW_ACCESS
|
||||
CFLAGS += -D__USE_MINGW_ACCESS
|
||||
# Increase stack limit to a figure based on the Linux default, with 4MB added
|
||||
# as GCC turns out to need that much more to pass all the limits-* tests.
|
||||
LDFLAGS += -Wl,--stack,12582912
|
||||
BOOT_LDFLAGS += -Wl,--stack,12582912
|
||||
# Increase stack limit to same as Linux default.
|
||||
LDFLAGS += -Wl,--stack,8388608
|
||||
|
||||
4
config/mh-ncr3000
Normal file
4
config/mh-ncr3000
Normal file
@@ -0,0 +1,4 @@
|
||||
# Host configuration file for an NCR 3000 (i486/SVR4) system.
|
||||
|
||||
# The l flag generates a warning from the SVR4 archiver, remove it.
|
||||
AR_FLAGS = cq
|
||||
4
config/mh-necv4
Normal file
4
config/mh-necv4
Normal file
@@ -0,0 +1,4 @@
|
||||
# Host Makefile fragment for NEC MIPS SVR4.
|
||||
|
||||
# NEC -lX11 needs some other libraries.
|
||||
X11_EXTRA_LIBS = -lsocket -lnsl
|
||||
@@ -1,8 +1,9 @@
|
||||
# To prevent the Ada static runtime library from using nearly the entire
|
||||
# TOC, we used to compile Ada files with minimal-toc in addition to -gnatg
|
||||
# (mandatory to compile language defined units). This incured a performance
|
||||
# penalty and is not required with section anchors enabled by default so we
|
||||
# don't do it any more.
|
||||
BOOT_ADAFLAGS = -gnatapg
|
||||
|
||||
# Compile Ada files with minimal-toc in addition to the default flags (at
|
||||
# least -gnatg is required to compile language defined units). The primary
|
||||
# focus is gnatlib, so that the library does not use nearly the entire TOC of
|
||||
# applications until gnatlib is built as a shared library on AIX. Compiling
|
||||
# the compiler with -mminimal-toc does not cause any harm.
|
||||
BOOT_ADAFLAGS = -gnatapg -mminimal-toc
|
||||
BOOT_LDFLAGS = -Wl,-bbigtoc
|
||||
LDFLAGS = `case $(CC) in *gcc*) echo -Wl,-bbigtoc ;; esac;`
|
||||
|
||||
4
config/mh-sco
Normal file
4
config/mh-sco
Normal file
@@ -0,0 +1,4 @@
|
||||
# You may need this if you don't have bison.
|
||||
# BISON = yacc -Sm10400
|
||||
|
||||
X11_EXTRA_LIBS = -lsocket -lm -lintl -lmalloc
|
||||
2
config/mh-solaris
Normal file
2
config/mh-solaris
Normal file
@@ -0,0 +1,2 @@
|
||||
# Makefile changes for Suns running Solaris 2
|
||||
X11_EXTRA_LIBS = -lnsl -lsocket
|
||||
4
config/mh-sysv4
Normal file
4
config/mh-sysv4
Normal file
@@ -0,0 +1,4 @@
|
||||
# The l flag generates a warning from the SVR4 archiver, remove it.
|
||||
AR_FLAGS = cr
|
||||
|
||||
X11_EXTRA_LIBS = -lnsl
|
||||
4
config/mh-sysv5
Normal file
4
config/mh-sysv5
Normal file
@@ -0,0 +1,4 @@
|
||||
# The l flag generates a warning from the SVR4 archiver, remove it.
|
||||
AR_FLAGS = cr
|
||||
|
||||
X11_EXTRA_LIBS = -lnsl
|
||||
2
config/mh-x86omitfp
Normal file
2
config/mh-x86omitfp
Normal file
@@ -0,0 +1,2 @@
|
||||
# Add -fomit-frame-pointer to the usual BOOT_CFLAGS to speed up the compiler.
|
||||
BOOT_CFLAGS += -fomit-frame-pointer
|
||||
@@ -1 +1,2 @@
|
||||
CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE
|
||||
CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \
|
||||
$(DEBUG_PREFIX_CFLAGS_FOR_TARGET) -D_GNU_SOURCE
|
||||
|
||||
8
config/mt-mep
Normal file
8
config/mt-mep
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
EXTRA_TARGET_HOST_ALL_MODULES:=$(EXTRA_TARGET_HOST_ALL_MODULES) all-utils
|
||||
EXTRA_TARGET_HOST_INSTALL_MODULES:=$(EXTRA_TARGET_HOST_INSTALL_MODULES) install-utils
|
||||
|
||||
all-utils : all-libiberty
|
||||
|
||||
install-utils : all-libiberty
|
||||
|
||||
1
config/mt-netware
Normal file
1
config/mt-netware
Normal file
@@ -0,0 +1 @@
|
||||
GDB_NLM_DEPS = all-gcc all-ld
|
||||
3
config/mt-v810
Normal file
3
config/mt-v810
Normal file
@@ -0,0 +1,3 @@
|
||||
CC_FOR_TARGET = ca732 -ansi
|
||||
AS_FOR_TARGET = as732
|
||||
AR_FOR_TARGET = ar732
|
||||
10
config/mt-wince
Normal file
10
config/mt-wince
Normal file
@@ -0,0 +1,10 @@
|
||||
# For Windows CE, we need to build the program that converts, copies,
|
||||
# and renames the platform SDK files into gcc directories.
|
||||
|
||||
EXTRA_TARGET_HOST_ALL_MODULES:=$(EXTRA_TARGET_HOST_ALL_MODULES) all-utils
|
||||
EXTRA_TARGET_HOST_INSTALL_MODULES:=$(EXTRA_TARGET_HOST_INSTALL_MODULES) install-utils
|
||||
|
||||
all-utils : all-libiberty
|
||||
|
||||
install-utils : all-libiberty
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
## -*- Autoconf -*-
|
||||
# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2008
|
||||
# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006
|
||||
# Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
@@ -62,7 +62,4 @@ with_target_subdir="$with_target_subdir"
|
||||
ac_configure_args="${multilib_arg} ${ac_configure_args}"
|
||||
multi_basedir="$multi_basedir"
|
||||
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
CC="$CC"
|
||||
CXX="$CXX"
|
||||
GFORTRAN="$GFORTRAN"
|
||||
GCJ="$GCJ"])])dnl
|
||||
CC="$CC"])])dnl
|
||||
|
||||
@@ -25,7 +25,7 @@ AC_BEFORE([$0], [_AC_COMPILER_EXEEXT])
|
||||
AC_BEFORE([$0], [AC_LINK_IFELSE])
|
||||
|
||||
m4_define([_AC_COMPILER_EXEEXT],
|
||||
[AC_LANG_CONFTEST([AC_LANG_PROGRAM()])
|
||||
AC_LANG_CONFTEST([AC_LANG_PROGRAM()])
|
||||
# FIXME: Cleanup?
|
||||
AS_IF([AC_TRY_EVAL(ac_link)], [gcc_no_link=no], [gcc_no_link=yes])
|
||||
if test x$gcc_no_link = xyes; then
|
||||
@@ -35,7 +35,7 @@ if test x$gcc_no_link = xyes; then
|
||||
cross_compiling=yes
|
||||
EXEEXT=
|
||||
else
|
||||
]m4_defn([_AC_COMPILER_EXEEXT])dnl
|
||||
m4_defn([_AC_COMPILER_EXEEXT])dnl
|
||||
fi
|
||||
)
|
||||
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
dnl Fix Autoconf bugs by overriding broken internal Autoconf
|
||||
dnl macros with backports of fixes from newer releases.
|
||||
dnl Fix Autoconf-2.59 bugs: by overriding broken internal
|
||||
dnl Autoconf macros with backports of the 2.60+ fix.
|
||||
dnl - AC_CONFIG_SUBDIRS whitespace mangling,
|
||||
dnl - more lenient precious variable checks
|
||||
dnl - better configure error message
|
||||
dnl - reliance on non-Posix m4wrap (M4 1.6 or newer implement FIFO)
|
||||
dnl
|
||||
dnl The override bits of this file should be a no-op for the newest
|
||||
dnl Autoconf version, which means they can be removed once the complete
|
||||
@@ -8,28 +12,25 @@ dnl
|
||||
dnl The _GCC_AUTOCONF_VERSION_TEST ensures that exactly the desired
|
||||
dnl Autoconf version is used. It should be kept for consistency.
|
||||
|
||||
dnl m4_PACKAGE_VERSION is an undocumented Autoconf macro.
|
||||
dnl We use it because this fix is intended for 2.59 only.
|
||||
dnl A feature test for the broken AC_CONFIG_SUBDIRS instead
|
||||
dnl would be better but is tricky.
|
||||
dnl
|
||||
dnl Use ifdef/ifelse over m4_ifdef/m4_ifelse to be clean for 2.13.
|
||||
ifdef([m4_PACKAGE_VERSION], [
|
||||
dnl Redefine AC_CONFIG_SUBDIRS so aclocal pulls in this file
|
||||
dnl when needed.
|
||||
|
||||
dnl Provide m4_copy_force and m4_rename_force for old Autoconf versions.
|
||||
|
||||
m4_ifndef([m4_copy_force],
|
||||
[m4_define([m4_copy_force],
|
||||
[m4_ifdef([$2], [m4_undefine([$2])])m4_copy($@)])])
|
||||
|
||||
m4_ifndef([m4_rename_force],
|
||||
[m4_define([m4_rename_force],
|
||||
[m4_ifdef([$2], [m4_undefine([$2])])m4_rename($@)])])
|
||||
|
||||
dnl AC_DEFUN a commonly used macro so this file is picked up.
|
||||
ifdef([m4_PACKAGE_VERSION],
|
||||
[dnl AC_DEFUN a commonly used macro so this file is picked up.
|
||||
m4_copy([AC_PREREQ], [_AC_PREREQ])
|
||||
AC_DEFUN([AC_PREREQ], [frob])
|
||||
m4_copy_force([_AC_PREREQ], [AC_PREREQ])
|
||||
m4_copy([_AC_PREREQ], [AC_PREREQ])
|
||||
|
||||
|
||||
dnl Ensure exactly this Autoconf version is used
|
||||
m4_ifndef([_GCC_AUTOCONF_VERSION],
|
||||
[m4_define([_GCC_AUTOCONF_VERSION], [2.64])])
|
||||
[m4_define([_GCC_AUTOCONF_VERSION], [2.59])])
|
||||
|
||||
dnl Test for the exact version when AC_INIT is expanded.
|
||||
dnl This allows to update the tree in steps (for testing)
|
||||
@@ -47,58 +48,204 @@ m4_define([AC_INIT], m4_defn([AC_INIT])[
|
||||
_GCC_AUTOCONF_VERSION_CHECK
|
||||
])
|
||||
|
||||
|
||||
dnl Ensure we do not use a buggy M4.
|
||||
m4_if(m4_index([..wi.d.], [.d.]), [-1],
|
||||
[m4_fatal(m4_do([m4 with buggy strstr detected. Please install
|
||||
GNU M4 1.4.16 or newer and set the M4 environment variable]))])
|
||||
|
||||
|
||||
dnl Fix 2.64 cross compile detection for AVR and RTEMS
|
||||
dnl by not trying to compile fopen.
|
||||
m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.64],
|
||||
[m4_foreach([_GCC_LANG], [C, C++, Fortran, Fortran 77],
|
||||
[m4_define([_AC_LANG_IO_PROGRAM(]_GCC_LANG[)], m4_defn([AC_LANG_PROGRAM(]_GCC_LANG[)]))])])
|
||||
|
||||
m4_version_prereq([2.66],, [
|
||||
dnl We need AC_CHECK_DECL which works for overloaded C++ functions.
|
||||
|
||||
# _AC_CHECK_DECL_BODY
|
||||
# -------------------
|
||||
# Shell function body for AC_CHECK_DECL.
|
||||
m4_define([_AC_CHECK_DECL_BODY],
|
||||
[ AS_LINENO_PUSH([$[]1])
|
||||
[as_decl_name=`echo $][2|sed 's/ *(.*//'`]
|
||||
[as_decl_use=`echo $][2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`]
|
||||
AC_CACHE_CHECK([whether $as_decl_name is declared], [$[]3],
|
||||
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$[]4],
|
||||
[@%:@ifndef $[]as_decl_name
|
||||
@%:@ifdef __cplusplus
|
||||
(void) $[]as_decl_use;
|
||||
@%:@else
|
||||
(void) $[]as_decl_name;
|
||||
@%:@endif
|
||||
@%:@endif
|
||||
])],
|
||||
[AS_VAR_SET([$[]3], [yes])],
|
||||
[AS_VAR_SET([$[]3], [no])])])
|
||||
AS_LINENO_POP
|
||||
])# _AC_CHECK_DECL_BODY
|
||||
|
||||
# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
|
||||
# INCLUDES)
|
||||
# -------------------------------------------------------------
|
||||
# Helper to AC_CHECK_DECLS, which generates the check for a single
|
||||
# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
|
||||
# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
|
||||
m4_define([_AC_CHECK_DECLS],
|
||||
[AC_CHECK_DECL([$1], [ac_have_decl=1], [ac_have_decl=0], [$4])]dnl
|
||||
[AC_DEFINE_UNQUOTED(AS_TR_CPP(m4_bpatsubst(HAVE_DECL_[$1],[ *(.*])),
|
||||
[$ac_have_decl],
|
||||
[Define to 1 if you have the declaration of `$1',
|
||||
and to 0 if you don't.])]dnl
|
||||
[m4_ifvaln([$2$3], [AS_IF([test $ac_have_decl = 1], [$2], [$3])])])
|
||||
|
||||
m4_version_prereq([2.60],, [
|
||||
dnl We use $ac_pwd in some of the overrides below; ensure its definition
|
||||
m4_divert_push([PARSE_ARGS])dnl
|
||||
ac_pwd=`pwd`
|
||||
m4_divert_pop([PARSE_ARGS])dnl
|
||||
])
|
||||
|
||||
|
||||
m4_version_prereq([2.60],, [
|
||||
|
||||
# _AC_OUTPUT_SUBDIRS
|
||||
# ------------------
|
||||
# This is a subroutine of AC_OUTPUT, but it does not go into
|
||||
# config.status, rather, it is called after running config.status.
|
||||
m4_define([_AC_OUTPUT_SUBDIRS],
|
||||
[
|
||||
#
|
||||
# CONFIG_SUBDIRS section, as fixed in confsubdir.m4.
|
||||
#
|
||||
if test "$no_recursion" != yes; then
|
||||
|
||||
# Remove --cache-file and --srcdir arguments so they do not pile up.
|
||||
ac_sub_configure_args=
|
||||
ac_prev=
|
||||
eval "set x $ac_configure_args"
|
||||
shift
|
||||
for ac_arg
|
||||
do
|
||||
if test -n "$ac_prev"; then
|
||||
ac_prev=
|
||||
continue
|
||||
fi
|
||||
case $ac_arg in
|
||||
-cache-file | --cache-file | --cache-fil | --cache-fi \
|
||||
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
|
||||
ac_prev=cache_file ;;
|
||||
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
|
||||
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
|
||||
| --c=*)
|
||||
;;
|
||||
--config-cache | -C)
|
||||
;;
|
||||
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
|
||||
ac_prev=srcdir ;;
|
||||
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
|
||||
;;
|
||||
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
|
||||
ac_prev=prefix ;;
|
||||
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
|
||||
;;
|
||||
*)
|
||||
case $ac_arg in
|
||||
*\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
|
||||
esac
|
||||
ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Always prepend --prefix to ensure using the same prefix
|
||||
# in subdir configurations.
|
||||
ac_arg="--prefix=$prefix"
|
||||
case $ac_arg in
|
||||
*\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
|
||||
esac
|
||||
ac_sub_configure_args="$ac_arg $ac_sub_configure_args"
|
||||
|
||||
ac_popdir=`pwd`
|
||||
for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
|
||||
|
||||
# Do not complain, so a configure script can configure whichever
|
||||
# parts of a large source tree are present.
|
||||
test -d "$srcdir/$ac_dir" || continue
|
||||
|
||||
AC_MSG_NOTICE([configuring in $ac_dir])
|
||||
AS_MKDIR_P(["$ac_dir"])
|
||||
_AC_SRCPATHS(["$ac_dir"])
|
||||
|
||||
cd "$ac_dir"
|
||||
|
||||
# Check for guested configure; otherwise get Cygnus style configure.
|
||||
if test -f "$ac_srcdir/configure.gnu"; then
|
||||
ac_sub_configure=$ac_srcdir/configure.gnu
|
||||
elif test -f "$ac_srcdir/configure"; then
|
||||
ac_sub_configure=$ac_srcdir/configure
|
||||
elif test -f "$ac_srcdir/configure.in"; then
|
||||
# This should be Cygnus configure.
|
||||
ac_sub_configure=$ac_aux_dir/configure
|
||||
else
|
||||
AC_MSG_WARN([no configuration information is in $ac_dir])
|
||||
ac_sub_configure=
|
||||
fi
|
||||
|
||||
# The recursion is here.
|
||||
if test -n "$ac_sub_configure"; then
|
||||
# Make the cache file name correct relative to the subdirectory.
|
||||
case $cache_file in
|
||||
[[\\/]]* | ?:[[\\/]]* ) ac_sub_cache_file=$cache_file ;;
|
||||
*) # Relative path.
|
||||
ac_sub_cache_file=$ac_top_builddir$cache_file ;;
|
||||
esac
|
||||
|
||||
AC_MSG_NOTICE([running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir])
|
||||
# The eval makes quoting arguments work.
|
||||
eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
|
||||
--cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
|
||||
AC_MSG_ERROR([$ac_sub_configure failed for $ac_dir])
|
||||
fi
|
||||
|
||||
cd "$ac_popdir"
|
||||
done
|
||||
fi
|
||||
])# _AC_OUTPUT_SUBDIRS
|
||||
])
|
||||
|
||||
m4_version_prereq([2.63],, [
|
||||
|
||||
# _AC_ARG_VAR_VALIDATE
|
||||
# --------------------
|
||||
# The code is the same as autoconf 2.59, but with a more lenient check
|
||||
# on precious variables and an output of pwd that have been added in
|
||||
# autoconf 2.62.
|
||||
m4_define([_AC_ARG_VAR_VALIDATE],
|
||||
[m4_divert_text([INIT_PREPARE],
|
||||
[# Check that the precious variables saved in the cache have kept the same
|
||||
# value.
|
||||
ac_cache_corrupted=false
|
||||
for ac_var in `(set) 2>&1 |
|
||||
sed -n 's/^ac_env_\([[a-zA-Z_0-9]]*\)_set=.*/\1/p'`; do
|
||||
eval ac_old_set=\$ac_cv_env_${ac_var}_set
|
||||
eval ac_new_set=\$ac_env_${ac_var}_set
|
||||
eval ac_old_val="\$ac_cv_env_${ac_var}_value"
|
||||
eval ac_new_val="\$ac_env_${ac_var}_value"
|
||||
case $ac_old_set,$ac_new_set in
|
||||
set,)
|
||||
AS_MESSAGE([error: `$ac_var' was set to `$ac_old_val' in the previous run], 2)
|
||||
ac_cache_corrupted=: ;;
|
||||
,set)
|
||||
AS_MESSAGE([error: `$ac_var' was not set in the previous run], 2)
|
||||
ac_cache_corrupted=: ;;
|
||||
,);;
|
||||
*)
|
||||
if test "x$ac_old_val" != "x$ac_new_val"; then
|
||||
# differences in whitespace do not lead to failure.
|
||||
ac_old_val_w=`echo x $ac_old_val`
|
||||
ac_new_val_w=`echo x $ac_new_val`
|
||||
if test "$ac_old_val_w" != "$ac_new_val_w"; then
|
||||
AS_MESSAGE([error: `$ac_var' has changed since the previous run:], 2)
|
||||
ac_cache_corrupted=:
|
||||
else
|
||||
AS_MESSAGE([warning: ignoring whitespace changes in `$ac_var' since the previous run:], 2)
|
||||
eval $ac_var=\$ac_old_val
|
||||
fi
|
||||
AS_MESSAGE([ former value: `$ac_old_val'], 2)
|
||||
AS_MESSAGE([ current value: `$ac_new_val'], 2)
|
||||
fi;;
|
||||
esac
|
||||
# Pass precious variables to config.status.
|
||||
if test "$ac_new_set" = set; then
|
||||
case $ac_new_val in
|
||||
dnl If you change this globbing pattern, test it on an old shell --
|
||||
dnl it's sensitive. Putting any kind of quote in it causes syntax errors.
|
||||
[ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)]
|
||||
ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
|
||||
*) ac_arg=$ac_var=$ac_new_val ;;
|
||||
esac
|
||||
case " $ac_configure_args " in
|
||||
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
|
||||
*) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
if $ac_cache_corrupted; then
|
||||
AS_MESSAGE([error: in `$ac_pwd':], 2)
|
||||
AS_MESSAGE([error: changes in the environment can compromise the build], 2)
|
||||
AS_ERROR([run `make distclean' and/or `rm $cache_file' and start over])
|
||||
fi])dnl
|
||||
])# _AC_ARG_VAR_VALIDATE
|
||||
])
|
||||
|
||||
m4_version_prereq([2.63],, [
|
||||
|
||||
# AC_MSG_FAILURE(ERROR, [EXIT-STATUS = 1])
|
||||
# ----------------------------------------
|
||||
# This is the same code as in 2.59 and 2.61, except it also outputs pwd.
|
||||
m4_define([AC_MSG_FAILURE],
|
||||
[{ AS_MESSAGE([error: in `$ac_pwd':], 2)
|
||||
AC_MSG_ERROR([$1
|
||||
See `config.log' for more details.], [$2]); }])
|
||||
])
|
||||
])
|
||||
|
||||
m4_version_prereq([2.60],, [
|
||||
dnl M4 1.6 and newer implement m4wrap using FIFO semantics, as required
|
||||
dnl by Posix; earlier versions used LIFO semantics. Unfortunately,
|
||||
dnl Autoconf versions before 2.60 require those LIFO semantics, so
|
||||
dnl make sure to give it to them.
|
||||
m4_define([m4_wrap], [m4_ifdef([_$0_text],
|
||||
[m4_define([_$0_text], [$1]m4_defn([_$0_text]))],
|
||||
[m4_define([_$0_text], [$1])m4_builtin([m4wrap],
|
||||
[m4_default(m4_defn([_$0_text])m4_undefine([_$0_text]))])])])
|
||||
])
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
AC_DEFUN([AC_PLUGINS],
|
||||
[
|
||||
AC_ARG_ENABLE([plugins],
|
||||
AS_HELP_STRING([--enable-plugins], [Enable support for plugins (defaults no)]),
|
||||
[case "${enableval}" in
|
||||
yes | "") plugins=yes ;;
|
||||
no) plugins=no ;;
|
||||
*) plugins=yes ;;
|
||||
esac],
|
||||
[plugins=no])
|
||||
])
|
||||
@@ -96,7 +96,7 @@ AC_DEFUN([AM_PO_SUBDIRS],
|
||||
case "$ac_file" in */Makefile.in)
|
||||
# Adjust a relative srcdir.
|
||||
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
|
||||
ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
|
||||
ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
|
||||
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
|
||||
# In autoconf-2.13 it is called $ac_given_srcdir.
|
||||
# In autoconf-2.50 it is called $srcdir.
|
||||
|
||||
@@ -1,17 +1,3 @@
|
||||
AC_DEFUN([GCC_STDINT_TYPES],
|
||||
[AC_REQUIRE([AC_TYPE_INT8_T])
|
||||
AC_REQUIRE([AC_TYPE_INT16_T])
|
||||
AC_REQUIRE([AC_TYPE_INT32_T])
|
||||
AC_REQUIRE([AC_TYPE_INT64_T])
|
||||
AC_REQUIRE([AC_TYPE_INTMAX_T])
|
||||
AC_REQUIRE([AC_TYPE_INTPTR_T])
|
||||
AC_REQUIRE([AC_TYPE_UINT8_T])
|
||||
AC_REQUIRE([AC_TYPE_UINT16_T])
|
||||
AC_REQUIRE([AC_TYPE_UINT32_T])
|
||||
AC_REQUIRE([AC_TYPE_UINT64_T])
|
||||
AC_REQUIRE([AC_TYPE_UINTMAX_T])
|
||||
AC_REQUIRE([AC_TYPE_UINTPTR_T])])
|
||||
|
||||
dnl @synopsis GCC_HEADER_STDINT [( HEADER-TO-GENERATE [, HEADERS-TO-CHECK])]
|
||||
dnl
|
||||
dnl the "ISO C9X: 7.18 Integer types <stdint.h>" section requires the
|
||||
@@ -146,7 +132,7 @@ if test $acx_cv_header_stdint = stddef.h; then
|
||||
AC_MSG_CHECKING(for type equivalent to int8_t)
|
||||
case "$ac_cv_sizeof_char" in
|
||||
1) acx_cv_type_int8_t=char ;;
|
||||
*) AC_MSG_ERROR([no 8-bit type, please report a bug])
|
||||
*) AC_MSG_ERROR(no 8-bit type, please report a bug)
|
||||
esac
|
||||
AC_MSG_RESULT($acx_cv_type_int8_t)
|
||||
|
||||
@@ -154,7 +140,7 @@ if test $acx_cv_header_stdint = stddef.h; then
|
||||
case "$ac_cv_sizeof_int:$ac_cv_sizeof_short" in
|
||||
2:*) acx_cv_type_int16_t=int ;;
|
||||
*:2) acx_cv_type_int16_t=short ;;
|
||||
*) AC_MSG_ERROR([no 16-bit type, please report a bug])
|
||||
*) AC_MSG_ERROR(no 16-bit type, please report a bug)
|
||||
esac
|
||||
AC_MSG_RESULT($acx_cv_type_int16_t)
|
||||
|
||||
@@ -162,7 +148,7 @@ if test $acx_cv_header_stdint = stddef.h; then
|
||||
case "$ac_cv_sizeof_int:$ac_cv_sizeof_long" in
|
||||
4:*) acx_cv_type_int32_t=int ;;
|
||||
*:4) acx_cv_type_int32_t=long ;;
|
||||
*) AC_MSG_ERROR([no 32-bit type, please report a bug])
|
||||
*) AC_MSG_ERROR(no 32-bit type, please report a bug)
|
||||
esac
|
||||
AC_MSG_RESULT($acx_cv_type_int32_t)
|
||||
fi
|
||||
@@ -185,7 +171,7 @@ if test "$ac_cv_type_uintptr_t" != yes; then
|
||||
2) acx_cv_type_intptr_t=int16_t ;;
|
||||
4) acx_cv_type_intptr_t=int32_t ;;
|
||||
8) acx_cv_type_intptr_t=int64_t ;;
|
||||
*) AC_MSG_ERROR([no equivalent for intptr_t, please report a bug])
|
||||
*) AC_MSG_ERROR(no equivalent for intptr_t, please report a bug)
|
||||
esac
|
||||
AC_MSG_RESULT($acx_cv_type_intptr_t)
|
||||
fi
|
||||
@@ -234,61 +220,49 @@ if test "$acx_cv_header_stdint" = stddef.h; then
|
||||
#define _UINT8_T
|
||||
#ifndef __uint8_t_defined
|
||||
#define __uint8_t_defined
|
||||
#ifndef uint8_t
|
||||
typedef unsigned $acx_cv_type_int8_t uint8_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _UINT16_T
|
||||
#define _UINT16_T
|
||||
#ifndef __uint16_t_defined
|
||||
#define __uint16_t_defined
|
||||
#ifndef uint16_t
|
||||
typedef unsigned $acx_cv_type_int16_t uint16_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _UINT32_T
|
||||
#define _UINT32_T
|
||||
#ifndef __uint32_t_defined
|
||||
#define __uint32_t_defined
|
||||
#ifndef uint32_t
|
||||
typedef unsigned $acx_cv_type_int32_t uint32_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _INT8_T
|
||||
#define _INT8_T
|
||||
#ifndef __int8_t_defined
|
||||
#define __int8_t_defined
|
||||
#ifndef int8_t
|
||||
typedef $acx_cv_type_int8_t int8_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _INT16_T
|
||||
#define _INT16_T
|
||||
#ifndef __int16_t_defined
|
||||
#define __int16_t_defined
|
||||
#ifndef int16_t
|
||||
typedef $acx_cv_type_int16_t int16_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _INT32_T
|
||||
#define _INT32_T
|
||||
#ifndef __int32_t_defined
|
||||
#define __int32_t_defined
|
||||
#ifndef int32_t
|
||||
typedef $acx_cv_type_int32_t int32_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
elif test "$ac_cv_type_u_int32_t" = yes; then
|
||||
sed 's/^ *//' >> tmp-stdint.h <<EOF
|
||||
@@ -308,31 +282,25 @@ elif test "$ac_cv_type_u_int32_t" = yes; then
|
||||
#define _UINT8_T
|
||||
#ifndef __uint8_t_defined
|
||||
#define __uint8_t_defined
|
||||
#ifndef uint8_t
|
||||
typedef u_int8_t uint8_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _UINT16_T
|
||||
#define _UINT16_T
|
||||
#ifndef __uint16_t_defined
|
||||
#define __uint16_t_defined
|
||||
#ifndef uint16_t
|
||||
typedef u_int16_t uint16_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _UINT32_T
|
||||
#define _UINT32_T
|
||||
#ifndef __uint32_t_defined
|
||||
#define __uint32_t_defined
|
||||
#ifndef uint32_t
|
||||
typedef u_int32_t uint32_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
else
|
||||
sed 's/^ *//' >> tmp-stdint.h <<EOF
|
||||
@@ -382,11 +350,9 @@ elif test "$ac_cv_type_u_int64_t" = yes; then
|
||||
#define _UINT64_T
|
||||
#ifndef __uint64_t_defined
|
||||
#define __uint64_t_defined
|
||||
#ifndef uint64_t
|
||||
typedef u_int64_t uint64_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
elif test -n "$acx_cv_type_int64_t"; then
|
||||
sed 's/^ *//' >> tmp-stdint.h <<EOF
|
||||
@@ -394,19 +360,15 @@ elif test -n "$acx_cv_type_int64_t"; then
|
||||
/* architecture has a 64-bit type, $acx_cv_type_int64_t */
|
||||
#ifndef _INT64_T
|
||||
#define _INT64_T
|
||||
#ifndef int64_t
|
||||
typedef $acx_cv_type_int64_t int64_t;
|
||||
#endif
|
||||
#endif
|
||||
#ifndef _UINT64_T
|
||||
#define _UINT64_T
|
||||
#ifndef __uint64_t_defined
|
||||
#define __uint64_t_defined
|
||||
#ifndef uint64_t
|
||||
typedef unsigned $acx_cv_type_int64_t uint64_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
else
|
||||
sed 's/^ *//' >> tmp-stdint.h <<EOF
|
||||
@@ -416,17 +378,13 @@ else
|
||||
#ifndef _INT64_T
|
||||
#define _INT64_T
|
||||
#ifndef __int64_t_defined
|
||||
#ifndef int64_t
|
||||
typedef long long int64_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#ifndef _UINT64_T
|
||||
#define _UINT64_T
|
||||
#ifndef uint64_t
|
||||
typedef unsigned long long uint64_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#elif defined __GNUC__ && defined (__STDC__) && __STDC__-0
|
||||
/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
|
||||
@@ -438,32 +396,24 @@ else
|
||||
|
||||
# ifndef _INT64_T
|
||||
# define _INT64_T
|
||||
# ifndef int64_t
|
||||
__extension__ typedef long long int64_t;
|
||||
# endif
|
||||
# endif
|
||||
# ifndef _UINT64_T
|
||||
# define _UINT64_T
|
||||
# ifndef uint64_t
|
||||
__extension__ typedef unsigned long long uint64_t;
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#elif !defined __STRICT_ANSI__
|
||||
# if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
|
||||
|
||||
# ifndef _INT64_T
|
||||
# define _INT64_T
|
||||
# ifndef int64_t
|
||||
typedef __int64 int64_t;
|
||||
# endif
|
||||
# endif
|
||||
# ifndef _UINT64_T
|
||||
# define _UINT64_T
|
||||
# ifndef uint64_t
|
||||
typedef unsigned __int64 uint64_t;
|
||||
# endif
|
||||
# endif
|
||||
# endif /* compiler */
|
||||
|
||||
#endif /* ANSI version */
|
||||
@@ -476,15 +426,11 @@ if test "$ac_cv_type_uintptr_t" != yes; then
|
||||
|
||||
/* Define intptr_t based on sizeof(void*) = $ac_cv_sizeof_void_p */
|
||||
#ifndef __uintptr_t_defined
|
||||
#ifndef uintptr_t
|
||||
typedef u$acx_cv_type_intptr_t uintptr_t;
|
||||
#endif
|
||||
#endif
|
||||
#ifndef __intptr_t_defined
|
||||
#ifndef intptr_t
|
||||
typedef $acx_cv_type_intptr_t intptr_t;
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
fi
|
||||
|
||||
@@ -536,20 +482,16 @@ if test "$ac_cv_type_uintmax_t" != yes; then
|
||||
sed 's/^ *//' >> tmp-stdint.h <<EOF
|
||||
|
||||
/* Define intmax based on what we found */
|
||||
#ifndef intmax_t
|
||||
#ifdef _INT64_T
|
||||
typedef int64_t intmax_t;
|
||||
#else
|
||||
typedef long intmax_t;
|
||||
#endif
|
||||
#endif
|
||||
#ifndef uintmax_t
|
||||
#ifdef _UINT64_T
|
||||
typedef uint64_t uintmax_t;
|
||||
#else
|
||||
typedef unsigned long uintmax_t;
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
fi
|
||||
|
||||
|
||||
@@ -114,6 +114,7 @@ AC_DEFUN([SC_PATH_TCLCONFIG], [
|
||||
if test x"${ac_cv_c_tclconfig}" = x ; then
|
||||
TCL_BIN_DIR="# no Tcl configs found"
|
||||
AC_MSG_WARN([Can't find Tcl configuration definitions])
|
||||
exit 0
|
||||
else
|
||||
no_tcl=
|
||||
TCL_BIN_DIR=${ac_cv_c_tclconfig}
|
||||
@@ -236,6 +237,7 @@ AC_DEFUN([SC_PATH_TKCONFIG], [
|
||||
if test x"${ac_cv_c_tkconfig}" = x ; then
|
||||
TK_BIN_DIR="# no Tk configs found"
|
||||
AC_MSG_WARN([Can't find Tk configuration definitions])
|
||||
exit 0
|
||||
else
|
||||
no_tk=
|
||||
TK_BIN_DIR=${ac_cv_c_tkconfig}
|
||||
@@ -283,7 +285,7 @@ AC_DEFUN([SC_LOAD_TCLCONFIG], [
|
||||
# of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC
|
||||
# instead of TCL_BUILD_LIB_SPEC since it will work with both an
|
||||
# installed and uninstalled version of Tcl.
|
||||
if test -f "${TCL_BIN_DIR}/Makefile" ; then
|
||||
if test -f ${TCL_BIN_DIR}/Makefile ; then
|
||||
TCL_LIB_SPEC=${TCL_BUILD_LIB_SPEC}
|
||||
TCL_STUB_LIB_SPEC=${TCL_BUILD_STUB_LIB_SPEC}
|
||||
TCL_STUB_LIB_PATH=${TCL_BUILD_STUB_LIB_PATH}
|
||||
@@ -293,7 +295,7 @@ AC_DEFUN([SC_LOAD_TCLCONFIG], [
|
||||
# against Tcl.framework installed in an arbitary location.
|
||||
case ${TCL_DEFS} in
|
||||
*TCL_FRAMEWORK*)
|
||||
if test -f "${TCL_BIN_DIR}/${TCL_LIB_FILE}"; then
|
||||
if test -f ${TCL_BIN_DIR}/${TCL_LIB_FILE}; then
|
||||
for i in "`cd ${TCL_BIN_DIR}; pwd`" \
|
||||
"`cd ${TCL_BIN_DIR}/../..; pwd`"; do
|
||||
if test "`basename "$i"`" = "${TCL_LIB_FILE}.framework"; then
|
||||
@@ -302,7 +304,7 @@ AC_DEFUN([SC_LOAD_TCLCONFIG], [
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test -f "${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}"; then
|
||||
if test -f ${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}; then
|
||||
TCL_STUB_LIB_SPEC="-L${TCL_BIN_DIR} ${TCL_STUB_LIB_FLAG}"
|
||||
TCL_STUB_LIB_PATH="${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}"
|
||||
fi
|
||||
@@ -366,7 +368,7 @@ AC_DEFUN([SC_LOAD_TKCONFIG], [
|
||||
# of TK_BUILD_LIB_SPEC. An extension should make use of TK_LIB_SPEC
|
||||
# instead of TK_BUILD_LIB_SPEC since it will work with both an
|
||||
# installed and uninstalled version of Tcl.
|
||||
if test -f "${TK_BIN_DIR}/Makefile" ; then
|
||||
if test -f ${TK_BIN_DIR}/Makefile ; then
|
||||
TK_LIB_SPEC=${TK_BUILD_LIB_SPEC}
|
||||
TK_STUB_LIB_SPEC=${TK_BUILD_STUB_LIB_SPEC}
|
||||
TK_STUB_LIB_PATH=${TK_BUILD_STUB_LIB_PATH}
|
||||
@@ -376,7 +378,7 @@ AC_DEFUN([SC_LOAD_TKCONFIG], [
|
||||
# against Tk.framework installed in an arbitary location.
|
||||
case ${TK_DEFS} in
|
||||
*TK_FRAMEWORK*)
|
||||
if test -f "${TK_BIN_DIR}/${TK_LIB_FILE}"; then
|
||||
if test -f ${TK_BIN_DIR}/${TK_LIB_FILE}; then
|
||||
for i in "`cd ${TK_BIN_DIR}; pwd`" \
|
||||
"`cd ${TK_BIN_DIR}/../..; pwd`"; do
|
||||
if test "`basename "$i"`" = "${TK_LIB_FILE}.framework"; then
|
||||
@@ -385,7 +387,7 @@ AC_DEFUN([SC_LOAD_TKCONFIG], [
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test -f "${TK_BIN_DIR}/${TK_STUB_LIB_FILE}"; then
|
||||
if test -f ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}; then
|
||||
TK_STUB_LIB_SPEC="-L${TK_BIN_DIR} ${TK_STUB_LIB_FLAG}"
|
||||
TK_STUB_LIB_PATH="${TK_BIN_DIR}/${TK_STUB_LIB_FILE}"
|
||||
fi
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
dnl Check whether the target supports TLS.
|
||||
AC_DEFUN([GCC_CHECK_TLS], [
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
GCC_ENABLE(tls, yes, [], [Use thread-local storage])
|
||||
AC_CACHE_CHECK([whether the target supports thread-local storage],
|
||||
gcc_cv_have_tls, [
|
||||
@@ -11,8 +10,8 @@ AC_DEFUN([GCC_CHECK_TLS], [
|
||||
chktls_save_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="-static $LDFLAGS"
|
||||
AC_LINK_IFELSE([int main() { return 0; }],
|
||||
[AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }],
|
||||
[gcc_cv_have_tls=yes], [gcc_cv_have_tls=no],[])],
|
||||
AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }],
|
||||
[gcc_cv_have_tls=yes], [gcc_cv_have_tls=no],[]),
|
||||
[gcc_cv_have_tls=yes])
|
||||
LDFLAGS="$chktls_save_LDFLAGS"
|
||||
if test $gcc_cv_have_tls = yes; then
|
||||
@@ -38,16 +37,11 @@ AC_DEFUN([GCC_CHECK_TLS], [
|
||||
CFLAGS="$chktls_save_CFLAGS"
|
||||
if test "X$thread_CFLAGS" != Xfailed; then
|
||||
CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
|
||||
dnl Test for an old glibc bug that violated the __thread property.
|
||||
dnl Use volatile to ensure the compiler won't optimize away pointer
|
||||
dnl accesses it might otherwise assume to be redundant, or reorder
|
||||
dnl them and reuse storage, which might lead to them pointing to
|
||||
dnl the same location.
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[#include <pthread.h>
|
||||
__thread int a;
|
||||
static int *volatile a_in_other_thread;
|
||||
static int *a_in_other_thread;
|
||||
static void *
|
||||
thread_func (void *arg)
|
||||
{
|
||||
@@ -56,11 +50,11 @@ AC_DEFUN([GCC_CHECK_TLS], [
|
||||
}],
|
||||
[pthread_t thread;
|
||||
void *thread_retval;
|
||||
int *volatile a_in_main_thread;
|
||||
a_in_main_thread = &a;
|
||||
int *a_in_main_thread;
|
||||
if (pthread_create (&thread, (pthread_attr_t *)0,
|
||||
thread_func, (void *)0))
|
||||
return 0;
|
||||
a_in_main_thread = &a;
|
||||
if (pthread_join (thread, &thread_retval))
|
||||
return 0;
|
||||
return (a_in_other_thread == a_in_main_thread);])],
|
||||
@@ -72,24 +66,7 @@ AC_DEFUN([GCC_CHECK_TLS], [
|
||||
[dnl This is the cross-compiling case. Assume libc supports TLS if the
|
||||
dnl binutils and the compiler do.
|
||||
AC_LINK_IFELSE([__thread int a; int b; int main() { return a = b; }],
|
||||
[chktls_save_LDFLAGS="$LDFLAGS"
|
||||
dnl Shared library options may depend on the host; this check
|
||||
dnl is only known to be needed for GNU/Linux.
|
||||
case $host in
|
||||
*-*-linux*)
|
||||
LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
|
||||
;;
|
||||
esac
|
||||
chktls_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="-fPIC $CFLAGS"
|
||||
dnl If -shared works, test if TLS works in a shared library.
|
||||
AC_LINK_IFELSE([int f() { return 0; }],
|
||||
[AC_LINK_IFELSE([__thread int a; int b; int f() { return a = b; }],
|
||||
[gcc_cv_have_tls=yes],
|
||||
[gcc_cv_have_tls=no])],
|
||||
[gcc_cv_have_tls=yes])
|
||||
CFLAGS="$chktls_save_CFLAGS"
|
||||
LDFLAGS="$chktls_save_LDFLAGS"], [gcc_cv_have_tls=no])
|
||||
[gcc_cv_have_tls=yes], [gcc_cv_have_tls=no])
|
||||
]
|
||||
)])
|
||||
if test "$enable_tls $gcc_cv_have_tls" = "yes yes"; then
|
||||
@@ -109,21 +86,3 @@ AC_DEFUN([GCC_CHECK_CC_TLS], [
|
||||
AC_DEFINE(HAVE_CC_TLS, 1,
|
||||
[Define to 1 if the target assembler supports thread-local storage.])
|
||||
fi])
|
||||
|
||||
dnl Check whether TLS is emulated.
|
||||
AC_DEFUN([GCC_CHECK_EMUTLS], [
|
||||
AC_CACHE_CHECK([whether the thread-local storage support is from emutls],
|
||||
gcc_cv_use_emutls, [
|
||||
gcc_cv_use_emutls=no
|
||||
echo '__thread int a; int b; int main() { return a = b; }' > conftest.c
|
||||
if AC_TRY_COMMAND(${CC-cc} -Werror -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD); then
|
||||
if grep __emutls_get_address conftest.s > /dev/null; then
|
||||
gcc_cv_use_emutls=yes
|
||||
fi
|
||||
fi
|
||||
rm -f conftest.*
|
||||
])
|
||||
if test "$gcc_cv_use_emutls" = "yes" ; then
|
||||
AC_DEFINE(USE_EMUTLS, 1,
|
||||
[Define to 1 if the target use emutls for thread-local storage.])
|
||||
fi])
|
||||
|
||||
@@ -1,37 +1,22 @@
|
||||
dnl
|
||||
dnl Check whether _Unwind_GetIPInfo is available without doing a link
|
||||
dnl test so we can use this with libstdc++-v3 and libjava. Need to
|
||||
dnl use $target to set defaults because automatic checking is not possible
|
||||
dnl without a link test (and maybe even with a link test).
|
||||
dnl Check whether _Unwind_GetIPInfo is available.
|
||||
dnl
|
||||
|
||||
AC_DEFUN([GCC_CHECK_UNWIND_GETIPINFO], [
|
||||
AC_ARG_WITH(system-libunwind,
|
||||
[ --with-system-libunwind use installed libunwind])
|
||||
# If system-libunwind was not specifically set, pick a default setting.
|
||||
if test x$with_system_libunwind = x; then
|
||||
case ${target} in
|
||||
ia64-*-hpux*) with_system_libunwind=yes ;;
|
||||
*) with_system_libunwind=no ;;
|
||||
esac
|
||||
fi
|
||||
# Based on system-libunwind and target, do we have ipinfo?
|
||||
if test x$with_system_libunwind = xyes; then
|
||||
case ${target} in
|
||||
ia64-*-*) have_unwind_getipinfo=no ;;
|
||||
*) have_unwind_getipinfo=yes ;;
|
||||
esac
|
||||
else
|
||||
# Darwin before version 9 does not have _Unwind_GetIPInfo.
|
||||
changequote(,)
|
||||
case ${target} in
|
||||
*-*-darwin[3-8]|*-*-darwin[3-8].*) have_unwind_getipinfo=no ;;
|
||||
*) have_unwind_getipinfo=yes ;;
|
||||
esac
|
||||
changequote([,])
|
||||
fi
|
||||
|
||||
if test x$have_unwind_getipinfo = xyes; then
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
ac_save_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS -fno-exceptions"
|
||||
AC_MSG_CHECKING([for _Unwind_GetIPInfo])
|
||||
AC_CACHE_VAL(gcc_cv_getipinfo, [
|
||||
AC_TRY_LINK([extern "C" { extern void _Unwind_GetIPInfo(); }],
|
||||
[_Unwind_GetIPInfo();],
|
||||
[gcc_cv_getipinfo=yes],
|
||||
[gcc_cv_getipinfo=no])
|
||||
])
|
||||
if test $gcc_cv_getipinfo = yes; then
|
||||
AC_DEFINE(HAVE_GETIPINFO, 1, [Define if _Unwind_GetIPInfo is available.])
|
||||
fi
|
||||
AC_MSG_RESULT($gcc_cv_getipinfo)
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Autoconf include file defining macros related to compile-time warnings.
|
||||
|
||||
# Copyright 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
# Copyright 2004, 2005, 2007 Free Software Foundation, Inc.
|
||||
|
||||
#This file is part of GCC.
|
||||
|
||||
#GCC is free software; you can redistribute it and/or modify it under
|
||||
#the terms of the GNU General Public License as published by the Free
|
||||
#Software Foundation; either version 3, or (at your option) any later
|
||||
#Software Foundation; either version 2, or (at your option) any later
|
||||
#version.
|
||||
|
||||
#GCC is distributed in the hope that it will be useful, but WITHOUT
|
||||
@@ -15,8 +15,9 @@
|
||||
#for more details.
|
||||
|
||||
#You should have received a copy of the GNU General Public License
|
||||
#along with GCC; see the file COPYING3. If not see
|
||||
#<http://www.gnu.org/licenses/>.
|
||||
#along with GCC; see the file COPYING. If not, write to the Free
|
||||
#Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
#02110-1301, USA.
|
||||
|
||||
# ACX_PROG_CC_WARNING_OPTS(WARNINGS, [VARIABLE = WARN_CFLAGS)
|
||||
# Sets @VARIABLE@ to the subset of the given options which the
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
dnl A function to check for zlib availability. zlib is used by default
|
||||
dnl unless the user configured with --disable-nls.
|
||||
|
||||
AC_DEFUN([AM_ZLIB],
|
||||
[
|
||||
# See if the user specified whether he wants zlib support or not.
|
||||
AC_ARG_WITH(zlib,
|
||||
[ --with-zlib include zlib support (auto/yes/no) [default=auto]],
|
||||
[], [with_zlib=auto])
|
||||
|
||||
if test "$with_zlib" != "no"; then
|
||||
AC_SEARCH_LIBS(zlibVersion, z, [AC_CHECK_HEADERS(zlib.h)])
|
||||
if test "$with_zlib" = "yes" -a "$ac_cv_header_zlib_h" != "yes"; then
|
||||
AC_MSG_ERROR([zlib (libz) library was explicitly requested but not found])
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
2220
configure.ac
2220
configure.ac
File diff suppressed because it is too large
Load Diff
771
cpu/ChangeLog
771
cpu/ChangeLog
@@ -1,771 +0,0 @@
|
||||
2010-10-08 Pierre Muller <muller@ics.u-strasbg.fr>
|
||||
|
||||
* frv.opc: #undef DEBUG.
|
||||
|
||||
2010-07-03 DJ Delorie <dj@delorie.com>
|
||||
|
||||
* m32c.cpu (f-dsp-8-s24): Mask high byte after shifting it.
|
||||
|
||||
2010-02-11 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
* m32r.cpu (HASH-PREFIX): Delete.
|
||||
(duhpo, dshpo): New pmacros.
|
||||
(simm8, simm16): Delete HASH-PREFIX attribute, define with dshpo.
|
||||
(uimm3, uimm4, uimm5, uimm8, uimm16, imm1): Delete HASH-PREFIX
|
||||
attribute, define with dshpo.
|
||||
(uimm24): Delete HASH-PREFIX attribute.
|
||||
* m32r.opc (CGEN_PRINT_NORMAL): Delete.
|
||||
(print_signed_with_hash_prefix): New function.
|
||||
(print_unsigned_with_hash_prefix): New function.
|
||||
* xc16x.cpu (dowh): New pmacro.
|
||||
(upof16): Define with dowh, specify print handler.
|
||||
(qbit, qlobit, qhibit): Ditto.
|
||||
(upag16): Ditto.
|
||||
* xc16x.opc (CGEN_PRINT_NORMAL): Delete.
|
||||
(print_with_dot_prefix): New functions.
|
||||
(print_with_pof_prefix, print_with_pag_prefix): New functions.
|
||||
|
||||
2010-01-24 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
* frv.cpu (floating-point-conversion): Update call to fp conv op.
|
||||
(floating-point-dual-conversion, ne-floating-point-dual-conversion,
|
||||
conditional-floating-point-conversion, ne-floating-point-conversion,
|
||||
float-parallel-mul-add-double-semantics): Ditto.
|
||||
|
||||
2010-01-05 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
* m32c.cpu (f-dsp-32-u24): Fix mode of extract handler.
|
||||
(f-dsp-40-u20, f-dsp-40-u24): Ditto.
|
||||
|
||||
2010-01-02 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
* m32c.opc (parse_signed16): Fix typo.
|
||||
|
||||
2009-12-11 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* frv.opc: Fix shadowed variable warnings.
|
||||
* m32c.opc: Fix shadowed variable warnings.
|
||||
|
||||
2009-11-14 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
Must use VOID expression in VOID context.
|
||||
* xc16x.cpu (mov4): Fix mode of `sequence'.
|
||||
(mov9, mov10): Ditto.
|
||||
(movbsrr, moveb1, jmprel, jmpseg, jmps): Fix mode of `if'.
|
||||
(callr, callseg, calls, trap, rets, reti): Ditto.
|
||||
(jb, jbc, jnb, jnbs): Fix mode of `if'. Comment out no-op `sll'.
|
||||
(atomic, extr, extp, extp1, extpg1, extpr, extpr1): Fix mode of `cond'.
|
||||
(exts, exts1, extsr, extsr1, prior): Ditto.
|
||||
|
||||
2009-10-23 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
* m32c.opc (opc.h): cgen-types.h -> cgen/basic-modes.h.
|
||||
cgen-ops.h -> cgen/basic-ops.h.
|
||||
|
||||
2009-09-25 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* m32r.cpu (stb-plus): Typo fix.
|
||||
|
||||
2009-09-23 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
* m32r.cpu (sth-plus): Fix address mode and calculation.
|
||||
(stb-plus): Ditto.
|
||||
(clrpsw): Fix mask calculation.
|
||||
(bset, bclr, btst): Make mode in bit calculation match expression.
|
||||
|
||||
* xc16x.cpu (rtl-version): Set to 0.8.
|
||||
(gr-names, ext-names,psw-names): Update, print-name -> enum-prefix,
|
||||
make uppercase. Remove unnecessary name-prefix spec.
|
||||
(grb-names, conditioncode-names, extconditioncode-names): Ditto.
|
||||
(grb8-names, r8-names, regmem8-names, regdiv8-names): Ditto.
|
||||
(reg0-name, reg0-name1, regbmem8-names, memgr8-names): Ditto.
|
||||
(h-cr): New hardware.
|
||||
(muls): Comment out parts that won't compile, add fixme.
|
||||
(mulu, divl, divlu, jmpabs, jmpa-, jmprel, jbc, jnbs, callr): Ditto.
|
||||
(scxti, scxtmg, scxtm, bclear, bclr18, bset19, bitset, bmov): Ditto.
|
||||
(bmovn, band, bor, bxor, bcmp, bfldl, bfldh): Ditto.
|
||||
|
||||
2009-07-16 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
* cpu/simplify.inc (*): One line doc strings don't need \n.
|
||||
(df): Invoke define-full-ifield instead of claiming it's an alias.
|
||||
(dno): Define.
|
||||
(dnop): Mark as deprecated.
|
||||
|
||||
2009-06-22 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* m32c.opc (parse_lab_5_3): Use correct enum.
|
||||
|
||||
2009-01-07 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* frv.cpu (mabshs): Explicitly sign-extend arguments of abs to DI.
|
||||
(DI-ext-HI, DI-ext-UHI, DI-ext-DI): New pmacros.
|
||||
(media-arith-sat-semantics): Explicitly sign- or zero-extend
|
||||
arguments of "operation" to DI using "mode" and the new pmacros.
|
||||
|
||||
2009-01-03 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* cris.cpu (cris-implemented-writable-specregs-v32): Correct size
|
||||
of number 2, PID.
|
||||
|
||||
2008-12-23 Jon Beniston <jon@beniston.com>
|
||||
|
||||
* lm32.cpu: New file.
|
||||
* lm32.opc: New file.
|
||||
|
||||
2008-01-29 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* mt.opc (parse_imm16): Apply 2007-09-26 opcodes/mt-asm.c change
|
||||
to source.
|
||||
|
||||
2007-10-22 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* cris.cpu (movs, movu): Use result of extension operation when
|
||||
updating flags.
|
||||
|
||||
2007-07-04 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* cris.cpu: Update copyright notice to refer to GPLv3.
|
||||
* frv.cpu, frv.opc, iq10.cpu, iq2000m.cpu, iq2000.opc, m32c.cpu,
|
||||
m32c.opc, m32r.cpu, m32r.opc, mt.cpu, mt.opc, sh64-compact.cpu,
|
||||
sh64-media.cpu, sh.cpu, sh.opc, simplify.inc, xc16x.cpu,
|
||||
xc16x.opc: Likewise.
|
||||
* iq2000.cpu: Fix copyright notice to refer to FSF.
|
||||
|
||||
2007-04-30 Mark Salter <msalter@sadr.localdomain>
|
||||
|
||||
* frv.cpu (spr-names): Support new coprocessor SPR registers.
|
||||
|
||||
2007-04-20 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* xc16x.cpu: Restore after accidentally overwriting this file with
|
||||
xc16x.opc.
|
||||
|
||||
2007-03-29 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.cpu (Imm-8-s4n): Fix print hook.
|
||||
(Lab-24-8, Lab-32-8, Lab-40-8): Fix.
|
||||
(arith-jnz-imm4-dst-defn): Make relaxable.
|
||||
(arith-jnz16-imm4-dst-defn): Fix encodings.
|
||||
|
||||
2007-03-20 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.cpu (f-dsp-40-u20, f-dsp-48-u20, Dsp-40-u20, Dsp-40-u20,
|
||||
mem20): New.
|
||||
(src16-16-20-An-relative-*): New.
|
||||
(dst16-*-20-An-relative-*): New.
|
||||
(dst16-16-16sa-*): New
|
||||
(dst16-16-16ar-*): New
|
||||
(dst32-16-16sa-Unprefixed-*): New
|
||||
(jsri): Fix operands.
|
||||
(setzx): Fix encoding.
|
||||
|
||||
2007-03-08 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* m32r.opc: Formatting.
|
||||
|
||||
2006-05-22 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* iq2000.cpu: Fix include paths for iq2000m.cpu and iq10.cpu.
|
||||
|
||||
2006-04-10 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.opc (parse_unsigned_bitbase): Take a new parameter which
|
||||
decides if this function accepts symbolic constants or not.
|
||||
(parse_signed_bitbase): Likewise.
|
||||
(parse_unsigned_bitbase8): Pass the new parameter.
|
||||
(parse_unsigned_bitbase11): Likewise.
|
||||
(parse_unsigned_bitbase16): Likewise.
|
||||
(parse_unsigned_bitbase19): Likewise.
|
||||
(parse_unsigned_bitbase27): Likewise.
|
||||
(parse_signed_bitbase8): Likewise.
|
||||
(parse_signed_bitbase11): Likewise.
|
||||
(parse_signed_bitbase19): Likewise.
|
||||
|
||||
2006-03-13 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.cpu (Bit3-S): New.
|
||||
(btst:s): New.
|
||||
* m32c.opc (parse_bit3_S): New.
|
||||
|
||||
* m32c.cpu (decimal-subtraction16-insn): Add second operand.
|
||||
(btst): Add optional :G suffix for MACH32.
|
||||
(or.b:S): New.
|
||||
(pop.w:G): Add optional :G suffix for MACH16.
|
||||
(push.b.imm): Fix syntax.
|
||||
|
||||
2006-03-10 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.cpu (mul.l): New.
|
||||
(mulu.l): New.
|
||||
|
||||
2006-03-03 Shrirang Khisti <shrirangk@kpitcummins.com)
|
||||
|
||||
* xc16x.opc (parse_hash): Return NULL if the input was parsed or
|
||||
an error message otherwise.
|
||||
(parse_dot, parse_pof, parse_pag, parse_sof, parse_seg): Likewise.
|
||||
Fix up comments to correctly describe the functions.
|
||||
|
||||
2006-02-24 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.cpu (RL_TYPE): New attribute, with macros.
|
||||
(Lab-8-24): Add RELAX.
|
||||
(unary-insn-defn-g, binary-arith-imm-dst-defn,
|
||||
binary-arith-imm4-dst-defn): Add 1ADDR attribute.
|
||||
(binary-arith-src-dst-defn): Add 2ADDR attribute.
|
||||
(jcnd16-5, jcnd16, jcnd32, jmp16.s, jmp16.b, jmp16.w, jmp16.a,
|
||||
jmp32.s, jmp32.b, jmp32.w, jmp32.a, jsr16.w, jsr16.a): Add JUMP
|
||||
attribute.
|
||||
(jsri16, jsri32): Add 1ADDR attribute.
|
||||
(jsr32.w, jsr32.a): Add JUMP attribute.
|
||||
|
||||
2006-02-17 Shrirang Khisti <shrirangk@kpitcummins.com>
|
||||
Anil Paranjape <anilp1@kpitcummins.com>
|
||||
Shilin Shakti <shilins@kpitcummins.com>
|
||||
|
||||
* xc16x.cpu: New file containing complete CGEN specific XC16X CPU
|
||||
description.
|
||||
* xc16x.opc: New file containing supporting XC16C routines.
|
||||
|
||||
2006-02-10 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* iq2000.opc (parse_hi16): Truncate shifted values to 16 bits.
|
||||
|
||||
2006-01-06 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.cpu (mov.w:q): Fix mode.
|
||||
(push32.b.imm): Likewise, for the comment.
|
||||
|
||||
2005-12-16 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
Second part of ms1 to mt renaming.
|
||||
* mt.cpu (define-arch, define-isa): Set name to mt.
|
||||
(define-mach): Adjust.
|
||||
* mt.opc (CGEN_ASM_HASH): Update.
|
||||
(mt_asm_hash, mt_cgen_insn_supported): Renamed.
|
||||
(parse_loopsize, parse_imm16): Adjust.
|
||||
|
||||
2005-12-13 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.cpu (jsri): Fix order so register names aren't treated as
|
||||
symbols.
|
||||
(indexb, indexbd, indexbs, indexl, indexld, indexls, indexw,
|
||||
indexwd, indexws): Fix encodings.
|
||||
|
||||
2005-12-12 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* mt.cpu: Rename from ms1.cpu.
|
||||
* mt.opc: Rename from ms1.opc.
|
||||
|
||||
2005-12-06 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* cris.cpu (simplecris-common-writable-specregs)
|
||||
(simplecris-common-readable-specregs): Split from
|
||||
simplecris-common-specregs. All users changed.
|
||||
(cris-implemented-writable-specregs-v0)
|
||||
(cris-implemented-readable-specregs-v0): Similar from
|
||||
cris-implemented-specregs-v0.
|
||||
(cris-implemented-writable-specregs-v3)
|
||||
(cris-implemented-readable-specregs-v3)
|
||||
(cris-implemented-writable-specregs-v8)
|
||||
(cris-implemented-readable-specregs-v8)
|
||||
(cris-implemented-writable-specregs-v10)
|
||||
(cris-implemented-readable-specregs-v10)
|
||||
(cris-implemented-writable-specregs-v32)
|
||||
(cris-implemented-readable-specregs-v32): Similar.
|
||||
(bdap-32-pc, move-m-pcplus-p0, move-m-spplus-p8): New
|
||||
insns and specializations.
|
||||
|
||||
2005-11-08 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
Add ms2
|
||||
* ms1.cpu (ms2, ms2bf): New architecture variant, cpu, machine and
|
||||
model.
|
||||
(f-uu8, f-uu1, f-imm16l, f-loopo, f-cb1sel, f-cb2sel, f-cb1incr,
|
||||
f-cb2incr, f-rc3): New fields.
|
||||
(LOOP): New instruction.
|
||||
(JAL-HAZARD): New hazard.
|
||||
(imm16o, loopsize, imm16l, rc3, cb1sel, cb2sel, cb1incr, cb2incr):
|
||||
New operands.
|
||||
(mul, muli, dbnz, iflush): Enable for ms2
|
||||
(jal, reti): Has JAL-HAZARD.
|
||||
(ldctxt, ldfb, stfb): Only ms1.
|
||||
(fbcb): Only ms1,ms1-003.
|
||||
(wfbinc, mefbinc, wfbincr, mwfbincr, fbcbincs, mfbcbincs,
|
||||
fbcbincrs, mfbcbincrs): Enable for ms2.
|
||||
(loop, loopu, dfbc, dwfb, fbwfb, dfbr): New ms2 insns.
|
||||
* ms1.opc (parse_loopsize): New.
|
||||
(parse_imm16): hi16/lo16 relocs are applicable to IMM16L.
|
||||
(print_pcrel): New.
|
||||
|
||||
2005-10-28 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
Contribute the following change:
|
||||
2003-09-24 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
* frv.opc: Use CGEN_ATTR_VALUE_ENUM_TYPE in place of
|
||||
CGEN_ATTR_VALUE_TYPE.
|
||||
* m32c.opc (m32c_cgen_insn_supported): Use CGEN_INSN_BITSET_ATTR_VALUE.
|
||||
Use cgen_bitset_intersect_p.
|
||||
|
||||
2005-10-27 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.cpu (Imm-8-s4n, Imm-12-s4n): New.
|
||||
(arith-jnz16-imm4-dst-defn, arith-jnz32-imm4-dst-defn,
|
||||
arith-jnz-imm4-dst-mach, arith-jnz-imm4-dst): Keep track of which
|
||||
imm operand is needed.
|
||||
(adjnz, sbjnz): Pass the right operands.
|
||||
(unary-insn-defn, unary16-defn, unary32-defn, unary-insn-mach,
|
||||
unary-insn): Add -g variants for opcodes that need to support :G.
|
||||
(not.BW:G, push.BW:G): Call it.
|
||||
(stzx16-imm8-imm8-dsp8sb, stzx16-imm8-imm8-dsp8fb,
|
||||
stzx16-imm8-imm8-abs16): Fix operand typos.
|
||||
* m32c.opc (m32c_asm_hash): Support bnCND.
|
||||
(parse_signed4n, print_signed4n): New.
|
||||
|
||||
2005-10-26 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.cpu (f-dsp-8-s24, Dsp-8-s24): New.
|
||||
(mov-dspsp-dst-defn, mov-src-dspsp-defn, mov16-dspsp-dst-defn,
|
||||
mov16-src-dspsp-defn, mov32-dspsp-dst-defn, mov32-src-dspsp-defn):
|
||||
dsp8[sp] is signed.
|
||||
(mov.WL:S #imm,A0/A1): dsp24 is signed (i.e. -0x800000..0xffffff).
|
||||
(mov.BW:S r0,r1): Fix typo r1l->r1.
|
||||
(tst): Allow :G suffix.
|
||||
* m32c.opc (parse_signed24): New, for -0x800000..0xffffff.
|
||||
|
||||
2005-10-26 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
|
||||
|
||||
* m32r.opc (parse_hi16): Do not assume a 32-bit host word size.
|
||||
|
||||
2005-10-25 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.cpu (add16-bQ-sp,add16-wQ-sp): Fix to allow either width by
|
||||
making one a macro of the other.
|
||||
|
||||
2005-10-21 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.cpu (lde, ste): Add dsp[a0] and [a1a] addressing.
|
||||
(indexb, indexbd, indexbs, indexw, indexwd, indexws, indexl,
|
||||
indexld, indexls): .w variants have `1' bit.
|
||||
(rot32.b): QI, not SI.
|
||||
(rot32.w): HI, not SI.
|
||||
(xchg16): HI for .w variant.
|
||||
|
||||
2005-10-19 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* m32r.opc (parse_slo16): Fix bad application of previous patch.
|
||||
|
||||
2005-10-18 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* m32r.opc (parse_slo16): Better version of previous patch.
|
||||
|
||||
2005-10-14 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
|
||||
|
||||
* cpu/m32r.opc (parse_slo16): Do not assume a 32-bit host word
|
||||
size.
|
||||
|
||||
2005-07-25 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* m32c.opc (parse_unsigned8): Add %dsp8().
|
||||
(parse_signed8): Add %hi8().
|
||||
(parse_unsigned16): Add %dsp16().
|
||||
(parse_signed16): Add %lo16() and %hi16().
|
||||
(parse_lab_5_3): Make valuep a bfd_vma *.
|
||||
|
||||
2005-07-18 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* m32c.cpu (f-16-8, f-24-8, f-32-16, f-dsp-8-u24): New opcode
|
||||
components.
|
||||
(f-lab32-jmp-s): Fix insertion sequence.
|
||||
(Dsp-8-u24, Lab-5-3, Lab32-jmp-s): New operands.
|
||||
(Dsp-40-s8): Make parameter be signed.
|
||||
(Dsp-40-s16): Likewise.
|
||||
(Dsp-48-s8): Likewise.
|
||||
(Dsp-48-s16): Likewise.
|
||||
(Imm-13-u3): Likewise. (Despite its name!)
|
||||
(BitBase16-16-s8): Make the parameter be unsigned.
|
||||
(BitBase16-8-u11-S): Likewise.
|
||||
(Lab-8-8, Lab-8-16, Lab-16-8, jcnd16-5, jcnd16, jcnd32, jmp16.s,
|
||||
jmp16.b, jmp16.w, jmp32.s, jmp32.b, jmp32.w, jsp16.w, jsr32.w): Allow
|
||||
relaxation.
|
||||
|
||||
* m32c.opc: Fix formatting.
|
||||
Use safe-ctype.h instead of ctype.h
|
||||
Move duplicated code sequences into a macro.
|
||||
Fix compile time warnings about signedness mismatches.
|
||||
Remove dead code.
|
||||
(parse_lab_5_3): New parser function.
|
||||
|
||||
2005-07-16 Jim Blandy <jimb@redhat.com>
|
||||
|
||||
* m32c.opc (m32c_cgen_insn_supported): Use int, not CGEN_BITSET,
|
||||
to represent isa sets.
|
||||
|
||||
2005-07-15 Jim Blandy <jimb@redhat.com>
|
||||
|
||||
* m32c.cpu, m32c.opc: Fix copyright.
|
||||
|
||||
2005-07-14 Jim Blandy <jimb@redhat.com>
|
||||
|
||||
* m32c.cpu, m32c.opc: Machine description for the Renesas M32C.
|
||||
|
||||
2005-07-14 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* ms1.opc (print_dollarhex): Correct format string.
|
||||
|
||||
2005-07-06 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* iq2000.cpu: Include from binutils cpu dir.
|
||||
|
||||
2005-07-05 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* iq2000.opc (parse_lo16, parse_mlo16): Make value parameter
|
||||
unsigned in order to avoid compile time warnings about sign
|
||||
conflicts.
|
||||
|
||||
* ms1.opc (parse_*): Likewise.
|
||||
(parse_imm16): Use a "void *" as it is passed both signed and
|
||||
unsigned arguments.
|
||||
|
||||
2005-07-01 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* frv.opc: Update to ISO C90 function declaration style.
|
||||
* iq2000.opc: Likewise.
|
||||
* m32r.opc: Likewise.
|
||||
* sh.opc: Likewise.
|
||||
|
||||
2005-06-15 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
Contributed by Red Hat.
|
||||
* ms1.cpu: New file. Written by Nick Clifton, Stan Cox.
|
||||
* ms1.opc: New file. Written by Stan Cox.
|
||||
|
||||
2005-05-10 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* Update the address and phone number of the FSF organization in
|
||||
the GPL notices in the following files:
|
||||
cris.cpu, frv.cpu, frv.opc, iq10.cpu, iq2000.opc, iq2000m.cpu,
|
||||
m32r.cpu, m32r.opc, sh.cpu, sh.opc, sh64-compact.cpu,
|
||||
sh64-media.cpu, simplify.inc
|
||||
|
||||
2005-02-24 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* frv.opc (parse_A): Warning fix.
|
||||
|
||||
2005-02-23 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* frv.opc: Fixed compile time warnings about differing signed'ness
|
||||
of pointers passed to functions.
|
||||
* m32r.opc: Likewise.
|
||||
|
||||
2005-02-11 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* iq2000.opc (parse_jtargq10): Change type of valuep argument to
|
||||
'bfd_vma *' in order avoid compile time warning message.
|
||||
|
||||
2005-01-28 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* cris.cpu (mstep): Add missing insn.
|
||||
|
||||
2005-01-25 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
2004-11-10 Alexandre Oliva <aoliva@redhat.com>
|
||||
* frv.cpu: Add support for TLS annotations in loads and calll.
|
||||
* frv.opc (parse_symbolic_address): New.
|
||||
(parse_ldd_annotation): New.
|
||||
(parse_call_annotation): New.
|
||||
(parse_ld_annotation): New.
|
||||
(parse_ulo16, parse_uslo16): Use parse_symbolic_address.
|
||||
Introduce TLS relocations.
|
||||
(parse_d12, parse_s12, parse_u12): Likewise.
|
||||
(parse_uhi16): Likewise. Fix constant checking on 64-bit host.
|
||||
(parse_call_label, print_at): New.
|
||||
|
||||
2004-12-21 Mikael Starvik <starvik@axis.com>
|
||||
|
||||
* cris.cpu (cris-set-mem): Correct integral write semantics.
|
||||
|
||||
2004-11-29 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* cris.cpu: New file.
|
||||
|
||||
2004-11-15 Michael K. Lechner <mike.lechner@gmail.com>
|
||||
|
||||
* iq2000.cpu: Added quotes around macro arguments so that they
|
||||
will work with newer versions of guile.
|
||||
|
||||
2004-10-27 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* iq2000m.cpu (pkrlr1, pkrlr30, rbr1, rbr30, rxr1, rxr30, wbr1,
|
||||
wbr1u, wbr30, wbr30u, wxr1, wxr1u, wxr30, wxr30u): Add an index
|
||||
operand.
|
||||
* iq2000.cpu (dnop index): Rename to _index to avoid complications
|
||||
with guile.
|
||||
|
||||
2004-08-27 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* frv.cpu (cfmovs): Change UNIT attribute to FMALL.
|
||||
|
||||
2004-05-15 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* iq2000.opc (iq2000_cgen_insn_supported): Make 'insn' argument const.
|
||||
|
||||
2004-03-30 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
|
||||
|
||||
* m32r.opc (parse_hi16): Fixed shigh(0xffff8000) bug.
|
||||
|
||||
2004-03-01 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* frv.cpu (define-arch frv): Add fr450 mach.
|
||||
(define-mach fr450): New.
|
||||
(define-model fr450): New. Add profile units to every fr450 insn.
|
||||
(define-attr UNIT): Add MDCUTSSI.
|
||||
(define-attr FR450-MAJOR): New enum. Add to every fr450 insn.
|
||||
(define-attr AUDIO): New boolean.
|
||||
(f-LRAE, f-LRAD, f-LRAS, f-TLBPRopx, f-TLBPRL)
|
||||
(f-LRA-null, f-TLBPR-null): New fields.
|
||||
(scr0, scr1, scr2, scr3, imavr1, damvr1, cxnr, ttbr)
|
||||
(tplr, tppr, tpxr, timerh, timerl, timerd, btbr): New SPRs.
|
||||
(LRAE, LRAD, LRAS, TLBPRopx, TLBPRL): New operands.
|
||||
(LRA-null, TLBPR-null): New macros.
|
||||
(iacc-multiply-r-r, slass, scutss, int-arith-ss-r-r): Add AUDIO attr.
|
||||
(load-real-address): New macro.
|
||||
(lrai, lrad, tlbpr): New instructions.
|
||||
(media-cut-acc, media-cut-acc-ss): Add fr450-major argument.
|
||||
(mcut, mcuti, mcutss, mcutssi): Adjust accordingly.
|
||||
(mdcutssi): Change UNIT attribute to MDCUTSSI.
|
||||
(media-low-clear-semantics, media-scope-limit-semantics)
|
||||
(media-quad-limit, media-quad-shift): New macros.
|
||||
(mqlclrhs, mqlmths, mqsllhi, mqsrahi): New instructions.
|
||||
* frv.opc (frv_is_branch_major, frv_is_float_major, frv_is_media_major)
|
||||
(frv_is_branch_insn, frv_is_float_insn, frv_is_media_insn)
|
||||
(frv_vliw_reset, frv_vliw_add_insn): Handle bfd_mach_fr450.
|
||||
(fr450_unit_mapping): New array.
|
||||
(fr400_unit_mapping, fr500_unit_mapping, fr550_unit_mapping): Add entry
|
||||
for new MDCUTSSI unit.
|
||||
(fr450_check_insn_major_constraints): New function.
|
||||
(check_insn_major_constraints): Use it.
|
||||
|
||||
2004-03-01 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* frv.cpu (nsdiv, nudiv, nsdivi, nudivi): Remove fr400 profiling unit.
|
||||
(scutss): Change unit to I0.
|
||||
(calll, callil, ccalll): Add missing FR550-MAJOR and profile unit.
|
||||
(mqsaths): Fix FR400-MAJOR categorization.
|
||||
(media-quad-multiply-cross-acc, media-quad-cross-multiply-cross-acc)
|
||||
(media-quad-cross-multiply-acc): Change unit from MDUALACC to FMALL.
|
||||
* frv.opc (fr400_check_insn_major_constraints): Check for (M-2,M-1)
|
||||
combinations.
|
||||
|
||||
2004-03-01 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* frv.cpu (r-store, r-store-dual, r-store-quad): Delete.
|
||||
(rstb, rsth, rst, rstd, rstq): Delete.
|
||||
(rstbf, rsthf, rstf, rstdf, rstqf): Delete.
|
||||
|
||||
2004-02-23 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* Apply these patches from Renesas:
|
||||
|
||||
2004-02-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
|
||||
|
||||
* cpu/m32r.opc (my_print_insn): Fixed incorrect output when
|
||||
disassembling codes for 0x*2 addresses.
|
||||
|
||||
2003-12-15 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
|
||||
|
||||
* cpu/m32r.cpu: Add PIPE_O attribute to "pop" instruction.
|
||||
|
||||
2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
|
||||
|
||||
* cpu/m32r.cpu : Add new model m32r2.
|
||||
Add new instructions.
|
||||
Replace occurrances of 'Mitsubishi' with 'Renesas'.
|
||||
Changed PIPE attr of push from O to OS.
|
||||
Care for Little-endian of M32R.
|
||||
* cpu/m32r.opc (CGEN_DIS_HASH, my_print_insn):
|
||||
Care for Little-endian of M32R.
|
||||
(parse_slo16): signed extension for value.
|
||||
|
||||
2004-02-20 Andrew Cagney <cagney@redhat.com>
|
||||
|
||||
* m32r.opc, m32r.cpu: New files. Written by , Doug Evans, Nick
|
||||
Clifton, Ben Elliston, Matthew Green, and Andrew Haley.
|
||||
|
||||
* sh.cpu, sh.opc, sh64-compact.cpu, sh64-media.cpu: New files, all
|
||||
written by Ben Elliston.
|
||||
|
||||
2004-01-14 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* frv.cpu (UNIT): Add IACC.
|
||||
(iacc-multiply-r-r): Use it.
|
||||
* frv.opc (fr400_unit_mapping): Add entry for IACC.
|
||||
(fr500_unit_mapping, fr550_unit_mapping): Likewise.
|
||||
|
||||
2004-01-06 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
2003-12-19 Alexandre Oliva <aoliva@redhat.com>
|
||||
* frv.opc (parse_ulo16, parse_uhi16, parse_d12): Fix some
|
||||
cut&paste errors in shifting/truncating numerical operands.
|
||||
2003-08-08 Alexandre Oliva <aoliva@redhat.com>
|
||||
* frv.opc (parse_ulo16): Parse gotofflo and gotofffuncdesclo.
|
||||
(parse_uslo16): Likewise.
|
||||
(parse_uhi16): Parse gotoffhi and gotofffuncdeschi.
|
||||
(parse_d12): Parse gotoff12 and gotofffuncdesc12.
|
||||
(parse_s12): Likewise.
|
||||
2003-08-04 Alexandre Oliva <aoliva@redhat.com>
|
||||
* frv.opc (parse_ulo16): Parse gotlo and gotfuncdesclo.
|
||||
(parse_uslo16): Likewise.
|
||||
(parse_uhi16): Parse gothi and gotfuncdeschi.
|
||||
(parse_d12): Parse got12 and gotfuncdesc12.
|
||||
(parse_s12): Likewise.
|
||||
|
||||
2003-10-10 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
* frv.cpu (dnpmop): New p-macro.
|
||||
(GRdoublek): Use dnpmop.
|
||||
(CPRdoublek, FRdoublei, FRdoublej, FRdoublek): Ditto.
|
||||
(store-double-r-r): Use (.sym regtype doublek).
|
||||
(r-store-double): Ditto.
|
||||
(store-double-r-r-u): Ditto.
|
||||
(conditional-store-double): Ditto.
|
||||
(conditional-store-double-u): Ditto.
|
||||
(store-double-r-simm): Ditto.
|
||||
(fmovs): Assign to UNIT FMALL.
|
||||
|
||||
2003-10-06 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
* frv.cpu, frv.opc: Add support for fr550.
|
||||
|
||||
2003-09-24 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
* frv.cpu (u-commit): New modelling unit for fr500.
|
||||
(mwtaccg): Use frv_ref_SI to reference ACC40Sk as an input operand.
|
||||
(commit-r): Use u-commit model for fr500.
|
||||
(commit): Ditto.
|
||||
(conditional-float-binary-op): Take profiling data as an argument.
|
||||
Update callers.
|
||||
(ne-float-binary-op): Ditto.
|
||||
|
||||
2003-09-19 Michael Snyder <msnyder@redhat.com>
|
||||
|
||||
* frv.cpu (nldqi): Delete unimplemented instruction.
|
||||
|
||||
2003-09-12 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
* frv.cpu (u-clrgr, u-clrfr): New units of model fr500.
|
||||
(clear-ne-flag-r): Pass insn profiling in as an argument. Call
|
||||
frv_ref_SI to get input register referenced for profiling.
|
||||
(clear-ne-flag-all): Pass insn profiling in as an argument.
|
||||
(clrgr,clrfr,clrga,clrfa): Add profiling information.
|
||||
|
||||
2003-09-11 Michael Snyder <msnyder@redhat.com>
|
||||
|
||||
* frv.cpu: Typographical corrections.
|
||||
|
||||
2003-09-09 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
* frv.cpu (media-dual-complex): Change UNIT to FMALL.
|
||||
(conditional-media-dual-complex, media-quad-complex): Likewise.
|
||||
|
||||
2003-09-04 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
* frv.cpu (register-transfer): Pass in all attributes in on argument.
|
||||
Update all callers.
|
||||
(conditional-register-transfer): Ditto.
|
||||
(cache-preload): Ditto.
|
||||
(floating-point-conversion): Ditto.
|
||||
(floating-point-neg): Ditto.
|
||||
(float-abs): Ditto.
|
||||
(float-binary-op-s): Ditto.
|
||||
(conditional-float-binary-op): Ditto.
|
||||
(ne-float-binary-op): Ditto.
|
||||
(float-dual-arith): Ditto.
|
||||
(ne-float-dual-arith): Ditto.
|
||||
|
||||
2003-09-03 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
* frv.opc (parse_A, parse_A0, parse_A1): New parse handlers.
|
||||
* frv.cpu (UNIT): Add IALL, FMALL, FMLOW, STORE, SCAN, DCPL, MDUALACC,
|
||||
MCLRACC-1.
|
||||
(A): Removed operand.
|
||||
(A0,A1): New operands replace operand A.
|
||||
(mnop): Now a real insn
|
||||
(mclracc): Removed insn.
|
||||
(mclracc-0, mclracc-1): New insns replace mclracc.
|
||||
(all insns): Use new UNIT attributes.
|
||||
|
||||
2003-08-21 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* frv.cpu (mbtoh): Replace input parameter to u-media-dual-expand
|
||||
and u-media-dual-btoh with output parameter.
|
||||
(cmbtoh): Add profiling hack.
|
||||
|
||||
2003-08-19 Michael Snyder <msnyder@redhat.com>
|
||||
|
||||
* frv.cpu: Fix typo, Frintkeven -> FRintkeven
|
||||
|
||||
2003-06-10 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
* frv.cpu: Add IDOC attribute.
|
||||
|
||||
2003-06-06 Andrew Cagney <cagney@redhat.com>
|
||||
|
||||
Contributed by Red Hat.
|
||||
* iq2000.cpu: New file. Written by Ben Elliston, Jeff Johnston,
|
||||
Stan Cox, and Frank Ch. Eigler.
|
||||
* iq2000.opc: New file. Written by Ben Elliston, Frank
|
||||
Ch. Eigler, Chris Moller, Jeff Johnston, and Stan Cox.
|
||||
* iq2000m.cpu: New file. Written by Jeff Johnston.
|
||||
* iq10.cpu: New file. Written by Jeff Johnston.
|
||||
|
||||
2003-06-05 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* frv.cpu (FRintieven): New operand. An even-numbered only
|
||||
version of the FRinti operand.
|
||||
(FRintjeven): Likewise for FRintj.
|
||||
(FRintkeven): Likewise for FRintk.
|
||||
(mdcutssi, media-dual-word-rotate-r-r, mqsaths,
|
||||
media-quad-arith-sat-semantics, media-quad-arith-sat,
|
||||
conditional-media-quad-arith-sat, mdunpackh,
|
||||
media-quad-multiply-semantics, media-quad-multiply,
|
||||
conditional-media-quad-multiply, media-quad-complex-i,
|
||||
media-quad-multiply-acc-semantics, media-quad-multiply-acc,
|
||||
conditional-media-quad-multiply-acc, munpackh,
|
||||
media-quad-multiply-cross-acc-semantics, mdpackh,
|
||||
media-quad-multiply-cross-acc, mbtoh-semantics,
|
||||
media-quad-cross-multiply-cross-acc-semantics,
|
||||
media-quad-cross-multiply-cross-acc, mbtoh, mhtob-semantics,
|
||||
media-quad-cross-multiply-acc-semantics, cmbtoh,
|
||||
media-quad-cross-multiply-acc, media-quad-complex, mhtob,
|
||||
media-expand-halfword-to-double-semantics, mexpdhd, cmexpdhd,
|
||||
cmhtob): Use new operands.
|
||||
* frv.opc (CGEN_VERBOSE_ASSEMBLER_ERRORS): Define.
|
||||
(parse_even_register): New function.
|
||||
|
||||
2003-06-03 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* frv.cpu (media-dual-word-rotate-r-r): Use a signed 6-bit
|
||||
immediate value not unsigned.
|
||||
|
||||
2003-06-03 Andrew Cagney <cagney@redhat.com>
|
||||
|
||||
Contributed by Red Hat.
|
||||
* frv.cpu: New file. Written by Dave Brolley, Catherine Moore,
|
||||
and Eric Christopher.
|
||||
* frv.opc: New file. Written by Catherine Moore, and Dave
|
||||
Brolley.
|
||||
* simplify.inc: New file. Written by Doug Evans.
|
||||
|
||||
2003-05-02 Andrew Cagney <cagney@redhat.com>
|
||||
|
||||
* New file.
|
||||
|
||||
|
||||
Local Variables:
|
||||
mode: change-log
|
||||
left-margin: 8
|
||||
fill-column: 74
|
||||
version-control: never
|
||||
End:
|
||||
4553
cpu/cris.cpu
4553
cpu/cris.cpu
File diff suppressed because it is too large
Load Diff
9803
cpu/frv.cpu
9803
cpu/frv.cpu
File diff suppressed because it is too large
Load Diff
1921
cpu/frv.opc
1921
cpu/frv.opc
File diff suppressed because it is too large
Load Diff
1112
cpu/iq10.cpu
1112
cpu/iq10.cpu
File diff suppressed because it is too large
Load Diff
1196
cpu/iq2000.cpu
1196
cpu/iq2000.cpu
File diff suppressed because it is too large
Load Diff
320
cpu/iq2000.opc
320
cpu/iq2000.opc
@@ -1,320 +0,0 @@
|
||||
/* IQ2000 opcode support. -*- C -*-
|
||||
|
||||
Copyright 2000, 2001, 2002, 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Red Hat Inc; developed under contract from Fujitsu.
|
||||
|
||||
This file is part of the GNU Binutils.
|
||||
|
||||
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 3 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. */
|
||||
|
||||
/* This file is an addendum to iq2000.cpu. Heavy use of C code isn't
|
||||
appropriate in .cpu files, so it resides here. This especially applies
|
||||
to assembly/disassembly where parsing/printing can be quite involved.
|
||||
Such things aren't really part of the specification of the cpu, per se,
|
||||
so .cpu files provide the general framework and .opc files handle the
|
||||
nitty-gritty details as necessary.
|
||||
|
||||
Each section is delimited with start and end markers.
|
||||
|
||||
<arch>-opc.h additions use: "-- opc.h"
|
||||
<arch>-opc.c additions use: "-- opc.c"
|
||||
<arch>-asm.c additions use: "-- asm.c"
|
||||
<arch>-dis.c additions use: "-- dis.c"
|
||||
<arch>-ibd.h additions use: "-- ibd.h". */
|
||||
|
||||
/* -- opc.h */
|
||||
|
||||
/* Allows reason codes to be output when assembler errors occur. */
|
||||
#define CGEN_VERBOSE_ASSEMBLER_ERRORS
|
||||
|
||||
/* Override disassembly hashing - there are variable bits in the top
|
||||
byte of these instructions. */
|
||||
#define CGEN_DIS_HASH_SIZE 8
|
||||
#define CGEN_DIS_HASH(buf,value) (((* (unsigned char*) (buf)) >> 6) % CGEN_DIS_HASH_SIZE)
|
||||
|
||||
/* following activates check beyond hashing since some iq2000 and iq10
|
||||
instructions have same mnemonics but different functionality. */
|
||||
#define CGEN_VALIDATE_INSN_SUPPORTED
|
||||
|
||||
extern int iq2000_cgen_insn_supported (CGEN_CPU_DESC, const CGEN_INSN *);
|
||||
|
||||
/* -- asm.c */
|
||||
|
||||
#include "safe-ctype.h"
|
||||
|
||||
static const char * MISSING_CLOSING_PARENTHESIS = N_("missing `)'");
|
||||
|
||||
/* Special check to ensure that instruction exists for given machine. */
|
||||
|
||||
int
|
||||
iq2000_cgen_insn_supported (CGEN_CPU_DESC cd, const CGEN_INSN *insn)
|
||||
{
|
||||
int machs = cd->machs;
|
||||
|
||||
return (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_MACH) & machs) != 0;
|
||||
}
|
||||
|
||||
static int
|
||||
iq2000_cgen_isa_register (const char **strp)
|
||||
{
|
||||
int len;
|
||||
int ch1, ch2;
|
||||
|
||||
if (**strp == 'r' || **strp == 'R')
|
||||
{
|
||||
len = strlen (*strp);
|
||||
if (len == 2)
|
||||
{
|
||||
ch1 = (*strp)[1];
|
||||
if ('0' <= ch1 && ch1 <= '9')
|
||||
return 1;
|
||||
}
|
||||
else if (len == 3)
|
||||
{
|
||||
ch1 = (*strp)[1];
|
||||
ch2 = (*strp)[2];
|
||||
if (('1' <= ch1 && ch1 <= '2') && ('0' <= ch2 && ch2 <= '9'))
|
||||
return 1;
|
||||
if ('3' == ch1 && (ch2 == '0' || ch2 == '1'))
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if (**strp == '%'
|
||||
&& TOLOWER ((*strp)[1]) != 'l'
|
||||
&& TOLOWER ((*strp)[1]) != 'h')
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Handle negated literal. */
|
||||
|
||||
static const char *
|
||||
parse_mimm (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
const char *errmsg;
|
||||
|
||||
/* Verify this isn't a register. */
|
||||
if (iq2000_cgen_isa_register (strp))
|
||||
errmsg = _("immediate value cannot be register");
|
||||
else
|
||||
{
|
||||
long value;
|
||||
|
||||
errmsg = cgen_parse_signed_integer (cd, strp, opindex, & value);
|
||||
if (errmsg == NULL)
|
||||
{
|
||||
long x = (-value) & 0xFFFF0000;
|
||||
|
||||
if (x != 0 && x != (long) 0xFFFF0000)
|
||||
errmsg = _("immediate value out of range");
|
||||
else
|
||||
*valuep = (-value & 0xFFFF);
|
||||
}
|
||||
}
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
/* Handle signed/unsigned literal. */
|
||||
|
||||
static const char *
|
||||
parse_imm (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
const char *errmsg;
|
||||
|
||||
if (iq2000_cgen_isa_register (strp))
|
||||
errmsg = _("immediate value cannot be register");
|
||||
else
|
||||
{
|
||||
long value;
|
||||
|
||||
errmsg = cgen_parse_signed_integer (cd, strp, opindex, & value);
|
||||
if (errmsg == NULL)
|
||||
{
|
||||
long x = value & 0xFFFF0000;
|
||||
|
||||
if (x != 0 && x != (long) 0xFFFF0000)
|
||||
errmsg = _("immediate value out of range");
|
||||
else
|
||||
*valuep = (value & 0xFFFF);
|
||||
}
|
||||
}
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
/* Handle iq10 21-bit jmp offset. */
|
||||
|
||||
static const char *
|
||||
parse_jtargq10 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
int reloc ATTRIBUTE_UNUSED,
|
||||
enum cgen_parse_operand_result *type_addr ATTRIBUTE_UNUSED,
|
||||
bfd_vma *valuep)
|
||||
{
|
||||
const char *errmsg;
|
||||
bfd_vma value;
|
||||
enum cgen_parse_operand_result result_type = CGEN_PARSE_OPERAND_RESULT_NUMBER;
|
||||
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_IQ2000_OFFSET_21,
|
||||
& result_type, & value);
|
||||
if (errmsg == NULL && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
{
|
||||
/* Check value is within 23-bits
|
||||
(remembering that 2-bit shift right will occur). */
|
||||
if (value > 0x7fffff)
|
||||
return _("21-bit offset out of range");
|
||||
}
|
||||
*valuep = (value & 0x7FFFFF);
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
/* Handle high(). */
|
||||
|
||||
static const char *
|
||||
parse_hi16 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
if (strncasecmp (*strp, "%hi(", 4) == 0)
|
||||
{
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
const char *errmsg;
|
||||
|
||||
*strp += 4;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_HI16,
|
||||
& result_type, & value);
|
||||
if (**strp != ')')
|
||||
return MISSING_CLOSING_PARENTHESIS;
|
||||
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
{
|
||||
/* If value has top-bit of %lo on, then it will
|
||||
sign-propagate and so we compensate by adding
|
||||
1 to the resultant %hi value. */
|
||||
if (value & 0x8000)
|
||||
value += 0x10000;
|
||||
value >>= 16;
|
||||
value &= 0xffff;
|
||||
}
|
||||
*valuep = value;
|
||||
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
/* We add %uhi in case a user just wants the high 16-bits or is using
|
||||
an insn like ori for %lo which does not sign-propagate. */
|
||||
if (strncasecmp (*strp, "%uhi(", 5) == 0)
|
||||
{
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
const char *errmsg;
|
||||
|
||||
*strp += 5;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_IQ2000_UHI16,
|
||||
& result_type, & value);
|
||||
if (**strp != ')')
|
||||
return MISSING_CLOSING_PARENTHESIS;
|
||||
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
value >>= 16;
|
||||
|
||||
value &= 0xffff;
|
||||
*valuep = value;
|
||||
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
return parse_imm (cd, strp, opindex, valuep);
|
||||
}
|
||||
|
||||
/* Handle %lo in a signed context.
|
||||
The signedness of the value doesn't matter to %lo(), but this also
|
||||
handles the case where %lo() isn't present. */
|
||||
|
||||
static const char *
|
||||
parse_lo16 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
if (strncasecmp (*strp, "%lo(", 4) == 0)
|
||||
{
|
||||
const char *errmsg;
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
|
||||
*strp += 4;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LO16,
|
||||
& result_type, & value);
|
||||
if (**strp != ')')
|
||||
return MISSING_CLOSING_PARENTHESIS;
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
value &= 0xffff;
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
return parse_imm (cd, strp, opindex, valuep);
|
||||
}
|
||||
|
||||
/* Handle %lo in a negated signed context.
|
||||
The signedness of the value doesn't matter to %lo(), but this also
|
||||
handles the case where %lo() isn't present. */
|
||||
|
||||
static const char *
|
||||
parse_mlo16 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
if (strncasecmp (*strp, "%lo(", 4) == 0)
|
||||
{
|
||||
const char *errmsg;
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
|
||||
*strp += 4;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LO16,
|
||||
& result_type, & value);
|
||||
if (**strp != ')')
|
||||
return MISSING_CLOSING_PARENTHESIS;
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
value = (-value) & 0xffff;
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
return parse_mimm (cd, strp, opindex, valuep);
|
||||
}
|
||||
|
||||
/* -- */
|
||||
631
cpu/iq2000m.cpu
631
cpu/iq2000m.cpu
@@ -1,631 +0,0 @@
|
||||
; IQ2000-only CPU description. -*- Scheme -*-
|
||||
;
|
||||
; Copyright 2000, 2001, 2002, 2004, 2007, 2009 Free Software Foundation, Inc.
|
||||
;
|
||||
; Contributed by Red Hat Inc; developed under contract from Vitesse.
|
||||
;
|
||||
; This file is part of the GNU Binutils.
|
||||
;
|
||||
; 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 3 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.
|
||||
|
||||
(dni andoui "and upper ones immediate" (MACH2000 USES-RS USES-RT)
|
||||
"andoui $rt,$rs,$hi16"
|
||||
(+ OP_ANDOUI rs rt hi16)
|
||||
(set rt (and rs (or (sll hi16 16) #xFFFF)))
|
||||
())
|
||||
|
||||
(dni andoui2 "and upper ones immediate" (ALIAS NO-DIS MACH2000 USES-RS USES-RT)
|
||||
"andoui ${rt-rs},$hi16"
|
||||
(+ OP_ANDOUI rt-rs hi16)
|
||||
(set rt-rs (and rt-rs (or (sll hi16 16) #xFFFF)))
|
||||
())
|
||||
|
||||
(dni orui2 "or upper immediate" (ALIAS NO-DIS MACH2000 USES-RS USES-RT)
|
||||
"orui ${rt-rs},$hi16"
|
||||
(+ OP_ORUI rt-rs hi16)
|
||||
(set rt-rs (or rt-rs (sll hi16 16)))
|
||||
())
|
||||
|
||||
(dni orui "or upper immediate" (MACH2000 USES-RS USES-RT)
|
||||
"orui $rt,$rs,$hi16"
|
||||
(+ OP_ORUI rs rt hi16)
|
||||
(set rt (or rs (sll hi16 16)))
|
||||
())
|
||||
|
||||
(dni bgtz "branch if greater than zero" (MACH2000 USES-RS)
|
||||
"bgtz $rs,$offset"
|
||||
(+ OP_BGTZ rs (f-rt 0) offset)
|
||||
(if (gt rs 0)
|
||||
(delay 1 (set pc offset)))
|
||||
())
|
||||
|
||||
|
||||
(dni bgtzl "branch if greater than zero likely" (MACH2000 USES-RS)
|
||||
"bgtzl $rs,$offset"
|
||||
(+ OP_BGTZL rs (f-rt 0) offset)
|
||||
(if (gt rs 0)
|
||||
(delay 1 (set pc offset))
|
||||
(skip 1))
|
||||
())
|
||||
|
||||
(dni blez "branch if less than or equal to zero" (MACH2000 USES-RS)
|
||||
"blez $rs,$offset"
|
||||
(+ OP_BLEZ rs (f-rt 0) offset)
|
||||
(if (le rs 0)
|
||||
(delay 1 (set pc offset)))
|
||||
())
|
||||
|
||||
(dni blezl "branch if less than or equal to zero likely" (MACH2000 USES-RS)
|
||||
"blezl $rs,$offset"
|
||||
(+ OP_BLEZL rs (f-rt 0) offset)
|
||||
(if (le rs 0)
|
||||
(delay 1 (set pc offset))
|
||||
(skip 1))
|
||||
())
|
||||
|
||||
|
||||
(dni mrgb "merge bytes" (MACH2000 USES-RD USES-RS USES-RT)
|
||||
"mrgb $rd,$rs,$rt,$mask"
|
||||
(+ OP_SPECIAL rs rt rd (f-10 0) mask FUNC_MRGB)
|
||||
(sequence ((SI temp))
|
||||
(if (bitclear? mask 0)
|
||||
(set temp (and rs #xFF))
|
||||
(set temp (and rt #xFF)))
|
||||
(if (bitclear? mask 1)
|
||||
(set temp (or temp (and rs #xFF00)))
|
||||
(set temp (or temp (and rt #xFF00))))
|
||||
(if (bitclear? mask 2)
|
||||
(set temp (or temp (and rs #xFF0000)))
|
||||
(set temp (or temp (and rt #xFF0000))))
|
||||
(if (bitclear? mask 3)
|
||||
(set temp (or temp (and rs #xFF000000)))
|
||||
(set temp (or temp (and rt #xFF000000))))
|
||||
(set rd temp))
|
||||
())
|
||||
|
||||
(dni mrgb2 "merge bytes" (ALIAS NO-DIS MACH2000 USES-RD USES-RS USES-RT)
|
||||
"mrgb ${rd-rs},$rt,$mask"
|
||||
(+ OP_SPECIAL rt rd-rs (f-10 0) mask FUNC_MRGB)
|
||||
(sequence ((SI temp))
|
||||
(if (bitclear? mask 0)
|
||||
(set temp (and rd-rs #xFF))
|
||||
(set temp (and rt #xFF)))
|
||||
(if (bitclear? mask 1)
|
||||
(set temp (or temp (and rd-rs #xFF00)))
|
||||
(set temp (or temp (and rt #xFF00))))
|
||||
(if (bitclear? mask 2)
|
||||
(set temp (or temp (and rd-rs #xFF0000)))
|
||||
(set temp (or temp (and rt #xFF0000))))
|
||||
(if (bitclear? mask 3)
|
||||
(set temp (or temp (and rd-rs #xFF000000)))
|
||||
(set temp (or temp (and rt #xFF000000))))
|
||||
(set rd-rs temp))
|
||||
())
|
||||
|
||||
; NOTE: None of these instructions' semantics are specified, so they
|
||||
; will not work in a simulator.
|
||||
;
|
||||
; Architectural and coprocessor instructions.
|
||||
; BREAK and SYSCALL are implemented with escape hatches to the C
|
||||
; code. These are used by the test suite to indicate pass/failures.
|
||||
|
||||
(dni bctxt "branch and switch context" (MACH2000 DELAY-SLOT COND-CTI USES-RS)
|
||||
"bctxt $rs,$offset"
|
||||
(+ OP_REGIMM rs (f-rt 6) offset)
|
||||
(unimp bctxt)
|
||||
())
|
||||
|
||||
(dni bc0f "branch if copro 0 condition false" (MACH2000 DELAY-SLOT COND-CTI)
|
||||
"bc0f $offset"
|
||||
(+ OP_COP0 (f-rs 8) (f-rt 0) offset)
|
||||
(unimp bc0f)
|
||||
())
|
||||
|
||||
(dni bc0fl "branch if copro 0 condition false likely" (MACH2000 DELAY-SLOT COND-CTI SKIP-CTI)
|
||||
"bc0fl $offset"
|
||||
(+ OP_COP0 (f-rs 8) (f-rt 2) offset)
|
||||
(unimp bc0fl)
|
||||
())
|
||||
|
||||
(dni bc3f "branch if copro 3 condition false" (MACH2000 DELAY-SLOT COND-CTI)
|
||||
"bc3f $offset"
|
||||
(+ OP_COP3 (f-rs 8) (f-rt 0) offset)
|
||||
(unimp bc3f)
|
||||
())
|
||||
|
||||
(dni bc3fl "branch if copro 3 condition false likely" (MACH2000 DELAY-SLOT COND-CTI SKIP-CTI)
|
||||
"bc3fl $offset"
|
||||
(+ OP_COP3 (f-rs 8) (f-rt 2) offset)
|
||||
(unimp bc3fl)
|
||||
())
|
||||
|
||||
(dni bc0t "branch if copro 0 condition true" (MACH2000 DELAY-SLOT COND-CTI)
|
||||
"bc0t $offset"
|
||||
(+ OP_COP0 (f-rs 8) (f-rt 1) offset)
|
||||
(unimp bc0t)
|
||||
())
|
||||
|
||||
(dni bc0tl "branch if copro 0 condition true likely" (MACH2000 DELAY-SLOT COND-CTI SKIP-CTI)
|
||||
"bc0tl $offset"
|
||||
(+ OP_COP0 (f-rs 8) (f-rt 3) offset)
|
||||
(unimp bc0tl)
|
||||
())
|
||||
|
||||
(dni bc3t "branch if copro 3 condition true" (MACH2000 DELAY-SLOT COND-CTI)
|
||||
"bc3t $offset"
|
||||
(+ OP_COP3 (f-rs 8) (f-rt 1) offset)
|
||||
(unimp bc3t)
|
||||
())
|
||||
|
||||
(dni bc3tl "branch if copro 3 condition true likely" (MACH2000 DELAY-SLOT COND-CTI SKIP-CTI)
|
||||
"bc3tl $offset"
|
||||
(+ OP_COP3 (f-rs 8) (f-rt 3) offset)
|
||||
(unimp bc3tl)
|
||||
())
|
||||
|
||||
; Note that we don't set the USES-RD or USES-RT attributes for many of the following
|
||||
; instructions, as it's the COP register that's being specified.
|
||||
|
||||
(dni cfc0 "control from coprocessor 0" (MACH2000 LOAD-DELAY USES-RT)
|
||||
"cfc0 $rt,$rd"
|
||||
(+ OP_COP0 (f-rs 2) rt rd (f-10-11 0))
|
||||
(unimp cfc0)
|
||||
())
|
||||
|
||||
(dni cfc1 "control from coprocessor 1" (MACH2000 LOAD-DELAY USES-RT)
|
||||
"cfc1 $rt,$rd"
|
||||
(+ OP_COP1 (f-rs 2) rt rd (f-10-11 0))
|
||||
(unimp cfc1)
|
||||
())
|
||||
|
||||
(dni cfc2 "control from coprocessor 2" (MACH2000 LOAD-DELAY USES-RT YIELD-INSN)
|
||||
"cfc2 $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 2) rt rd (f-10-11 0))
|
||||
(unimp cfc2)
|
||||
())
|
||||
|
||||
(dni cfc3 "control from coprocessor 3" (MACH2000 LOAD-DELAY USES-RT YIELD-INSN)
|
||||
"cfc3 $rt,$rd"
|
||||
(+ OP_COP3 (f-rs 2) rt rd (f-10-11 0))
|
||||
(unimp cfc3)
|
||||
())
|
||||
|
||||
; COPz instructions are an instruction form, not real instructions
|
||||
; with associated assembly mnemonics. Therefore, they are omitted
|
||||
; from the ISA description.
|
||||
|
||||
(dni chkhdr "check header" (MACH2000 LOAD-DELAY USES-RD YIELD-INSN)
|
||||
"chkhdr $rd,$rt"
|
||||
(+ OP_COP3 (f-rs 9) rt rd (f-shamt 0) (f-func 0))
|
||||
(unimp chkhdr)
|
||||
())
|
||||
|
||||
(dni ctc0 "control to coprocessor 0" (MACH2000 USES-RT)
|
||||
"ctc0 $rt,$rd"
|
||||
(+ OP_COP0 (f-rs 6) rt rd (f-10-11 0))
|
||||
(unimp ctc0)
|
||||
())
|
||||
|
||||
(dni ctc1 "control to coprocessor 1" (MACH2000 USES-RT)
|
||||
"ctc1 $rt,$rd"
|
||||
(+ OP_COP1 (f-rs 6) rt rd (f-10-11 0))
|
||||
(unimp ctc1)
|
||||
())
|
||||
|
||||
(dni ctc2 "control to coprocessor 2" (MACH2000 USES-RT)
|
||||
"ctc2 $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 6) rt rd (f-10-11 0))
|
||||
(unimp ctc2)
|
||||
())
|
||||
|
||||
(dni ctc3 "control to coprocessor 3" (MACH2000 USES-RT)
|
||||
"ctc3 $rt,$rd"
|
||||
(+ OP_COP3 (f-rs 6) rt rd (f-10-11 0))
|
||||
(unimp ctc3)
|
||||
())
|
||||
|
||||
(dni jcr "jump context register" (MACH2000 DELAY-SLOT UNCOND-CTI USES-RS)
|
||||
"jcr $rs"
|
||||
(+ OP_SPECIAL rs (f-rt 0) (f-rd 0) (f-shamt 0) FUNC_JCR)
|
||||
(unimp jcr)
|
||||
())
|
||||
|
||||
(dni luc32 "lookup chain 32 bits" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"luc32 $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 3))
|
||||
(unimp luc32)
|
||||
())
|
||||
|
||||
(dni luc32l "lookup chain 32 bits and lock" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"luc32l $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 7))
|
||||
(unimp luc32l)
|
||||
())
|
||||
|
||||
(dni luc64 "lookup chain 64 bits" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"luc64 $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 11))
|
||||
(unimp luc64)
|
||||
())
|
||||
|
||||
(dni luc64l "lookup chain 64 bits and lock" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"luc64l $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 15))
|
||||
(unimp luc64l)
|
||||
())
|
||||
|
||||
(dni luk "lookup key" (MACH2000 USES-RD USES-RT)
|
||||
"luk $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 8))
|
||||
(unimp luk)
|
||||
())
|
||||
|
||||
(dni lulck "lookup lock" (MACH2000 USES-RT YIELD-INSN)
|
||||
"lulck $rt"
|
||||
(+ OP_COP2 (f-rs 1) rt (f-rd 0) (f-shamt 0) (f-func 4))
|
||||
(unimp lulck)
|
||||
())
|
||||
|
||||
(dni lum32 "lookup match 32 bits" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"lum32 $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 2))
|
||||
(unimp lum32)
|
||||
())
|
||||
|
||||
(dni lum32l "lookup match 32 bits and lock" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"lum32l $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 6))
|
||||
(unimp lum32l)
|
||||
())
|
||||
|
||||
(dni lum64 "lookup match 64 bits" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"lum64 $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 10))
|
||||
(unimp lum64)
|
||||
())
|
||||
|
||||
(dni lum64l "lookup match 64 bits and lock" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"lum64l $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 14))
|
||||
(unimp lum64l)
|
||||
())
|
||||
|
||||
(dni lur "lookup read" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"lur $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 1))
|
||||
(unimp lur)
|
||||
())
|
||||
|
||||
(dni lurl "lookup read and lock" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"lurl $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 5))
|
||||
(unimp lurl)
|
||||
())
|
||||
|
||||
(dni luulck "lookup unlock" (MACH2000 USES-RT YIELD-INSN)
|
||||
"luulck $rt"
|
||||
(+ OP_COP2 (f-rs 1) rt (f-rd 0) (f-shamt 0) (f-func 0))
|
||||
(unimp luulck)
|
||||
())
|
||||
|
||||
(dni mfc0 "move from coprocessor 0" (MACH2000 LOAD-DELAY USES-RT)
|
||||
"mfc0 $rt,$rd"
|
||||
(+ OP_COP0 (f-rs 0) rt rd (f-10-11 0))
|
||||
(unimp mfc0)
|
||||
())
|
||||
|
||||
(dni mfc1 "move from coprocessor 1" (MACH2000 LOAD-DELAY USES-RT)
|
||||
"mfc1 $rt,$rd"
|
||||
(+ OP_COP1 (f-rs 0) rt rd (f-10-11 0))
|
||||
(unimp mfc1)
|
||||
())
|
||||
|
||||
(dni mfc2 "move from coprocessor 2" (MACH2000 LOAD-DELAY USES-RT YIELD-INSN)
|
||||
"mfc2 $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 0) rt rd (f-10-11 0))
|
||||
(unimp mfc2)
|
||||
())
|
||||
|
||||
(dni mfc3 "move from coprocessor 3" (MACH2000 LOAD-DELAY USES-RT YIELD-INSN)
|
||||
"mfc3 $rt,$rd"
|
||||
(+ OP_COP3 (f-rs 0) rt rd (f-10-11 0))
|
||||
(unimp mfc3)
|
||||
())
|
||||
|
||||
(dni mtc0 "move to coprocessor 0" (MACH2000 USES-RT)
|
||||
"mtc0 $rt,$rd"
|
||||
(+ OP_COP0 (f-rs 4) rt rd (f-10-11 0))
|
||||
(unimp mtc0)
|
||||
())
|
||||
|
||||
(dni mtc1 "move to coprocessor 1" (MACH2000 USES-RT)
|
||||
"mtc1 $rt,$rd"
|
||||
(+ OP_COP1 (f-rs 4) rt rd (f-10-11 0))
|
||||
(unimp mtc1)
|
||||
())
|
||||
|
||||
(dni mtc2 "move to coprocessor 2" (MACH2000 USES-RT)
|
||||
"mtc2 $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 4) rt rd (f-10-11 0))
|
||||
(unimp mtc2)
|
||||
())
|
||||
|
||||
(dni mtc3 "move to coprocessor 3" (MACH2000 USES-RT)
|
||||
"mtc3 $rt,$rd"
|
||||
(+ OP_COP3 (f-rs 4) rt rd (f-10-11 0))
|
||||
(unimp mtc3)
|
||||
())
|
||||
|
||||
(dni pkrl "pkrl" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"pkrl $rd,$rt"
|
||||
(+ OP_COP3 (f-rs 1) rt rd (f-shamt 0) (f-func 7))
|
||||
(unimp pkrl)
|
||||
())
|
||||
|
||||
(dni pkrlr1 "pkrlr1" (MACH2000 USES-RT YIELD-INSN)
|
||||
"pkrlr1 $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 29) rt count _index)
|
||||
(unimp pkrlr1)
|
||||
())
|
||||
|
||||
(dni pkrlr30 "pkrlr30" (MACH2000 USES-RT YIELD-INSN)
|
||||
"pkrlr30 $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 31) rt count _index)
|
||||
(unimp pkrlr30)
|
||||
())
|
||||
|
||||
(dni rb "dma read bytes" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"rb $rd,$rt"
|
||||
(+ OP_COP3 (f-rs 1) rt rd (f-shamt 0) (f-func 4))
|
||||
(unimp rb)
|
||||
())
|
||||
|
||||
(dni rbr1 "dma read bytes using r1" (MACH2000 USES-RT YIELD-INSN)
|
||||
"rbr1 $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 24) rt count _index)
|
||||
(unimp rbr1)
|
||||
())
|
||||
|
||||
(dni rbr30 "dma read bytes using r30" (MACH2000 USES-RT YIELD-INSN)
|
||||
"rbr30 $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 26) rt count _index)
|
||||
(unimp rbr30)
|
||||
())
|
||||
|
||||
(dni rfe "restore from exception" (MACH2000)
|
||||
"rfe"
|
||||
(+ OP_COP0 (f-25 1) (f-24-19 0) (f-func 16))
|
||||
(unimp rfe)
|
||||
())
|
||||
|
||||
(dni rx "dma read word64s" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"rx $rd,$rt"
|
||||
(+ OP_COP3 (f-rs 1) rt rd (f-shamt 0) (f-func 6))
|
||||
(unimp rx)
|
||||
())
|
||||
|
||||
(dni rxr1 "dma read word64s using r1" (MACH2000 USES-RT YIELD-INSN)
|
||||
"rxr1 $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 28) rt count _index)
|
||||
(unimp rxr1)
|
||||
())
|
||||
|
||||
(dni rxr30 "dma read word 64s using r30" (MACH2000 USES-RT YIELD-INSN)
|
||||
"rxr30 $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 30) rt count _index)
|
||||
(unimp rxr30)
|
||||
())
|
||||
|
||||
(dni sleep "sleep" (MACH2000 YIELD-INSN)
|
||||
"sleep"
|
||||
(+ OP_SPECIAL execode FUNC_SLEEP)
|
||||
(unimp sleep)
|
||||
())
|
||||
|
||||
(dni srrd "sram read" (MACH2000 USES-RT YIELD-INSN)
|
||||
"srrd $rt"
|
||||
(+ OP_COP2 (f-rs 1) rt (f-rd 0) (f-shamt 0) (f-func 16))
|
||||
(unimp srrd)
|
||||
())
|
||||
|
||||
(dni srrdl "sram read and lock" (MACH2000 USES-RT YIELD-INSN)
|
||||
"srrdl $rt"
|
||||
(+ OP_COP2 (f-rs 1) rt (f-rd 0) (f-shamt 0) (f-func 20))
|
||||
(unimp srrdl)
|
||||
())
|
||||
|
||||
(dni srulck "sram unlock" (MACH2000 USES-RT YIELD-INSN)
|
||||
"srulck $rt"
|
||||
(+ OP_COP2 (f-rs 1) rt (f-rd 0) (f-shamt 0) (f-func 22))
|
||||
(unimp srulck)
|
||||
())
|
||||
|
||||
(dni srwr "sram write" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"srwr $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 17))
|
||||
(unimp srwr)
|
||||
())
|
||||
|
||||
(dni srwru "sram write and unlock" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"srwru $rt,$rd"
|
||||
(+ OP_COP2 (f-rs 1) rt rd (f-shamt 0) (f-func 21))
|
||||
(unimp srwru)
|
||||
())
|
||||
|
||||
(dni trapqfl "yield if dma queue full" (MACH2000 YIELD-INSN)
|
||||
"trapqfl"
|
||||
(+ OP_COP3 (f-rs 1) (f-rt 0) (f-rd 0) (f-shamt 0) (f-func 8))
|
||||
(unimp trapqfl)
|
||||
())
|
||||
|
||||
(dni trapqne "yield if dma queue not empty" (MACH2000 YIELD-INSN)
|
||||
"trapqne"
|
||||
(+ OP_COP3 (f-rs 1) (f-rt 0) (f-rd 0) (f-shamt 0) (f-func 9))
|
||||
(unimp trapqne)
|
||||
())
|
||||
|
||||
(dni traprel "traprel" (MACH2000 USES-RT YIELD-INSN)
|
||||
"traprel $rt"
|
||||
(+ OP_COP3 (f-rs 1) rt (f-rd 0) (f-shamt 0) (f-func 10))
|
||||
(unimp traprel)
|
||||
())
|
||||
|
||||
(dni wb "dma write bytes" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"wb $rd,$rt"
|
||||
(+ OP_COP3 (f-rs 1) rt rd (f-shamt 0) (f-func 0))
|
||||
(unimp wb)
|
||||
())
|
||||
|
||||
(dni wbu "dma write bytes and unlock" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"wbu $rd,$rt"
|
||||
(+ OP_COP3 (f-rs 1) rt rd (f-shamt 0) (f-func 1))
|
||||
(unimp wbu)
|
||||
())
|
||||
|
||||
(dni wbr1 "dma write bytes using r1" (MACH2000 USES-RT YIELD-INSN)
|
||||
"wbr1 $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 16) rt count _index)
|
||||
(unimp wbr1)
|
||||
())
|
||||
|
||||
(dni wbr1u "dma write bytes using r1 and unlock" (MACH2000 USES-RT YIELD-INSN)
|
||||
"wbr1u $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 17) rt count _index)
|
||||
(unimp wbr1u)
|
||||
())
|
||||
|
||||
(dni wbr30 "dma write bytes using r30" (MACH2000 USES-RT YIELD-INSN)
|
||||
"wbr30 $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 18) rt count _index)
|
||||
(unimp wbr30)
|
||||
())
|
||||
|
||||
(dni wbr30u "dma write bytes using r30 and unlock" (MACH2000 USES-RT YIELD-INSN)
|
||||
"wbr30u $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 19) rt count _index)
|
||||
(unimp wbr30u)
|
||||
())
|
||||
|
||||
(dni wx "dma write word64s" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"wx $rd,$rt"
|
||||
(+ OP_COP3 (f-rs 1) rt rd (f-shamt 0) (f-func 2))
|
||||
(unimp wx)
|
||||
())
|
||||
|
||||
(dni wxu "dma write word64s and unlock" (MACH2000 USES-RD USES-RT YIELD-INSN)
|
||||
"wxu $rd,$rt"
|
||||
(+ OP_COP3 (f-rs 1) rt rd (f-shamt 0) (f-func 3))
|
||||
(unimp wxu)
|
||||
())
|
||||
|
||||
(dni wxr1 "dma write word64s using r1" (MACH2000 USES-RT YIELD-INSN)
|
||||
"wxr1 $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 20) rt count _index)
|
||||
(unimp wxr1)
|
||||
())
|
||||
|
||||
(dni wxr1u "dma write word64s using r1 and unlock" (MACH2000 USES-RT YIELD-INSN)
|
||||
"wxr1u $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 21) rt count _index)
|
||||
(unimp wxr1u)
|
||||
())
|
||||
|
||||
(dni wxr30 "dma write word64s using r30" (MACH2000 USES-RT YIELD-INSN)
|
||||
"wxr30 $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 22) rt count _index)
|
||||
(unimp wxr30)
|
||||
())
|
||||
|
||||
(dni wxr30u "dma write word64s using r30 and unlock" (MACH2000 USES-RT YIELD-INSN)
|
||||
"wxr30u $rt,$_index,$count"
|
||||
(+ OP_COP3 (f-rs 23) rt count _index)
|
||||
(unimp wxr30u)
|
||||
())
|
||||
|
||||
|
||||
; Load/Store instructions.
|
||||
|
||||
(dni ldw "load double word" (MACH2000 EVEN-REG-NUM LOAD-DELAY USES-RT)
|
||||
"ldw $rt,$lo16($base)"
|
||||
(+ OP_LDW base rt lo16)
|
||||
(sequence ((SI addr))
|
||||
(set addr (and (add base lo16) (inv 3)))
|
||||
(set (reg h-gr (add (ifield f-rt) 1)) (mem SI addr))
|
||||
(set rt (mem SI (add addr 4))))
|
||||
())
|
||||
|
||||
(dni sdw "store double word" (MACH2000 EVEN-REG-NUM USES-RT)
|
||||
"sdw $rt,$lo16($base)"
|
||||
(+ OP_SDW base rt lo16)
|
||||
(sequence ((SI addr))
|
||||
(set addr (and (add base lo16) (inv 3)))
|
||||
(set (mem SI (add addr 4)) rt)
|
||||
(set (mem SI addr) (reg h-gr (add (ifield f-rt) 1))))
|
||||
())
|
||||
|
||||
|
||||
; Jump instructions
|
||||
|
||||
(dni j "jump" (MACH2000)
|
||||
"j $jmptarg"
|
||||
(+ OP_J (f-rsrvd 0) jmptarg)
|
||||
(delay 1 (set pc jmptarg))
|
||||
())
|
||||
|
||||
(dni jal "jump and link" (MACH2000 USES-R31)
|
||||
"jal $jmptarg"
|
||||
(+ OP_JAL (f-rsrvd 0) jmptarg)
|
||||
(delay 1
|
||||
(sequence ()
|
||||
(set (reg h-gr 31) (add pc 8))
|
||||
(set pc jmptarg)))
|
||||
())
|
||||
|
||||
(dni bmb "branch if matching byte-lane" (MACH2000 USES-RS USES-RT)
|
||||
"bmb $rs,$rt,$offset"
|
||||
(+ OP_BMB rs rt offset)
|
||||
(sequence ((BI branch?))
|
||||
(set branch? 0)
|
||||
(if (eq (and rs #xFF) (and rt #xFF))
|
||||
(set branch? 1))
|
||||
(if (eq (and rs #xFF00) (and rt #xFF00))
|
||||
(set branch? 1))
|
||||
(if (eq (and rs #xFF0000) (and rt #xFF0000))
|
||||
(set branch? 1))
|
||||
(if (eq (and rs #xFF000000) (and rt #xFF000000))
|
||||
(set branch? 1))
|
||||
(if branch?
|
||||
(delay 1 (set pc offset))))
|
||||
())
|
||||
|
||||
|
||||
; Macros
|
||||
|
||||
(dnmi ldw-base-0 "load double word - implied base 0" (MACH2000 EVEN-REG-NUM LOAD-DELAY USES-RT USES-RS NO-DIS)
|
||||
"ldw $rt,$lo16"
|
||||
(emit ldw rt lo16 (base 0))
|
||||
)
|
||||
|
||||
(dnmi sdw-base-0 "store double word - implied base 0" (MACH2000 EVEN-REG-NUM USES-RT NO-DIS)
|
||||
"sdw $rt,$lo16"
|
||||
(emit sdw rt lo16 (base 0))
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
932
cpu/lm32.cpu
932
cpu/lm32.cpu
@@ -1,932 +0,0 @@
|
||||
; Lattice Mico32 CPU description. -*- Scheme -*-
|
||||
; Copyright 2008, 2009 Free Software Foundation, Inc.
|
||||
; Contributed by Jon Beniston <jon@beniston.com>
|
||||
;
|
||||
; This file is part of the GNU Binutils.
|
||||
;
|
||||
; 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 3 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 "simplify.inc")
|
||||
|
||||
(define-arch
|
||||
(name lm32) ; name of cpu family
|
||||
(comment "Lattice Mico32")
|
||||
(default-alignment aligned)
|
||||
(insn-lsb0? #t)
|
||||
(machs lm32)
|
||||
(isas lm32)
|
||||
)
|
||||
|
||||
|
||||
; Instruction sets.
|
||||
|
||||
(define-isa
|
||||
(name lm32)
|
||||
(comment "Lattice Mico32 ISA")
|
||||
(default-insn-word-bitsize 32)
|
||||
(default-insn-bitsize 32)
|
||||
(base-insn-bitsize 32)
|
||||
(decode-assist (31 30 29 28 27 26))
|
||||
)
|
||||
|
||||
|
||||
; Cpu family definitions.
|
||||
|
||||
(define-cpu
|
||||
; cpu names must be distinct from the architecture name and machine name
|
||||
(name lm32bf)
|
||||
(comment "Lattice Mico32 CPU")
|
||||
(endian big)
|
||||
(word-bitsize 32)
|
||||
)
|
||||
|
||||
(define-mach
|
||||
(name lm32)
|
||||
(comment "Lattice Mico32 MACH")
|
||||
(cpu lm32bf)
|
||||
)
|
||||
|
||||
(define-model
|
||||
(name lm32)
|
||||
(comment "Lattice Mico32 reference implementation")
|
||||
(mach lm32)
|
||||
(unit u-exec "Execution unit" ()
|
||||
1 1 () () () ())
|
||||
)
|
||||
|
||||
|
||||
; Hardware elements.
|
||||
|
||||
(dnh h-pc "Program counter" (PC) (pc) () () ())
|
||||
|
||||
(dnh h-gr "General purpose registers"
|
||||
()
|
||||
(register SI (32))
|
||||
(keyword "" (
|
||||
(gp 26) (fp 27) (sp 28) (ra 29) (ea 30) (ba 31)
|
||||
(r0 0) (r1 1) (r2 2) (r3 3)
|
||||
(r4 4) (r5 5) (r6 6) (r7 7)
|
||||
(r8 8) (r9 9) (r10 10) (r11 11)
|
||||
(r12 12) (r13 13) (r14 14) (r15 15)
|
||||
(r16 16) (r17 17) (r18 18) (r19 19)
|
||||
(r20 20) (r21 21) (r22 22) (r23 23)
|
||||
(r24 24) (r25 25) (r26 26) (r27 27)
|
||||
(r28 28) (r29 29) (r30 30) (r31 31)
|
||||
)
|
||||
)
|
||||
() ()
|
||||
)
|
||||
|
||||
(dnh h-csr "Control and status registers"
|
||||
()
|
||||
(register SI (32))
|
||||
(keyword "" (
|
||||
(IE 0) (IM 1) (IP 2)
|
||||
(ICC 3) (DCC 4)
|
||||
(CC 5)
|
||||
(CFG 6)
|
||||
(EBA 7)
|
||||
(DC 8)
|
||||
(DEBA 9)
|
||||
(JTX 14) (JRX 15)
|
||||
(BP0 16) (BP1 17) (BP2 18) (BP3 19)
|
||||
(WP0 24) (WP1 25) (WP2 26) (WP3 27)
|
||||
)
|
||||
)
|
||||
() ()
|
||||
)
|
||||
|
||||
|
||||
; Instruction fields.
|
||||
|
||||
(dnf f-opcode "opcode field" () 31 6)
|
||||
(dnf f-r0 "register index 0 field" () 25 5)
|
||||
(dnf f-r1 "register index 1 field" () 20 5)
|
||||
(dnf f-r2 "register index 2 field" () 15 5)
|
||||
(dnf f-resv0 "reserved" (RESERVED) 10 11)
|
||||
(dnf f-shift "shift amount field" () 4 5)
|
||||
(df f-imm "signed immediate field" () 15 16 INT #f #f)
|
||||
(dnf f-uimm "unsigned immediate field" () 15 16)
|
||||
(dnf f-csr "csr field" () 25 5)
|
||||
(dnf f-user "user defined field" () 10 11)
|
||||
(dnf f-exception "exception field" () 25 26)
|
||||
|
||||
(df f-branch "branch offset field" (PCREL-ADDR) 15 16 INT
|
||||
((value pc) (sra SI (sub SI value pc) 2))
|
||||
((value pc) (add SI pc (sra SI (sll SI value 16) 14)))
|
||||
)
|
||||
(df f-call "call offset field" (PCREL-ADDR) 25 26 INT
|
||||
((value pc) (sra SI (sub SI value pc) 2))
|
||||
((value pc) (add SI pc (sra SI (sll SI value 6) 4)))
|
||||
)
|
||||
|
||||
|
||||
; Operands.
|
||||
|
||||
(dnop r0 "register 0" () h-gr f-r0)
|
||||
(dnop r1 "register 1" () h-gr f-r1)
|
||||
(dnop r2 "register 2" () h-gr f-r2)
|
||||
(dnop shift "shift amout" () h-uint f-shift)
|
||||
(dnop imm "signed immediate" () h-sint f-imm)
|
||||
(dnop uimm "unsigned immediate" () h-uint f-uimm)
|
||||
(dnop branch "branch offset" () h-iaddr f-branch)
|
||||
(dnop call "call offset" () h-iaddr f-call)
|
||||
(dnop csr "csr" () h-csr f-csr)
|
||||
(dnop user "user" () h-uint f-user)
|
||||
(dnop exception "exception" () h-uint f-exception)
|
||||
|
||||
(define-operand
|
||||
(name hi16)
|
||||
(comment "high 16-bit immediate")
|
||||
(attrs)
|
||||
(type h-uint)
|
||||
(index f-uimm)
|
||||
(handlers (parse "hi16"))
|
||||
)
|
||||
|
||||
(define-operand
|
||||
(name lo16)
|
||||
(comment "low 16-bit immediate")
|
||||
(attrs)
|
||||
(type h-uint)
|
||||
(index f-uimm)
|
||||
(handlers (parse "lo16"))
|
||||
)
|
||||
|
||||
(define-operand
|
||||
(name gp16)
|
||||
(comment "gp relative 16-bit immediate")
|
||||
(attrs)
|
||||
(type h-sint)
|
||||
(index f-imm)
|
||||
(handlers (parse "gp16"))
|
||||
)
|
||||
|
||||
(define-operand
|
||||
(name got16)
|
||||
(comment "got 16-bit immediate")
|
||||
(attrs)
|
||||
(type h-sint)
|
||||
(index f-imm)
|
||||
(handlers (parse "got16"))
|
||||
)
|
||||
|
||||
(define-operand
|
||||
(name gotoffhi16)
|
||||
(comment "got offset high 16-bit immediate")
|
||||
(attrs)
|
||||
(type h-sint)
|
||||
(index f-imm)
|
||||
(handlers (parse "gotoff_hi16"))
|
||||
)
|
||||
|
||||
(define-operand
|
||||
(name gotofflo16)
|
||||
(comment "got offset low 16-bit immediate")
|
||||
(attrs)
|
||||
(type h-sint)
|
||||
(index f-imm)
|
||||
(handlers (parse "gotoff_lo16"))
|
||||
)
|
||||
|
||||
|
||||
; Enumerations.
|
||||
|
||||
(define-normal-insn-enum
|
||||
opcodes "opcodes" () OP_ f-opcode
|
||||
(("ADD" 45)
|
||||
("ADDI" 13)
|
||||
("AND" 40)
|
||||
("ANDI" 8)
|
||||
("ANDHI" 24)
|
||||
("B" 48)
|
||||
("BI" 56)
|
||||
("BE" 17)
|
||||
("BG" 18)
|
||||
("BGE" 19)
|
||||
("BGEU" 20)
|
||||
("BGU" 21)
|
||||
("BNE" 23)
|
||||
("CALL" 54)
|
||||
("CALLI" 62)
|
||||
("CMPE" 57)
|
||||
("CMPEI" 25)
|
||||
("CMPG" 58)
|
||||
("CMPGI" 26)
|
||||
("CMPGE" 59)
|
||||
("CMPGEI" 27)
|
||||
("CMPGEU" 60)
|
||||
("CMPGEUI" 28)
|
||||
("CMPGU" 61)
|
||||
("CMPGUI" 29)
|
||||
("CMPNE" 63)
|
||||
("CMPNEI" 31)
|
||||
("DIVU" 35)
|
||||
("LB" 4)
|
||||
("LBU" 16)
|
||||
("LH" 7)
|
||||
("LHU" 11)
|
||||
("LW" 10)
|
||||
("MODU" 49)
|
||||
("MUL" 34)
|
||||
("MULI" 2)
|
||||
("NOR" 33)
|
||||
("NORI" 1)
|
||||
("OR" 46)
|
||||
("ORI" 14)
|
||||
("ORHI" 30)
|
||||
("RAISE" 43)
|
||||
("RCSR" 36)
|
||||
("SB" 12)
|
||||
("SEXTB" 44)
|
||||
("SEXTH" 55)
|
||||
("SH" 3)
|
||||
("SL" 47)
|
||||
("SLI" 15)
|
||||
("SR" 37)
|
||||
("SRI" 5)
|
||||
("SRU" 32)
|
||||
("SRUI" 0)
|
||||
("SUB" 50)
|
||||
("SW" 22)
|
||||
("USER" 51)
|
||||
("WCSR" 52)
|
||||
("XNOR" 41)
|
||||
("XNORI" 9)
|
||||
("XOR" 38)
|
||||
("XORI" 6)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
; Instructions. Note: Reg-reg must come before reg-imm.
|
||||
|
||||
(dni add "add" ()
|
||||
"add $r2,$r0,$r1"
|
||||
(+ OP_ADD r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (add r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni addi "add immediate" ()
|
||||
"addi $r1,$r0,$imm"
|
||||
(+ OP_ADDI r0 r1 imm)
|
||||
(set r1 (add r0 (ext SI (trunc HI imm))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni and "and" ()
|
||||
"and $r2,$r0,$r1"
|
||||
(+ OP_AND r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (and r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni andi "and immediate" ()
|
||||
"andi $r1,$r0,$uimm"
|
||||
(+ OP_ANDI r0 r1 uimm)
|
||||
(set r1 (and r0 (zext SI uimm)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni andhii "and high immediate" ()
|
||||
"andhi $r1,$r0,$hi16"
|
||||
(+ OP_ANDHI r0 r1 hi16)
|
||||
(set r1 (and r0 (sll SI hi16 16)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni b "branch" ()
|
||||
"b $r0"
|
||||
(+ OP_B r0 (f-r1 0) (f-r2 0) (f-resv0 0))
|
||||
(set pc (c-call USI "@cpu@_b_insn" r0 f-r0))
|
||||
()
|
||||
)
|
||||
|
||||
(dni bi "branch immediate" ()
|
||||
"bi $call"
|
||||
(+ OP_BI call)
|
||||
(set pc (ext SI call))
|
||||
()
|
||||
)
|
||||
|
||||
(dni be "branch equal" ()
|
||||
"be $r0,$r1,$branch"
|
||||
(+ OP_BE r0 r1 branch)
|
||||
(if (eq r0 r1)
|
||||
(set pc branch)
|
||||
)
|
||||
()
|
||||
)
|
||||
|
||||
(dni bg "branch greater" ()
|
||||
"bg $r0,$r1,$branch"
|
||||
(+ OP_BG r0 r1 branch)
|
||||
(if (gt r0 r1)
|
||||
(set pc branch)
|
||||
)
|
||||
()
|
||||
)
|
||||
|
||||
(dni bge "branch greater or equal" ()
|
||||
"bge $r0,$r1,$branch"
|
||||
(+ OP_BGE r0 r1 branch)
|
||||
(if (ge r0 r1)
|
||||
(set pc branch)
|
||||
)
|
||||
()
|
||||
)
|
||||
|
||||
(dni bgeu "branch greater or equal unsigned" ()
|
||||
"bgeu $r0,$r1,$branch"
|
||||
(+ OP_BGEU r0 r1 branch)
|
||||
(if (geu r0 r1)
|
||||
(set pc branch)
|
||||
)
|
||||
()
|
||||
)
|
||||
|
||||
(dni bgu "branch greater unsigned" ()
|
||||
"bgu $r0,$r1,$branch"
|
||||
(+ OP_BGU r0 r1 branch)
|
||||
(if (gtu r0 r1)
|
||||
(set pc branch)
|
||||
)
|
||||
()
|
||||
)
|
||||
|
||||
(dni bne "branch not equal" ()
|
||||
"bne $r0,$r1,$branch"
|
||||
(+ OP_BNE r0 r1 branch)
|
||||
(if (ne r0 r1)
|
||||
(set pc branch)
|
||||
)
|
||||
()
|
||||
)
|
||||
|
||||
(dni call "call" ()
|
||||
"call $r0"
|
||||
(+ OP_CALL r0 (f-r1 0) (f-r2 0) (f-resv0 0))
|
||||
(sequence ()
|
||||
(set (reg h-gr 29) (add pc 4))
|
||||
(set pc r0)
|
||||
)
|
||||
()
|
||||
)
|
||||
|
||||
(dni calli "call immediate" ()
|
||||
"calli $call"
|
||||
(+ OP_CALLI call)
|
||||
(sequence ()
|
||||
(set (reg h-gr 29) (add pc 4))
|
||||
(set pc (ext SI call))
|
||||
)
|
||||
()
|
||||
)
|
||||
|
||||
(dni cmpe "compare equal" ()
|
||||
"cmpe $r2,$r0,$r1"
|
||||
(+ OP_CMPE r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (eq SI r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni cmpei "compare equal immediate" ()
|
||||
"cmpei $r1,$r0,$imm"
|
||||
(+ OP_CMPEI r0 r1 imm)
|
||||
(set r1 (eq SI r0 (ext SI (trunc HI imm))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni cmpg "compare greater than" ()
|
||||
"cmpg $r2,$r0,$r1"
|
||||
(+ OP_CMPG r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (gt SI r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni cmpgi "compare greater than immediate" ()
|
||||
"cmpgi $r1,$r0,$imm"
|
||||
(+ OP_CMPGI r0 r1 imm)
|
||||
(set r1 (gt SI r0 (ext SI (trunc HI imm))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni cmpge "compare greater or equal" ()
|
||||
"cmpge $r2,$r0,$r1"
|
||||
(+ OP_CMPGE r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (ge SI r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni cmpgei "compare greater or equal immediate" ()
|
||||
"cmpgei $r1,$r0,$imm"
|
||||
(+ OP_CMPGEI r0 r1 imm)
|
||||
(set r1 (ge SI r0 (ext SI (trunc HI imm))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni cmpgeu "compare greater or equal unsigned" ()
|
||||
"cmpgeu $r2,$r0,$r1"
|
||||
(+ OP_CMPGEU r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (geu SI r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni cmpgeui "compare greater or equal unsigned immediate" ()
|
||||
"cmpgeui $r1,$r0,$uimm"
|
||||
(+ OP_CMPGEUI r0 r1 uimm)
|
||||
(set r1 (geu SI r0 (zext SI uimm)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni cmpgu "compare greater than unsigned" ()
|
||||
"cmpgu $r2,$r0,$r1"
|
||||
(+ OP_CMPGU r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (gtu SI r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni cmpgui "compare greater than unsigned immediate" ()
|
||||
"cmpgui $r1,$r0,$uimm"
|
||||
(+ OP_CMPGUI r0 r1 uimm)
|
||||
(set r1 (gtu SI r0 (zext SI uimm)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni cmpne "compare not equal" ()
|
||||
"cmpne $r2,$r0,$r1"
|
||||
(+ OP_CMPNE r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (ne SI r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni cmpnei "compare not equal immediate" ()
|
||||
"cmpnei $r1,$r0,$imm"
|
||||
(+ OP_CMPNEI r0 r1 imm)
|
||||
(set r1 (ne SI r0 (ext SI (trunc HI imm))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni divu "unsigned divide" ()
|
||||
"divu $r2,$r0,$r1"
|
||||
(+ OP_DIVU r0 r1 r2 (f-resv0 0))
|
||||
(set pc (c-call USI "@cpu@_divu_insn" pc f-r0 f-r1 f-r2))
|
||||
()
|
||||
)
|
||||
|
||||
(dni lb "load byte" ()
|
||||
"lb $r1,($r0+$imm)"
|
||||
(+ OP_LB r0 r1 imm)
|
||||
(set r1 (ext SI (mem QI (add r0 (ext SI (trunc HI imm))))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni lbu "load byte unsigned" ()
|
||||
"lbu $r1,($r0+$imm)"
|
||||
(+ OP_LBU r0 r1 imm)
|
||||
(set r1 (zext SI (mem QI (add r0 (ext SI (trunc HI imm))))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni lh "load halfword" ()
|
||||
"lh $r1,($r0+$imm)"
|
||||
(+ OP_LH r0 r1 imm)
|
||||
(set r1 (ext SI (mem HI (add r0 (ext SI (trunc HI imm))))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni lhu "load halfword unsigned" ()
|
||||
"lhu $r1,($r0+$imm)"
|
||||
(+ OP_LHU r0 r1 imm)
|
||||
(set r1 (zext SI (mem HI (add r0 (ext SI (trunc HI imm))))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni lw "load word" ()
|
||||
"lw $r1,($r0+$imm)"
|
||||
(+ OP_LW r0 r1 imm)
|
||||
(set r1 (mem SI (add r0 (ext SI (trunc HI imm)))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni modu "unsigned modulus" ()
|
||||
"modu $r2,$r0,$r1"
|
||||
(+ OP_MODU r0 r1 r2 (f-resv0 0))
|
||||
(set pc (c-call USI "@cpu@_modu_insn" pc f-r0 f-r1 f-r2))
|
||||
()
|
||||
)
|
||||
|
||||
(dni mul "mulitply" ()
|
||||
"mul $r2,$r0,$r1"
|
||||
(+ OP_MUL r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (mul r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni muli "multiply immediate" ()
|
||||
"muli $r1,$r0,$imm"
|
||||
(+ OP_MULI r0 r1 imm)
|
||||
(set r1 (mul r0 (ext SI (trunc HI imm))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni nor "nor" ()
|
||||
"nor $r2,$r0,$r1"
|
||||
(+ OP_NOR r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (inv (or r0 r1)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni nori "nor immediate" ()
|
||||
"nori $r1,$r0,$uimm"
|
||||
(+ OP_NORI r0 r1 uimm)
|
||||
(set r1 (inv (or r0 (zext SI uimm))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni or "or" ()
|
||||
"or $r2,$r0,$r1"
|
||||
(+ OP_OR r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (or r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni ori "or immediate" ()
|
||||
"ori $r1,$r0,$lo16"
|
||||
(+ OP_ORI r0 r1 lo16)
|
||||
(set r1 (or r0 (zext SI lo16)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni orhii "or high immediate" ()
|
||||
"orhi $r1,$r0,$hi16"
|
||||
(+ OP_ORHI r0 r1 hi16)
|
||||
(set r1 (or r0 (sll SI hi16 16)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni rcsr "read control or status register" ()
|
||||
"rcsr $r2,$csr"
|
||||
(+ OP_RCSR csr (f-r1 0) r2 (f-resv0 0))
|
||||
(set r2 csr)
|
||||
()
|
||||
)
|
||||
|
||||
(dni sb "store byte" ()
|
||||
"sb ($r0+$imm),$r1"
|
||||
(+ OP_SB r0 r1 imm)
|
||||
(set (mem QI (add r0 (ext SI (trunc HI imm)))) r1)
|
||||
()
|
||||
)
|
||||
|
||||
(dni sextb "sign extend byte" ()
|
||||
"sextb $r2,$r0"
|
||||
(+ OP_SEXTB r0 (f-r1 0) r2 (f-resv0 0))
|
||||
(set r2 (ext SI (trunc QI r0)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni sexth "sign extend half-word" ()
|
||||
"sexth $r2,$r0"
|
||||
(+ OP_SEXTH r0 (f-r1 0) r2 (f-resv0 0))
|
||||
(set r2 (ext SI (trunc HI r0)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni sh "store halfword" ()
|
||||
"sh ($r0+$imm),$r1"
|
||||
(+ OP_SH r0 r1 imm)
|
||||
(set (mem HI (add r0 (ext SI (trunc HI imm)))) r1)
|
||||
()
|
||||
)
|
||||
|
||||
(dni sl "shift left" ()
|
||||
"sl $r2,$r0,$r1"
|
||||
(+ OP_SL r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (sll SI r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni sli "shift left immediate" ()
|
||||
"sli $r1,$r0,$imm"
|
||||
(+ OP_SLI r0 r1 imm)
|
||||
(set r1 (sll SI r0 imm))
|
||||
()
|
||||
)
|
||||
|
||||
(dni sr "shift right" ()
|
||||
"sr $r2,$r0,$r1"
|
||||
(+ OP_SR r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (sra SI r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni sri "shift right immediate" ()
|
||||
"sri $r1,$r0,$imm"
|
||||
(+ OP_SRI r0 r1 imm)
|
||||
(set r1 (sra SI r0 imm))
|
||||
()
|
||||
)
|
||||
|
||||
(dni sru "shift right unsigned" ()
|
||||
"sru $r2,$r0,$r1"
|
||||
(+ OP_SRU r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (srl SI r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni srui "shift right unsigned immediate" ()
|
||||
"srui $r1,$r0,$imm"
|
||||
(+ OP_SRUI r0 r1 imm)
|
||||
(set r1 (srl SI r0 imm))
|
||||
()
|
||||
)
|
||||
|
||||
(dni sub "subtract" ()
|
||||
"sub $r2,$r0,$r1"
|
||||
(+ OP_SUB r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (sub r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni sw "store word" ()
|
||||
"sw ($r0+$imm),$r1"
|
||||
(+ OP_SW r0 r1 imm)
|
||||
(set (mem SI (add r0 (ext SI (trunc HI imm)))) r1)
|
||||
()
|
||||
)
|
||||
|
||||
(dni user "user defined instruction" ()
|
||||
"user $r2,$r0,$r1,$user"
|
||||
(+ OP_USER r0 r1 r2 user)
|
||||
(set r2 (c-call SI "@cpu@_user_insn" r0 r1 user))
|
||||
()
|
||||
)
|
||||
|
||||
(dni wcsr "write control or status register" ()
|
||||
"wcsr $csr,$r1"
|
||||
(+ OP_WCSR csr r1 (f-r2 0) (f-resv0 0))
|
||||
(c-call VOID "@cpu@_wcsr_insn" f-csr r1)
|
||||
()
|
||||
)
|
||||
|
||||
(dni xor "xor" ()
|
||||
"xor $r2,$r0,$r1"
|
||||
(+ OP_XOR r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (xor r0 r1))
|
||||
()
|
||||
)
|
||||
|
||||
(dni xori "xor immediate" ()
|
||||
"xori $r1,$r0,$uimm"
|
||||
(+ OP_XORI r0 r1 uimm)
|
||||
(set r1 (xor r0 (zext SI uimm)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni xnor "xnor" ()
|
||||
"xnor $r2,$r0,$r1"
|
||||
(+ OP_XNOR r0 r1 r2 (f-resv0 0))
|
||||
(set r2 (inv (xor r0 r1)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni xnori "xnor immediate" ()
|
||||
"xnori $r1,$r0,$uimm"
|
||||
(+ OP_XNORI r0 r1 uimm)
|
||||
(set r1 (inv (xor r0 (zext SI uimm))))
|
||||
()
|
||||
)
|
||||
|
||||
; Pseudo instructions
|
||||
|
||||
(dni break "breakpoint" ()
|
||||
"break"
|
||||
(+ OP_RAISE (f-exception 2))
|
||||
(set pc (c-call USI "@cpu@_break_insn" pc))
|
||||
()
|
||||
)
|
||||
|
||||
(dni scall "system call" ()
|
||||
"scall"
|
||||
(+ OP_RAISE (f-exception 7))
|
||||
(set pc (c-call USI "@cpu@_scall_insn" pc))
|
||||
()
|
||||
)
|
||||
|
||||
(dni bret "return from breakpoint" (ALIAS)
|
||||
"bret"
|
||||
(+ OP_B (f-r0 31) (f-r1 0) (f-r2 0) (f-resv0 0))
|
||||
(set pc (c-call USI "@cpu@_bret_insn" r0))
|
||||
()
|
||||
)
|
||||
|
||||
(dni eret "return from exception" (ALIAS)
|
||||
"eret"
|
||||
(+ OP_B (f-r0 30) (f-r1 0) (f-r2 0) (f-resv0 0))
|
||||
(set pc (c-call USI "@cpu@_eret_insn" r0))
|
||||
()
|
||||
)
|
||||
|
||||
(dni ret "return" (ALIAS)
|
||||
"ret"
|
||||
(+ OP_B (f-r0 29) (f-r1 0) (f-r2 0) (f-resv0 0))
|
||||
(set pc r0)
|
||||
()
|
||||
)
|
||||
|
||||
(dni mv "move" (ALIAS)
|
||||
"mv $r2,$r0"
|
||||
(+ OP_OR r0 (f-r1 0) r2 (f-resv0 0))
|
||||
(set r2 r0)
|
||||
()
|
||||
)
|
||||
|
||||
(dni mvi "move immediate" (ALIAS)
|
||||
"mvi $r1,$imm"
|
||||
(+ OP_ADDI (f-r0 0) r1 imm)
|
||||
(set r1 (add r0 (ext SI (trunc HI imm))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni mvui "move unsigned immediate" (ALIAS)
|
||||
"mvu $r1,$lo16"
|
||||
(+ OP_ORI (f-r0 0) r1 lo16)
|
||||
(set r1 (zext SI lo16))
|
||||
()
|
||||
)
|
||||
|
||||
(dni mvhi "move high immediate" (ALIAS)
|
||||
"mvhi $r1,$hi16"
|
||||
(+ OP_ORHI (f-r0 0) r1 hi16)
|
||||
(set r1 (or r0 (sll SI hi16 16)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni mva "move address" (ALIAS)
|
||||
"mva $r1,$gp16"
|
||||
(+ OP_ADDI (f-r0 26) r1 gp16)
|
||||
(set r1 (add r0 (ext SI (trunc HI gp16))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni not "not" (ALIAS)
|
||||
"not $r2,$r0"
|
||||
(+ OP_XNOR r0 (f-r1 0) r2 (f-resv0 0))
|
||||
(set r2 (inv r0))
|
||||
()
|
||||
)
|
||||
|
||||
(dni nop "nop" (ALIAS)
|
||||
"nop"
|
||||
(+ OP_ADDI (f-r0 0) (f-r1 0) (f-imm 0))
|
||||
(set r0 r0)
|
||||
()
|
||||
)
|
||||
|
||||
(dni lbgprel "load byte gp relative" (ALIAS)
|
||||
"lb $r1,$gp16"
|
||||
(+ OP_LB (f-r0 26) r1 gp16)
|
||||
(set r1 (ext SI (mem QI (add r0 (ext SI (trunc HI gp16))))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni lbugprel "load byte unsigned gp relative" (ALIAS)
|
||||
"lbu $r1,$gp16"
|
||||
(+ OP_LBU (f-r0 26) r1 gp16)
|
||||
(set r1 (zext SI (mem QI (add r0 (ext SI (trunc HI gp16))))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni lhgprel "load halfword gp relative" (ALIAS)
|
||||
"lh $r1,$gp16"
|
||||
(+ OP_LH (f-r0 26) r1 gp16)
|
||||
(set r1 (ext SI (mem HI (add r0 (ext SI (trunc HI gp16))))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni lhugprel "load halfword unsigned gp relative" (ALIAS)
|
||||
"lhu $r1,$gp16"
|
||||
(+ OP_LHU (f-r0 26) r1 gp16)
|
||||
(set r1 (zext SI (mem HI (add r0 (ext SI (trunc HI gp16))))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni lwgprel "load word gp relative" (ALIAS)
|
||||
"lw $r1,$gp16"
|
||||
(+ OP_LW (f-r0 26) r1 gp16)
|
||||
(set r1 (mem SI (add r0 (ext SI (trunc HI gp16)))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni sbgprel "store byte gp relative" (ALIAS)
|
||||
"sb $gp16,$r1"
|
||||
(+ OP_SB (f-r0 26) r1 gp16)
|
||||
(set (mem QI (add r0 (ext SI (trunc HI gp16)))) r1)
|
||||
()
|
||||
)
|
||||
|
||||
(dni shgprel "store halfword gp relative" (ALIAS)
|
||||
"sh $gp16,$r1"
|
||||
(+ OP_SH (f-r0 26) r1 gp16)
|
||||
(set (mem HI (add r0 (ext SI (trunc HI gp16)))) r1)
|
||||
()
|
||||
)
|
||||
|
||||
(dni swgprel "store word gp relative" (ALIAS)
|
||||
"sw $gp16,$r1"
|
||||
(+ OP_SW (f-r0 26) r1 gp16)
|
||||
(set (mem SI (add r0 (ext SI (trunc HI gp16)))) r1)
|
||||
()
|
||||
)
|
||||
|
||||
(dni lwgotrel "load word got relative" (ALIAS)
|
||||
"lw $r1,(gp+$got16)"
|
||||
(+ OP_LW (f-r0 26) r1 got16)
|
||||
(set r1 (mem SI (add r0 (ext SI (trunc HI got16)))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni orhigotoffi "or high got offset immediate" (ALIAS)
|
||||
"orhi $r1,$r0,$gotoffhi16"
|
||||
(+ OP_ORHI r0 r1 gotoffhi16)
|
||||
(set r1 (or r0 (sll SI gotoffhi16 16)))
|
||||
()
|
||||
)
|
||||
|
||||
(dni addgotoff "add got offset" (ALIAS)
|
||||
"addi $r1,$r0,$gotofflo16"
|
||||
(+ OP_ADDI r0 r1 gotofflo16)
|
||||
(set r1 (add r0 (ext SI (trunc HI gotofflo16))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni swgotoff "store word got offset" (ALIAS)
|
||||
"sw ($r0+$gotofflo16),$r1"
|
||||
(+ OP_SW r0 r1 gotofflo16)
|
||||
(set (mem SI (add r0 (ext SI (trunc HI gotofflo16)))) r1)
|
||||
()
|
||||
)
|
||||
|
||||
(dni lwgotoff "load word got offset" (ALIAS)
|
||||
"lw $r1,($r0+$gotofflo16)"
|
||||
(+ OP_LW r0 r1 gotofflo16)
|
||||
(set r1 (mem SI (add r0 (ext SI (trunc HI gotofflo16)))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni shgotoff "store half word got offset" (ALIAS)
|
||||
"sh ($r0+$gotofflo16),$r1"
|
||||
(+ OP_SH r0 r1 gotofflo16)
|
||||
(set (mem HI (add r0 (ext SI (trunc HI gotofflo16)))) r1)
|
||||
()
|
||||
)
|
||||
|
||||
(dni lhgotoff "load half word got offset" (ALIAS)
|
||||
"lh $r1,($r0+$gotofflo16)"
|
||||
(+ OP_LH r0 r1 gotofflo16)
|
||||
(set r1 (ext SI (mem HI (add r0 (ext SI (trunc HI gotofflo16))))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni lhugotoff "load half word got offset unsigned" (ALIAS)
|
||||
"lhu $r1,($r0+$gotofflo16)"
|
||||
(+ OP_LHU r0 r1 gotofflo16)
|
||||
(set r1 (zext SI (mem HI (add r0 (ext SI (trunc HI gotofflo16))))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni sbgotoff "store byte got offset" (ALIAS)
|
||||
"sb ($r0+$gotofflo16),$r1"
|
||||
(+ OP_SB r0 r1 gotofflo16)
|
||||
(set (mem QI (add r0 (ext SI (trunc HI gotofflo16)))) r1)
|
||||
()
|
||||
)
|
||||
|
||||
(dni lbgotoff "load byte got offset" (ALIAS)
|
||||
"lb $r1,($r0+$gotofflo16)"
|
||||
(+ OP_LB r0 r1 gotofflo16)
|
||||
(set r1 (ext SI (mem QI (add r0 (ext SI (trunc HI gotofflo16))))))
|
||||
()
|
||||
)
|
||||
|
||||
(dni lbugotoff "load byte got offset unsigned" (ALIAS)
|
||||
"lbu $r1,($r0+$gotofflo16)"
|
||||
(+ OP_LBU r0 r1 gotofflo16)
|
||||
(set r1 (zext SI (mem QI (add r0 (ext SI (trunc HI gotofflo16))))))
|
||||
()
|
||||
)
|
||||
235
cpu/lm32.opc
235
cpu/lm32.opc
@@ -1,235 +0,0 @@
|
||||
/* Lattice Mico32 opcode support. -*- C -*-
|
||||
Copyright 2008, 2009 Free Software Foundation, Inc.
|
||||
Contributed by Jon Beniston <jon@beniston.com>
|
||||
|
||||
This file is part of the GNU Binutils.
|
||||
|
||||
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 3 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. */
|
||||
|
||||
/* -- opc.h */
|
||||
|
||||
/* Allows reason codes to be output when assembler errors occur. */
|
||||
#define CGEN_VERBOSE_ASSEMBLER_ERRORS
|
||||
|
||||
#define CGEN_DIS_HASH_SIZE 64
|
||||
#define CGEN_DIS_HASH(buf,value) ((value >> 26) & 0x3f)
|
||||
|
||||
/* -- asm.c */
|
||||
|
||||
/* Handle signed/unsigned literal. */
|
||||
|
||||
static const char *
|
||||
parse_imm (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
const char *errmsg;
|
||||
signed long value;
|
||||
|
||||
errmsg = cgen_parse_signed_integer (cd, strp, opindex, & value);
|
||||
if (errmsg == NULL)
|
||||
{
|
||||
unsigned long x = value & 0xFFFF0000;
|
||||
if (x != 0 && x != 0xFFFF0000)
|
||||
errmsg = _("immediate value out of range");
|
||||
else
|
||||
*valuep = (value & 0xFFFF);
|
||||
}
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
/* Handle hi() */
|
||||
|
||||
static const char *
|
||||
parse_hi16 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
if (strncasecmp (*strp, "hi(", 3) == 0)
|
||||
{
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
const char *errmsg;
|
||||
|
||||
*strp += 3;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_HI16,
|
||||
&result_type, &value);
|
||||
if (**strp != ')')
|
||||
return _("missing `)'");
|
||||
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
value = (value >> 16) & 0xffff;
|
||||
*valuep = value;
|
||||
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
return parse_imm (cd, strp, opindex, valuep);
|
||||
}
|
||||
|
||||
/* Handle lo() */
|
||||
|
||||
static const char *
|
||||
parse_lo16 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
if (strncasecmp (*strp, "lo(", 3) == 0)
|
||||
{
|
||||
const char *errmsg;
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
|
||||
*strp += 3;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LO16,
|
||||
&result_type, &value);
|
||||
if (**strp != ')')
|
||||
return _("missing `)'");
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
value &= 0xffff;
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
return parse_imm (cd, strp, opindex, valuep);
|
||||
}
|
||||
|
||||
/* Handle gp() */
|
||||
|
||||
static const char *
|
||||
parse_gp16 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
long *valuep)
|
||||
{
|
||||
if (strncasecmp (*strp, "gp(", 3) == 0)
|
||||
{
|
||||
const char *errmsg;
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
|
||||
*strp += 3;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_GPREL16,
|
||||
& result_type, & value);
|
||||
if (**strp != ')')
|
||||
return _("missing `)'");
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
value &= 0xffff;
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
return _("expecting gp relative address: gp(symbol)");
|
||||
}
|
||||
|
||||
/* Handle got() */
|
||||
|
||||
static const char *
|
||||
parse_got16 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
long *valuep)
|
||||
{
|
||||
if (strncasecmp (*strp, "got(", 4) == 0)
|
||||
{
|
||||
const char *errmsg;
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
|
||||
*strp += 4;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LM32_16_GOT,
|
||||
& result_type, & value);
|
||||
if (**strp != ')')
|
||||
return _("missing `)'");
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
value &= 0xffff;
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
return _("expecting got relative address: got(symbol)");
|
||||
}
|
||||
|
||||
/* Handle gotoffhi16() */
|
||||
|
||||
static const char *
|
||||
parse_gotoff_hi16 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
long *valuep)
|
||||
{
|
||||
if (strncasecmp (*strp, "gotoffhi16(", 11) == 0)
|
||||
{
|
||||
const char *errmsg;
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
|
||||
*strp += 11;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LM32_GOTOFF_HI16,
|
||||
& result_type, & value);
|
||||
if (**strp != ')')
|
||||
return _("missing `)'");
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
value &= 0xffff;
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
return _("expecting got relative address: gotoffhi16(symbol)");
|
||||
}
|
||||
|
||||
/* Handle gotofflo16() */
|
||||
|
||||
static const char *
|
||||
parse_gotoff_lo16 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
long *valuep)
|
||||
{
|
||||
if (strncasecmp (*strp, "gotofflo16(", 11) == 0)
|
||||
{
|
||||
const char *errmsg;
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
|
||||
*strp += 11;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LM32_GOTOFF_LO16,
|
||||
&result_type, &value);
|
||||
if (**strp != ')')
|
||||
return _("missing `)'");
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
value &= 0xffff;
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
return _("expecting got relative address: gotofflo16(symbol)");
|
||||
}
|
||||
10521
cpu/m32c.cpu
10521
cpu/m32c.cpu
File diff suppressed because it is too large
Load Diff
1182
cpu/m32c.opc
1182
cpu/m32c.opc
File diff suppressed because it is too large
Load Diff
2437
cpu/m32r.cpu
2437
cpu/m32r.cpu
File diff suppressed because it is too large
Load Diff
347
cpu/m32r.opc
347
cpu/m32r.opc
@@ -1,347 +0,0 @@
|
||||
/* M32R opcode support. -*- C -*-
|
||||
|
||||
Copyright 1998, 1999, 2000, 2001, 2004, 2005, 2007, 2009
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Red Hat Inc; developed under contract from
|
||||
Mitsubishi Electric Corporation.
|
||||
|
||||
This file is part of the GNU Binutils.
|
||||
|
||||
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 3 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. */
|
||||
|
||||
|
||||
/* This file is an addendum to m32r.cpu. Heavy use of C code isn't
|
||||
appropriate in .cpu files, so it resides here. This especially applies
|
||||
to assembly/disassembly where parsing/printing can be quite involved.
|
||||
Such things aren't really part of the specification of the cpu, per se,
|
||||
so .cpu files provide the general framework and .opc files handle the
|
||||
nitty-gritty details as necessary.
|
||||
|
||||
Each section is delimited with start and end markers.
|
||||
|
||||
<arch>-opc.h additions use: "-- opc.h"
|
||||
<arch>-opc.c additions use: "-- opc.c"
|
||||
<arch>-asm.c additions use: "-- asm.c"
|
||||
<arch>-dis.c additions use: "-- dis.c"
|
||||
<arch>-ibd.h additions use: "-- ibd.h" */
|
||||
|
||||
/* -- opc.h */
|
||||
|
||||
#undef CGEN_DIS_HASH_SIZE
|
||||
#define CGEN_DIS_HASH_SIZE 256
|
||||
#undef CGEN_DIS_HASH
|
||||
#if 0
|
||||
#define X(b) (((unsigned char *) (b))[0] & 0xf0)
|
||||
#define CGEN_DIS_HASH(buffer, value) \
|
||||
(X (buffer) | \
|
||||
(X (buffer) == 0x40 || X (buffer) == 0xe0 || X (buffer) == 0x60 || X (buffer) == 0x50 ? 0 \
|
||||
: X (buffer) == 0x70 || X (buffer) == 0xf0 ? (((unsigned char *) (buffer))[0] & 0xf) \
|
||||
: X (buffer) == 0x30 ? ((((unsigned char *) (buffer))[1] & 0x70) >> 4) \
|
||||
: ((((unsigned char *) (buffer))[1] & 0xf0) >> 4)))
|
||||
#else
|
||||
#define CGEN_DIS_HASH(buffer, value) m32r_cgen_dis_hash (buffer, value)
|
||||
extern unsigned int m32r_cgen_dis_hash (const char *, CGEN_INSN_INT);
|
||||
#endif
|
||||
|
||||
/* -- */
|
||||
|
||||
/* -- opc.c */
|
||||
unsigned int
|
||||
m32r_cgen_dis_hash (const char * buf ATTRIBUTE_UNUSED, CGEN_INSN_INT value)
|
||||
{
|
||||
unsigned int x;
|
||||
|
||||
if (value & 0xffff0000) /* 32bit instructions. */
|
||||
value = (value >> 16) & 0xffff;
|
||||
|
||||
x = (value >> 8) & 0xf0;
|
||||
if (x == 0x40 || x == 0xe0 || x == 0x60 || x == 0x50)
|
||||
return x;
|
||||
|
||||
if (x == 0x70 || x == 0xf0)
|
||||
return x | ((value >> 8) & 0x0f);
|
||||
|
||||
if (x == 0x30)
|
||||
return x | ((value & 0x70) >> 4);
|
||||
else
|
||||
return x | ((value & 0xf0) >> 4);
|
||||
}
|
||||
|
||||
/* -- */
|
||||
|
||||
/* -- asm.c */
|
||||
static const char * MISSING_CLOSING_PARENTHESIS = N_("missing `)'");
|
||||
|
||||
/* Handle '#' prefixes (i.e. skip over them). */
|
||||
|
||||
static const char *
|
||||
parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
const char **strp,
|
||||
int opindex ATTRIBUTE_UNUSED,
|
||||
long *valuep ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if (**strp == '#')
|
||||
++*strp;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Handle shigh(), high(). */
|
||||
|
||||
static const char *
|
||||
parse_hi16 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
const char *errmsg;
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
|
||||
if (**strp == '#')
|
||||
++*strp;
|
||||
|
||||
if (strncasecmp (*strp, "high(", 5) == 0)
|
||||
{
|
||||
*strp += 5;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_M32R_HI16_ULO,
|
||||
& result_type, & value);
|
||||
if (**strp != ')')
|
||||
return MISSING_CLOSING_PARENTHESIS;
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
{
|
||||
value >>= 16;
|
||||
value &= 0xffff;
|
||||
}
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
else if (strncasecmp (*strp, "shigh(", 6) == 0)
|
||||
{
|
||||
*strp += 6;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_M32R_HI16_SLO,
|
||||
& result_type, & value);
|
||||
if (**strp != ')')
|
||||
return MISSING_CLOSING_PARENTHESIS;
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
{
|
||||
value += 0x8000;
|
||||
value >>= 16;
|
||||
value &= 0xffff;
|
||||
}
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
return cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
|
||||
}
|
||||
|
||||
/* Handle low() in a signed context. Also handle sda().
|
||||
The signedness of the value doesn't matter to low(), but this also
|
||||
handles the case where low() isn't present. */
|
||||
|
||||
static const char *
|
||||
parse_slo16 (CGEN_CPU_DESC cd,
|
||||
const char ** strp,
|
||||
int opindex,
|
||||
long * valuep)
|
||||
{
|
||||
const char *errmsg;
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
|
||||
if (**strp == '#')
|
||||
++*strp;
|
||||
|
||||
if (strncasecmp (*strp, "low(", 4) == 0)
|
||||
{
|
||||
*strp += 4;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_M32R_LO16,
|
||||
& result_type, & value);
|
||||
if (**strp != ')')
|
||||
return MISSING_CLOSING_PARENTHESIS;
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
value = ((value & 0xffff) ^ 0x8000) - 0x8000;
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
if (strncasecmp (*strp, "sda(", 4) == 0)
|
||||
{
|
||||
*strp += 4;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_M32R_SDA16,
|
||||
NULL, & value);
|
||||
if (**strp != ')')
|
||||
return MISSING_CLOSING_PARENTHESIS;
|
||||
++*strp;
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
return cgen_parse_signed_integer (cd, strp, opindex, valuep);
|
||||
}
|
||||
|
||||
/* Handle low() in an unsigned context.
|
||||
The signedness of the value doesn't matter to low(), but this also
|
||||
handles the case where low() isn't present. */
|
||||
|
||||
static const char *
|
||||
parse_ulo16 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
const char *errmsg;
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
|
||||
if (**strp == '#')
|
||||
++*strp;
|
||||
|
||||
if (strncasecmp (*strp, "low(", 4) == 0)
|
||||
{
|
||||
*strp += 4;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_M32R_LO16,
|
||||
& result_type, & value);
|
||||
if (**strp != ')')
|
||||
return MISSING_CLOSING_PARENTHESIS;
|
||||
++*strp;
|
||||
if (errmsg == NULL
|
||||
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
|
||||
value &= 0xffff;
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
return cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
|
||||
}
|
||||
|
||||
/* -- */
|
||||
|
||||
/* -- dis.c */
|
||||
|
||||
/* Print signed operands with '#' prefixes. */
|
||||
|
||||
static void
|
||||
print_signed_with_hash_prefix (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info,
|
||||
long value,
|
||||
unsigned int attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
disassemble_info *info = (disassemble_info *) dis_info;
|
||||
|
||||
(*info->fprintf_func) (info->stream, "#");
|
||||
(*info->fprintf_func) (info->stream, "%ld", value);
|
||||
}
|
||||
|
||||
/* Print unsigned operands with '#' prefixes. */
|
||||
|
||||
static void
|
||||
print_unsigned_with_hash_prefix (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info,
|
||||
long value,
|
||||
unsigned int attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
disassemble_info *info = (disassemble_info *) dis_info;
|
||||
|
||||
(*info->fprintf_func) (info->stream, "#");
|
||||
(*info->fprintf_func) (info->stream, "0x%lx", value);
|
||||
}
|
||||
|
||||
/* Handle '#' prefixes as operands. */
|
||||
|
||||
static void
|
||||
print_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info,
|
||||
long value ATTRIBUTE_UNUSED,
|
||||
unsigned int attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
disassemble_info *info = (disassemble_info *) dis_info;
|
||||
|
||||
(*info->fprintf_func) (info->stream, "#");
|
||||
}
|
||||
|
||||
#undef CGEN_PRINT_INSN
|
||||
#define CGEN_PRINT_INSN my_print_insn
|
||||
|
||||
static int
|
||||
my_print_insn (CGEN_CPU_DESC cd,
|
||||
bfd_vma pc,
|
||||
disassemble_info *info)
|
||||
{
|
||||
bfd_byte buffer[CGEN_MAX_INSN_SIZE];
|
||||
bfd_byte *buf = buffer;
|
||||
int status;
|
||||
int buflen = (pc & 3) == 0 ? 4 : 2;
|
||||
int big_p = CGEN_CPU_INSN_ENDIAN (cd) == CGEN_ENDIAN_BIG;
|
||||
bfd_byte *x;
|
||||
|
||||
/* Read the base part of the insn. */
|
||||
|
||||
status = (*info->read_memory_func) (pc - ((!big_p && (pc & 3) != 0) ? 2 : 0),
|
||||
buf, buflen, info);
|
||||
if (status != 0)
|
||||
{
|
||||
(*info->memory_error_func) (status, pc, info);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* 32 bit insn? */
|
||||
x = (big_p ? &buf[0] : &buf[3]);
|
||||
if ((pc & 3) == 0 && (*x & 0x80) != 0)
|
||||
return print_insn (cd, pc, info, buf, buflen);
|
||||
|
||||
/* Print the first insn. */
|
||||
if ((pc & 3) == 0)
|
||||
{
|
||||
buf += (big_p ? 0 : 2);
|
||||
if (print_insn (cd, pc, info, buf, 2) == 0)
|
||||
(*info->fprintf_func) (info->stream, UNKNOWN_INSN_MSG);
|
||||
buf += (big_p ? 2 : -2);
|
||||
}
|
||||
|
||||
x = (big_p ? &buf[0] : &buf[1]);
|
||||
if (*x & 0x80)
|
||||
{
|
||||
/* Parallel. */
|
||||
(*info->fprintf_func) (info->stream, " || ");
|
||||
*x &= 0x7f;
|
||||
}
|
||||
else
|
||||
(*info->fprintf_func) (info->stream, " -> ");
|
||||
|
||||
/* The "& 3" is to pass a consistent address.
|
||||
Parallel insns arguably both begin on the word boundary.
|
||||
Also, branch insns are calculated relative to the word boundary. */
|
||||
if (print_insn (cd, pc & ~ (bfd_vma) 3, info, buf, 2) == 0)
|
||||
(*info->fprintf_func) (info->stream, UNKNOWN_INSN_MSG);
|
||||
|
||||
return (pc & 3) ? 2 : 4;
|
||||
}
|
||||
|
||||
/* -- */
|
||||
1352
cpu/mt.cpu
1352
cpu/mt.cpu
File diff suppressed because it is too large
Load Diff
472
cpu/mt.opc
472
cpu/mt.opc
@@ -1,472 +0,0 @@
|
||||
/* Morpho Technologies mRISC opcode support, for GNU Binutils. -*- C -*-
|
||||
Copyright 2001, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Red Hat Inc; developed under contract from
|
||||
Morpho Technologies.
|
||||
|
||||
This file is part of the GNU Binutils.
|
||||
|
||||
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 3 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. */
|
||||
|
||||
|
||||
/* Each section is delimited with start and end markers.
|
||||
|
||||
<arch>-opc.h additions use: "-- opc.h"
|
||||
<arch>-opc.c additions use: "-- opc.c"
|
||||
<arch>-asm.c additions use: "-- asm.c"
|
||||
<arch>-dis.c additions use: "-- dis.c"
|
||||
<arch>-ibd.h additions use: "-- ibd.h" */
|
||||
|
||||
/* -- opc.h */
|
||||
|
||||
/* Check applicability of instructions against machines. */
|
||||
#define CGEN_VALIDATE_INSN_SUPPORTED
|
||||
|
||||
/* Allows reason codes to be output when assembler errors occur. */
|
||||
#define CGEN_VERBOSE_ASSEMBLER_ERRORS
|
||||
|
||||
/* Override disassembly hashing - there are variable bits in the top
|
||||
byte of these instructions. */
|
||||
#define CGEN_DIS_HASH_SIZE 8
|
||||
#define CGEN_DIS_HASH(buf, value) (((* (unsigned char *) (buf)) >> 5) % CGEN_DIS_HASH_SIZE)
|
||||
|
||||
#define CGEN_ASM_HASH_SIZE 127
|
||||
#define CGEN_ASM_HASH(insn) mt_asm_hash (insn)
|
||||
|
||||
extern unsigned int mt_asm_hash (const char *);
|
||||
|
||||
extern int mt_cgen_insn_supported (CGEN_CPU_DESC, const CGEN_INSN *);
|
||||
|
||||
|
||||
/* -- opc.c */
|
||||
#include "safe-ctype.h"
|
||||
|
||||
/* Special check to ensure that instruction exists for given machine. */
|
||||
|
||||
int
|
||||
mt_cgen_insn_supported (CGEN_CPU_DESC cd, const CGEN_INSN *insn)
|
||||
{
|
||||
int machs = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_MACH);
|
||||
|
||||
/* No mach attribute? Assume it's supported for all machs. */
|
||||
if (machs == 0)
|
||||
return 1;
|
||||
|
||||
return ((machs & cd->machs) != 0);
|
||||
}
|
||||
|
||||
/* A better hash function for instruction mnemonics. */
|
||||
|
||||
unsigned int
|
||||
mt_asm_hash (const char* insn)
|
||||
{
|
||||
unsigned int hash;
|
||||
const char* m = insn;
|
||||
|
||||
for (hash = 0; *m && ! ISSPACE (*m); m++)
|
||||
hash = (hash * 23) ^ (0x1F & TOLOWER (*m));
|
||||
|
||||
/* printf ("%s %d\n", insn, (hash % CGEN_ASM_HASH_SIZE)); */
|
||||
|
||||
return hash % CGEN_ASM_HASH_SIZE;
|
||||
}
|
||||
|
||||
|
||||
/* -- asm.c */
|
||||
/* Range checking for signed numbers. Returns 0 if acceptable
|
||||
and 1 if the value is out of bounds for a signed quantity. */
|
||||
|
||||
static int
|
||||
signed_out_of_bounds (long val)
|
||||
{
|
||||
if ((val < -32768) || (val > 32767))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const char *
|
||||
parse_loopsize (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
void *arg)
|
||||
{
|
||||
signed long * valuep = (signed long *) arg;
|
||||
const char *errmsg;
|
||||
bfd_reloc_code_real_type code = BFD_RELOC_NONE;
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_vma value;
|
||||
|
||||
/* Is it a control transfer instructions? */
|
||||
if (opindex == (CGEN_OPERAND_TYPE) MT_OPERAND_LOOPSIZE)
|
||||
{
|
||||
code = BFD_RELOC_MT_PCINSN8;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, code,
|
||||
& result_type, & value);
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
abort ();
|
||||
}
|
||||
|
||||
static const char *
|
||||
parse_imm16 (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
void *arg)
|
||||
{
|
||||
signed long * valuep = (signed long *) arg;
|
||||
const char *errmsg;
|
||||
enum cgen_parse_operand_result result_type;
|
||||
bfd_reloc_code_real_type code = BFD_RELOC_NONE;
|
||||
bfd_vma value;
|
||||
|
||||
/* Is it a control transfer instructions? */
|
||||
if (opindex == (CGEN_OPERAND_TYPE) MT_OPERAND_IMM16O)
|
||||
{
|
||||
code = BFD_RELOC_16_PCREL;
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, code,
|
||||
& result_type, & value);
|
||||
if (errmsg == NULL)
|
||||
{
|
||||
if (signed_out_of_bounds (value))
|
||||
errmsg = _("Operand out of range. Must be between -32768 and 32767.");
|
||||
}
|
||||
*valuep = value;
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
/* If it's not a control transfer instruction, then
|
||||
we have to check for %OP relocating operators. */
|
||||
if (opindex == (CGEN_OPERAND_TYPE) MT_OPERAND_IMM16L)
|
||||
;
|
||||
else if (strncmp (*strp, "%hi16", 5) == 0)
|
||||
{
|
||||
*strp += 5;
|
||||
code = BFD_RELOC_HI16;
|
||||
}
|
||||
else if (strncmp (*strp, "%lo16", 5) == 0)
|
||||
{
|
||||
*strp += 5;
|
||||
code = BFD_RELOC_LO16;
|
||||
}
|
||||
|
||||
/* If we found a %OP relocating operator, then parse it as an address.
|
||||
If not, we need to parse it as an integer, either signed or unsigned
|
||||
depending on which operand type we have. */
|
||||
if (code != BFD_RELOC_NONE)
|
||||
{
|
||||
/* %OP relocating operator found. */
|
||||
errmsg = cgen_parse_address (cd, strp, opindex, code,
|
||||
& result_type, & value);
|
||||
if (errmsg == NULL)
|
||||
{
|
||||
switch (result_type)
|
||||
{
|
||||
case (CGEN_PARSE_OPERAND_RESULT_NUMBER):
|
||||
if (code == BFD_RELOC_HI16)
|
||||
value = (value >> 16) & 0xFFFF;
|
||||
else if (code == BFD_RELOC_LO16)
|
||||
value = value & 0xFFFF;
|
||||
else
|
||||
errmsg = _("Biiiig Trouble in parse_imm16!");
|
||||
break;
|
||||
|
||||
case (CGEN_PARSE_OPERAND_RESULT_QUEUED):
|
||||
/* No special processing for this case. */
|
||||
break;
|
||||
|
||||
default:
|
||||
errmsg = _("The percent-operator's operand is not a symbol");
|
||||
break;
|
||||
}
|
||||
}
|
||||
*valuep = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Parse hex values like 0xffff as unsigned, and sign extend
|
||||
them manually. */
|
||||
int parse_signed = (opindex == (CGEN_OPERAND_TYPE)MT_OPERAND_IMM16);
|
||||
|
||||
if ((*strp)[0] == '0'
|
||||
&& ((*strp)[1] == 'x' || (*strp)[1] == 'X'))
|
||||
parse_signed = 0;
|
||||
|
||||
/* No relocating operator. Parse as an number. */
|
||||
if (parse_signed)
|
||||
{
|
||||
/* Parse as as signed integer. */
|
||||
|
||||
errmsg = cgen_parse_signed_integer (cd, strp, opindex, valuep);
|
||||
|
||||
if (errmsg == NULL)
|
||||
{
|
||||
#if 0
|
||||
/* Manual range checking is needed for the signed case. */
|
||||
if (*valuep & 0x8000)
|
||||
value = 0xffff0000 | *valuep;
|
||||
else
|
||||
value = *valuep;
|
||||
|
||||
if (signed_out_of_bounds (value))
|
||||
errmsg = _("Operand out of range. Must be between -32768 and 32767.");
|
||||
/* Truncate to 16 bits. This is necessary
|
||||
because cgen will have sign extended *valuep. */
|
||||
*valuep &= 0xFFFF;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* MT_OPERAND_IMM16Z. Parse as an unsigned integer. */
|
||||
errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, (unsigned long *) valuep);
|
||||
|
||||
if (opindex == (CGEN_OPERAND_TYPE) MT_OPERAND_IMM16
|
||||
&& *valuep >= 0x8000
|
||||
&& *valuep <= 0xffff)
|
||||
*valuep -= 0x10000;
|
||||
}
|
||||
}
|
||||
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_dup (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
const char *errmsg = NULL;
|
||||
|
||||
if (strncmp (*strp, "dup", 3) == 0 || strncmp (*strp, "DUP", 3) == 0)
|
||||
{
|
||||
*strp += 3;
|
||||
*valuep = 1;
|
||||
}
|
||||
else if (strncmp (*strp, "xx", 2) == 0 || strncmp (*strp, "XX", 2) == 0)
|
||||
{
|
||||
*strp += 2;
|
||||
*valuep = 0;
|
||||
}
|
||||
else
|
||||
errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
|
||||
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_ball (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
const char *errmsg = NULL;
|
||||
|
||||
if (strncmp (*strp, "all", 3) == 0 || strncmp (*strp, "ALL", 3) == 0)
|
||||
{
|
||||
*strp += 3;
|
||||
*valuep = 1;
|
||||
}
|
||||
else if (strncmp (*strp, "one", 3) == 0 || strncmp (*strp, "ONE", 3) == 0)
|
||||
{
|
||||
*strp += 3;
|
||||
*valuep = 0;
|
||||
}
|
||||
else
|
||||
errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
|
||||
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
static const char *
|
||||
parse_xmode (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
const char *errmsg = NULL;
|
||||
|
||||
if (strncmp (*strp, "pm", 2) == 0 || strncmp (*strp, "PM", 2) == 0)
|
||||
{
|
||||
*strp += 2;
|
||||
*valuep = 1;
|
||||
}
|
||||
else if (strncmp (*strp, "xm", 2) == 0 || strncmp (*strp, "XM", 2) == 0)
|
||||
{
|
||||
*strp += 2;
|
||||
*valuep = 0;
|
||||
}
|
||||
else
|
||||
errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
|
||||
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
static const char *
|
||||
parse_rc (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
const char *errmsg = NULL;
|
||||
|
||||
if (strncmp (*strp, "r", 1) == 0 || strncmp (*strp, "R", 1) == 0)
|
||||
{
|
||||
*strp += 1;
|
||||
*valuep = 1;
|
||||
}
|
||||
else if (strncmp (*strp, "c", 1) == 0 || strncmp (*strp, "C", 1) == 0)
|
||||
{
|
||||
*strp += 1;
|
||||
*valuep = 0;
|
||||
}
|
||||
else
|
||||
errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
|
||||
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
static const char *
|
||||
parse_cbrb (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
const char *errmsg = NULL;
|
||||
|
||||
if (strncmp (*strp, "rb", 2) == 0 || strncmp (*strp, "RB", 2) == 0)
|
||||
{
|
||||
*strp += 2;
|
||||
*valuep = 1;
|
||||
}
|
||||
else if (strncmp (*strp, "cb", 2) == 0 || strncmp (*strp, "CB", 2) == 0)
|
||||
{
|
||||
*strp += 2;
|
||||
*valuep = 0;
|
||||
}
|
||||
else
|
||||
errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
|
||||
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
static const char *
|
||||
parse_rbbc (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
const char *errmsg = NULL;
|
||||
|
||||
if (strncmp (*strp, "rt", 2) == 0 || strncmp (*strp, "RT", 2) == 0)
|
||||
{
|
||||
*strp += 2;
|
||||
*valuep = 0;
|
||||
}
|
||||
else if (strncmp (*strp, "br1", 3) == 0 || strncmp (*strp, "BR1", 3) == 0)
|
||||
{
|
||||
*strp += 3;
|
||||
*valuep = 1;
|
||||
}
|
||||
else if (strncmp (*strp, "br2", 3) == 0 || strncmp (*strp, "BR2", 3) == 0)
|
||||
{
|
||||
*strp += 3;
|
||||
*valuep = 2;
|
||||
}
|
||||
else if (strncmp (*strp, "cs", 2) == 0 || strncmp (*strp, "CS", 2) == 0)
|
||||
{
|
||||
*strp += 2;
|
||||
*valuep = 3;
|
||||
}
|
||||
else
|
||||
errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
|
||||
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
static const char *
|
||||
parse_type (CGEN_CPU_DESC cd,
|
||||
const char **strp,
|
||||
int opindex,
|
||||
unsigned long *valuep)
|
||||
{
|
||||
const char *errmsg = NULL;
|
||||
|
||||
if (strncmp (*strp, "odd", 3) == 0 || strncmp (*strp, "ODD", 3) == 0)
|
||||
{
|
||||
*strp += 3;
|
||||
*valuep = 0;
|
||||
}
|
||||
else if (strncmp (*strp, "even", 4) == 0 || strncmp (*strp, "EVEN", 4) == 0)
|
||||
{
|
||||
*strp += 4;
|
||||
*valuep = 1;
|
||||
}
|
||||
else if (strncmp (*strp, "oe", 2) == 0 || strncmp (*strp, "OE", 2) == 0)
|
||||
{
|
||||
*strp += 2;
|
||||
*valuep = 2;
|
||||
}
|
||||
else
|
||||
errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
|
||||
|
||||
if ((errmsg == NULL) && (*valuep == 3))
|
||||
errmsg = _("invalid operand. type may have values 0,1,2 only.");
|
||||
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
/* -- dis.c */
|
||||
static void print_dollarhex (CGEN_CPU_DESC, PTR, long, unsigned, bfd_vma, int);
|
||||
static void print_pcrel (CGEN_CPU_DESC, PTR, long, unsigned, bfd_vma, int);
|
||||
|
||||
static void
|
||||
print_dollarhex (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info,
|
||||
long value,
|
||||
unsigned int attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
disassemble_info *info = (disassemble_info *) dis_info;
|
||||
|
||||
info->fprintf_func (info->stream, "$%lx", value);
|
||||
|
||||
if (0)
|
||||
print_normal (cd, dis_info, value, attrs, pc, length);
|
||||
}
|
||||
|
||||
static void
|
||||
print_pcrel (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info,
|
||||
long value,
|
||||
unsigned int attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
print_address (cd, dis_info, value + pc, attrs, pc, length);
|
||||
}
|
||||
|
||||
/* -- */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
369
cpu/sh.cpu
369
cpu/sh.cpu
@@ -1,369 +0,0 @@
|
||||
; Hitachi SH architecture description. -*- Scheme -*-
|
||||
;
|
||||
; Copyright 2000, 2001, 2007, 2009 Free Software Foundation, Inc.
|
||||
;
|
||||
; Contributed by Red Hat Inc; developed under contract from Hitachi
|
||||
; Semiconductor (America) Inc.
|
||||
;
|
||||
; This file is part of the GNU Binutils.
|
||||
;
|
||||
; 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 3 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 "simplify.inc")
|
||||
|
||||
(define-arch
|
||||
(name sh)
|
||||
(comment "Hitachi SuperH (SH)")
|
||||
(insn-lsb0? #t)
|
||||
(machs sh2 sh3 sh3e sh4 sh5)
|
||||
(isas compact media)
|
||||
)
|
||||
|
||||
|
||||
; Instruction sets.
|
||||
|
||||
(define-isa
|
||||
(name media)
|
||||
(comment "SHmedia 32-bit instruction set")
|
||||
(base-insn-bitsize 32)
|
||||
)
|
||||
|
||||
(define-isa
|
||||
(name compact)
|
||||
(comment "SHcompact 16-bit instruction set")
|
||||
(base-insn-bitsize 16)
|
||||
)
|
||||
|
||||
|
||||
; CPU family.
|
||||
|
||||
(define-cpu
|
||||
(name sh64)
|
||||
(comment "SH 64-bit family")
|
||||
(endian either)
|
||||
(word-bitsize 32)
|
||||
)
|
||||
|
||||
|
||||
(define-mach
|
||||
(name sh2)
|
||||
(comment "SH-2 CPU core")
|
||||
(cpu sh64)
|
||||
(isas compact)
|
||||
)
|
||||
|
||||
(define-mach
|
||||
(name sh3)
|
||||
(comment "SH-3 CPU core")
|
||||
(cpu sh64)
|
||||
(isas compact)
|
||||
)
|
||||
|
||||
(define-mach
|
||||
(name sh3e)
|
||||
(comment "SH-3e CPU core")
|
||||
(cpu sh64)
|
||||
(isas compact)
|
||||
)
|
||||
|
||||
(define-mach
|
||||
(name sh4)
|
||||
(comment "SH-4 CPU core")
|
||||
(cpu sh64)
|
||||
(isas compact)
|
||||
)
|
||||
|
||||
(define-mach
|
||||
(name sh5)
|
||||
(comment "SH-5 CPU core")
|
||||
(cpu sh64)
|
||||
(isas compact media)
|
||||
)
|
||||
|
||||
(define-model
|
||||
(name sh5)
|
||||
(comment "SH-5 reference implementation")
|
||||
(mach sh5)
|
||||
(unit u-exec "Execution unit" ()
|
||||
1 1 ; issue done
|
||||
() () () ())
|
||||
)
|
||||
|
||||
; Hardware elements.
|
||||
|
||||
(define-hardware
|
||||
(name h-pc)
|
||||
(comment "Program counter")
|
||||
(attrs PC (ISA compact,media))
|
||||
(type pc UDI)
|
||||
(get () (raw-reg h-pc))
|
||||
(set (newval) (sequence ()
|
||||
(set (raw-reg h-ism) (and newval 1))
|
||||
(set (raw-reg h-pc) (and newval (inv UDI 1)))))
|
||||
)
|
||||
|
||||
(define-pmacro (-build-greg-name n) ((.sym r n) n))
|
||||
|
||||
(define-hardware
|
||||
(name h-gr)
|
||||
(comment "General purpose integer registers")
|
||||
(attrs (ISA media,compact))
|
||||
(type register DI (64))
|
||||
(indices keyword "" (.map -build-greg-name (.iota 64)))
|
||||
(get (index)
|
||||
(if DI (eq index 63)
|
||||
(const 0)
|
||||
(raw-reg h-gr index)))
|
||||
(set (index newval)
|
||||
(if (ne index 63)
|
||||
(set (raw-reg h-gr index) newval)
|
||||
(nop)))
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-grc)
|
||||
(comment "General purpose integer registers (SHcompact view)")
|
||||
(attrs VIRTUAL (ISA compact))
|
||||
(type register SI (16))
|
||||
(indices keyword "" (.map -build-greg-name (.iota 16)))
|
||||
(get (index)
|
||||
(and (raw-reg h-gr index) (zext DI #xFFFFFFFF)))
|
||||
(set (index newval)
|
||||
(set (raw-reg h-gr index) (ext DI newval)))
|
||||
)
|
||||
|
||||
(define-pmacro (-build-creg-name n) ((.sym cr n) n))
|
||||
|
||||
(define-hardware
|
||||
(name h-cr)
|
||||
(comment "Control registers")
|
||||
(attrs (ISA media))
|
||||
(type register DI (64))
|
||||
(indices keyword "" (.map -build-creg-name (.iota 64)))
|
||||
(get (index)
|
||||
(if DI (eq index 0)
|
||||
(zext DI (reg h-sr))
|
||||
(raw-reg h-cr index)))
|
||||
(set (index newval)
|
||||
(if (eq index 0)
|
||||
(set (reg h-sr) newval)
|
||||
(set (raw-reg h-cr index) newval)))
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-sr)
|
||||
(comment "Status register")
|
||||
(attrs (ISA compact,media))
|
||||
(type register SI)
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-fpscr)
|
||||
(comment "Floating point status and control register")
|
||||
(attrs (ISA compact,media))
|
||||
(type register SI)
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-frbit)
|
||||
(comment "Floating point register file bit")
|
||||
(attrs (ISA media,compact) VIRTUAL)
|
||||
(type register BI)
|
||||
(get () (and (srl (reg h-sr) 14) 1))
|
||||
(set (newvalue) (set (reg h-sr) (or (and (reg h-sr) (inv (sll 1 14))) (sll SI newvalue 14))))
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-szbit)
|
||||
(comment "Floating point transfer size bit")
|
||||
(attrs (ISA media,compact) VIRTUAL)
|
||||
(type register BI)
|
||||
(get () (and (srl (reg h-sr) 13) 1))
|
||||
(set (newvalue) (set (reg h-sr) (or (and (reg h-sr) (inv (sll 1 13))) (sll SI newvalue 13))))
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-prbit)
|
||||
(comment "Floating point precision bit")
|
||||
(attrs (ISA media,compact) VIRTUAL)
|
||||
(type register BI)
|
||||
(get () (and (srl (reg h-sr) 12) 1))
|
||||
(set (newvalue) (set (reg h-sr) (or (and (reg h-sr) (inv (sll 1 12))) (sll SI newvalue 12))))
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-sbit)
|
||||
(comment "Multiply-accumulate saturation flag")
|
||||
(attrs (ISA compact) VIRTUAL)
|
||||
(type register BI)
|
||||
(get () (and (srl (reg h-sr) 1) 1))
|
||||
(set (newvalue) (set (reg h-sr) (or (and (reg h-sr) (inv 2)) (sll SI newvalue 1))))
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-mbit)
|
||||
(comment "Divide-step M flag")
|
||||
(attrs (ISA compact) VIRTUAL)
|
||||
(type register BI)
|
||||
(get () (and (srl (reg h-sr) 9) 1))
|
||||
(set (newvalue) (set (reg h-sr) (or (and (reg h-sr) (inv (sll 1 9))) (sll SI newvalue 9))))
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-qbit)
|
||||
(comment "Divide-step Q flag")
|
||||
(attrs (ISA compact) VIRTUAL)
|
||||
(type register BI)
|
||||
(get () (and (srl (reg h-sr) 8) 1))
|
||||
(set (newvalue) (set (reg h-sr) (or (and (reg h-sr) (inv (sll 1 8))) (sll SI newvalue 8))))
|
||||
)
|
||||
|
||||
(define-pmacro (-build-freg-name n) ((.sym fr n) n))
|
||||
|
||||
(define-hardware
|
||||
(name h-fr)
|
||||
(comment "Single precision floating point registers")
|
||||
(attrs (ISA media,compact))
|
||||
(type register SF (64))
|
||||
(indices keyword "" (.map -build-freg-name (.iota 64)))
|
||||
)
|
||||
|
||||
|
||||
(define-pmacro (-build-fpair-name n) ((.sym fp n) n))
|
||||
|
||||
(define-hardware
|
||||
(name h-fp)
|
||||
(comment "Single precision floating point register pairs")
|
||||
(attrs (ISA media,compact))
|
||||
(type register DF (32))
|
||||
(indices keyword "" (.map -build-fpair-name (.iota 32)))
|
||||
)
|
||||
|
||||
(define-pmacro (-build-fvec-name n) ((.sym fv n) n))
|
||||
|
||||
(define-hardware
|
||||
(name h-fv)
|
||||
(comment "Single precision floating point vectors")
|
||||
(attrs VIRTUAL (ISA media,compact))
|
||||
(type register SF (16))
|
||||
(indices keyword "" (.map -build-fvec-name (.iota 16)))
|
||||
; Mask with $F to ensure 0 <= index < 15.
|
||||
(get (index) (reg h-fr (mul (and UQI index 15) 4)))
|
||||
(set (index newval) (set (reg h-fr (mul (and UQI index 15) 4)) newval))
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-fmtx)
|
||||
(comment "Single precision floating point matrices")
|
||||
(attrs VIRTUAL (ISA media))
|
||||
(type register SF (4))
|
||||
(indices keyword "" ((mtrx0 0) (mtrx1 1) (mtrx2 2) (mtrx3 3)))
|
||||
; Mask with $3 to ensure 0 <= index < 4.
|
||||
(get (index) (reg h-fr (mul (and UQI index 3) 16)))
|
||||
(set (index newval) (set (reg h-fr (mul (and UQI index 3) 16)) newval))
|
||||
)
|
||||
|
||||
(define-pmacro (-build-dreg-name n) ((.sym dr n) n))
|
||||
|
||||
(define-hardware
|
||||
(name h-dr)
|
||||
(comment "Double precision floating point registers")
|
||||
(attrs (ISA media,compact) VIRTUAL)
|
||||
(type register DF (32))
|
||||
(indices keyword "" (.map -build-dreg-name (.iota 64)))
|
||||
(get (index)
|
||||
(subword DF
|
||||
(or
|
||||
(sll DI (zext DI (subword SI (reg h-fr index) 0)) 32)
|
||||
(zext DI (subword SI (reg h-fr (add index 1)) 0))) 0))
|
||||
(set (index newval)
|
||||
(sequence ()
|
||||
(set (reg h-fr index)
|
||||
(subword SF (subword SI newval 0) 0))
|
||||
(set (reg h-fr (add index 1))
|
||||
(subword SF (subword SI newval 1) 0))))
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-tr)
|
||||
(comment "Branch target registers")
|
||||
(attrs (ISA media))
|
||||
(type register DI (8))
|
||||
(indices keyword "" ((tr0 0) (tr1 1) (tr2 2) (tr3 3) (tr4 4) (tr5 5) (tr6 6) (tr7 7)))
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-endian)
|
||||
(comment "Current endian mode")
|
||||
(attrs (ISA compact,media) VIRTUAL)
|
||||
(type register BI)
|
||||
(get () (c-call BI "sh64_endian"))
|
||||
(set (newval) (error "cannot alter target byte order mid-program"))
|
||||
)
|
||||
|
||||
(define-hardware
|
||||
(name h-ism)
|
||||
(comment "Current instruction set mode")
|
||||
(attrs (ISA compact,media))
|
||||
(type register BI)
|
||||
(get () (raw-reg h-ism))
|
||||
(set (newval) (error "cannot set ism directly"))
|
||||
)
|
||||
|
||||
|
||||
; Operands.
|
||||
|
||||
(dnop endian "Endian mode" ((ISA compact,media)) h-endian f-nil)
|
||||
(dnop ism "Instruction set mode" ((ISA compact,media)) h-ism f-nil)
|
||||
|
||||
; Universally useful macros.
|
||||
|
||||
; A pmacro for use in semantic bodies of unimplemented insns.
|
||||
(define-pmacro (unimp mnemonic) (nop))
|
||||
|
||||
; Join 2 ints together in natural bit order.
|
||||
(define-pmacro (-join-si s1 s0)
|
||||
(or (sll (zext DI s1) 32)
|
||||
(zext DI s0)))
|
||||
|
||||
; Join 4 half-ints together in natural bit order.
|
||||
(define-pmacro (-join-hi h3 h2 h1 h0)
|
||||
(or (sll (zext DI h3) 48)
|
||||
(or (sll (zext DI h2) 32)
|
||||
(or (sll (zext DI h1) 16)
|
||||
(zext DI h0)))))
|
||||
|
||||
; Join 8 quarter-ints together in natural bit order.
|
||||
(define-pmacro (-join-qi b7 b6 b5 b4 b3 b2 b1 b0)
|
||||
(or (sll (zext DI b7) 56)
|
||||
(or (sll (zext DI b6) 48)
|
||||
(or (sll (zext DI b5) 40)
|
||||
(or (sll (zext DI b4) 32)
|
||||
(or (sll (zext DI b3) 24)
|
||||
(or (sll (zext DI b2) 16)
|
||||
(or (sll (zext DI b1) 8)
|
||||
(zext DI b0)))))))))
|
||||
|
||||
|
||||
; Include the two instruction set descriptions from their respective
|
||||
; source files.
|
||||
|
||||
(if (keep-isa? (compact))
|
||||
(include "sh64-compact.cpu"))
|
||||
|
||||
(if (keep-isa? (media))
|
||||
(include "sh64-media.cpu"))
|
||||
77
cpu/sh.opc
77
cpu/sh.opc
@@ -1,77 +0,0 @@
|
||||
/* SHmedia opcode support. -*- C -*-
|
||||
|
||||
Copyright 2000, 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Red Hat Inc; developed under contract from Hitachi
|
||||
Semiconductor (America) Inc.
|
||||
|
||||
This file is part of the GNU Binutils.
|
||||
|
||||
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 3 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. */
|
||||
|
||||
|
||||
/* This file is an addendum to sh-media.cpu. Heavy use of C code isn't
|
||||
appropriate in .cpu files, so it resides here. This especially applies
|
||||
to assembly/disassembly where parsing/printing can be quite involved.
|
||||
Such things aren't really part of the specification of the cpu, per se,
|
||||
so .cpu files provide the general framework and .opc files handle the
|
||||
nitty-gritty details as necessary.
|
||||
|
||||
Each section is delimited with start and end markers.
|
||||
|
||||
<arch>-opc.h additions use: "-- opc.h"
|
||||
<arch>-opc.c additions use: "-- opc.c"
|
||||
<arch>-asm.c additions use: "-- asm.c"
|
||||
<arch>-dis.c additions use: "-- dis.c"
|
||||
<arch>-ibd.h additions use: "-- ibd.h" */
|
||||
|
||||
/* -- opc.h */
|
||||
|
||||
/* Allows reason codes to be output when assembler errors occur. */
|
||||
#define CGEN_VERBOSE_ASSEMBLER_ERRORS
|
||||
|
||||
/* Override disassembly hashing - there are variable bits in the top
|
||||
byte of these instructions. */
|
||||
#define CGEN_DIS_HASH_SIZE 8
|
||||
#define CGEN_DIS_HASH(buf,value) (((* (unsigned char*) (buf)) >> 6) % CGEN_DIS_HASH_SIZE)
|
||||
|
||||
/* -- asm.c */
|
||||
|
||||
static const char *
|
||||
parse_fsd (CGEN_CPU_DESC cd,
|
||||
const char ** strp,
|
||||
int opindex,
|
||||
long * valuep)
|
||||
{
|
||||
abort ();
|
||||
}
|
||||
|
||||
/* -- dis.c */
|
||||
|
||||
static void
|
||||
print_likely (CGEN_CPU_DESC cd,
|
||||
void * dis_info,
|
||||
long value,
|
||||
unsigned int attrs,
|
||||
bfd_vma pc,
|
||||
int length)
|
||||
{
|
||||
disassemble_info *info = (disassemble_info *) dis_info;
|
||||
|
||||
(*info->fprintf_func) (info->stream, (value) ? "/l" : "/u");
|
||||
}
|
||||
|
||||
/* -- */
|
||||
1748
cpu/sh64-compact.cpu
1748
cpu/sh64-compact.cpu
File diff suppressed because it is too large
Load Diff
1733
cpu/sh64-media.cpu
1733
cpu/sh64-media.cpu
File diff suppressed because it is too large
Load Diff
218
cpu/simplify.inc
218
cpu/simplify.inc
@@ -1,218 +0,0 @@
|
||||
; Collection of macros, for GNU Binutils .cpu files. -*- Scheme -*-
|
||||
;
|
||||
; Copyright 2000, 2007, 2009 Free Software Foundation, Inc.
|
||||
;
|
||||
; Contributed by Red Hat Inc.
|
||||
;
|
||||
; This file is part of the GNU Binutils.
|
||||
;
|
||||
; 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 3 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.
|
||||
|
||||
; Enums.
|
||||
|
||||
; Define a normal enum without using name/value pairs.
|
||||
; This is currently the same as define-full-enum but it needn't remain
|
||||
; that way (it's define-full-enum that would change).
|
||||
|
||||
(define-pmacro (define-normal-enum name comment attrs prefix vals)
|
||||
"Define a normal enum, fixed number of arguments."
|
||||
(define-full-enum name comment attrs prefix vals)
|
||||
)
|
||||
|
||||
; Define a normal insn enum.
|
||||
|
||||
(define-pmacro (define-normal-insn-enum name comment attrs prefix fld vals)
|
||||
"Define a normal instruction opcode enum."
|
||||
(define-full-insn-enum name comment attrs prefix fld vals)
|
||||
)
|
||||
|
||||
; Instruction fields.
|
||||
|
||||
; Normally, fields are unsigned and have no encode/decode needs.
|
||||
|
||||
(define-pmacro (define-normal-ifield name comment attrs start length)
|
||||
"Define a normal instruction field."
|
||||
(define-full-ifield name comment attrs start length UINT #f #f)
|
||||
)
|
||||
|
||||
; For those who don't like typing.
|
||||
|
||||
(define-pmacro (df name comment attrs start length mode encode decode)
|
||||
"Shorthand form of normal fields requiring mode, encode/decode."
|
||||
(define-full-ifield name comment attrs start length mode encode decode)
|
||||
)
|
||||
(define-pmacro dnf
|
||||
"Shorthand form of define-normal-ifield."
|
||||
define-normal-ifield
|
||||
)
|
||||
|
||||
; Define a normal multi-ifield.
|
||||
|
||||
(define-pmacro (define-normal-multi-ifield name comment attrs
|
||||
mode subflds insert extract)
|
||||
"Define a normal multi-part instruction field."
|
||||
(define-full-multi-ifield name comment attrs mode subflds insert extract)
|
||||
)
|
||||
|
||||
; For those who don't like typing.
|
||||
|
||||
(define-pmacro dnmf
|
||||
"Shorthand form of define-normal-multi-ifield."
|
||||
define-normal-multi-ifield
|
||||
)
|
||||
|
||||
; Simple multi-ifields: mode is UINT, default insert/extract support,
|
||||
; default encode/decode support.
|
||||
|
||||
(define-pmacro (dsmf name comment attrs subflds)
|
||||
"Define a simple multi-part instruction field."
|
||||
(define-full-multi-ifield name comment attrs UINT subflds #f #f)
|
||||
)
|
||||
|
||||
; Hardware.
|
||||
|
||||
; Simpler version for most hardware elements.
|
||||
; Allow special assembler support specification but no semantic-name,
|
||||
; getter/setter, or layout specs.
|
||||
|
||||
(define-pmacro (define-normal-hardware name comment attrs type
|
||||
indices values handlers)
|
||||
"Define a normal hardware element."
|
||||
(define-full-hardware name comment attrs name type
|
||||
indices values handlers () () ())
|
||||
)
|
||||
|
||||
; For those who don't like typing.
|
||||
|
||||
(define-pmacro dnh
|
||||
"Shorthand form of define-normal-hardware."
|
||||
define-normal-hardware
|
||||
)
|
||||
|
||||
; Simpler version of dnh that leaves out the indices, values, handlers,
|
||||
; getter/setter, and layout specs.
|
||||
; This is useful for 1 bit registers.
|
||||
; ??? While dsh and dnh aren't that distinguishable when perusing a .cpu file,
|
||||
; they both take a fixed number of positional arguments, and dsh is a proper
|
||||
; subset of dnh with all arguments in the same positions, so methinks things
|
||||
; are ok.
|
||||
|
||||
(define-pmacro (define-simple-hardware name comment attrs type)
|
||||
"Define a simple hardware element (usually a scalar register)."
|
||||
(define-full-hardware name comment attrs name type () () () () () ())
|
||||
)
|
||||
|
||||
(define-pmacro dsh
|
||||
"Shorthand form of define-simple-hardware."
|
||||
define-simple-hardware
|
||||
)
|
||||
|
||||
; Operands.
|
||||
|
||||
; Simpler version for most operands.
|
||||
; Allow special assembler support specification but no handlers or
|
||||
; getter/setter specs.
|
||||
|
||||
(define-pmacro (define-normal-operand name comment attrs type index)
|
||||
"Define a normal operand."
|
||||
(define-full-operand name comment attrs type DFLT index () () ())
|
||||
)
|
||||
|
||||
; For those who don't like typing.
|
||||
|
||||
(define-pmacro dno
|
||||
"Shorthand form of define-normal-operand."
|
||||
define-normal-operand
|
||||
)
|
||||
|
||||
; Deprecated, but still in wide use.
|
||||
|
||||
(define-pmacro dnop
|
||||
"Shorthand form of define-normal-operand."
|
||||
define-normal-operand
|
||||
)
|
||||
|
||||
(define-pmacro (dndo x-name x-mode x-args
|
||||
x-syntax x-base-ifield x-encoding x-ifield-assertion
|
||||
x-getter x-setter)
|
||||
"Define a normal derived operand."
|
||||
(define-derived-operand
|
||||
(name x-name)
|
||||
(mode x-mode)
|
||||
(args x-args)
|
||||
(syntax x-syntax)
|
||||
(base-ifield x-base-ifield)
|
||||
(encoding x-encoding)
|
||||
(ifield-assertion x-ifield-assertion)
|
||||
(getter x-getter)
|
||||
(setter x-setter)
|
||||
)
|
||||
)
|
||||
|
||||
; Instructions.
|
||||
|
||||
; Define an instruction object, normal version.
|
||||
; At present all fields must be specified.
|
||||
; Fields ifield-assertion is absent.
|
||||
|
||||
(define-pmacro (define-normal-insn name comment attrs syntax fmt semantics timing)
|
||||
"Define a normal instruction."
|
||||
(define-full-insn name comment attrs syntax fmt () semantics timing)
|
||||
)
|
||||
|
||||
; To reduce the amount of typing.
|
||||
; Note that this is the same name as the D'ni in MYST. Oooohhhh.....
|
||||
; this must be the right way to go. :-)
|
||||
|
||||
(define-pmacro dni
|
||||
"Shorthand form of define-normal-insn."
|
||||
define-normal-insn
|
||||
)
|
||||
|
||||
; Macro instructions.
|
||||
|
||||
; Define a macro-insn object, normal version.
|
||||
; This only supports expanding to one real insn.
|
||||
|
||||
(define-pmacro (define-normal-macro-insn name comment attrs syntax expansion)
|
||||
"Define a normal macro instruction."
|
||||
(define-full-minsn name comment attrs syntax expansion)
|
||||
)
|
||||
|
||||
; To reduce the amount of typing.
|
||||
|
||||
(define-pmacro dnmi
|
||||
"Shorthand form of define-normal-macro-insn."
|
||||
define-normal-macro-insn
|
||||
)
|
||||
|
||||
; Modes.
|
||||
; ??? Not currently available for use.
|
||||
;
|
||||
; Define Normal Mode
|
||||
;
|
||||
;(define-pmacro (define-normal-mode name comment attrs bits bytes
|
||||
; non-mode-c-type printf-type sem-mode ptr-to host?)
|
||||
; "Define a normal mode.\n"
|
||||
; (define-full-mode name comment attrs bits bytes
|
||||
; non-mode-c-type printf-type sem-mode ptr-to host?)
|
||||
;)
|
||||
;
|
||||
; For those who don't like typing.
|
||||
;(define-pmacro dnm
|
||||
; "Shorthand form of define-normal-mode.\n"
|
||||
; define-normal-mode
|
||||
;)
|
||||
3146
cpu/xc16x.cpu
3146
cpu/xc16x.cpu
File diff suppressed because it is too large
Load Diff
290
cpu/xc16x.opc
290
cpu/xc16x.opc
@@ -1,290 +0,0 @@
|
||||
/* XC16X opcode support. -*- C -*-
|
||||
|
||||
Copyright 2006, 2007, 2009 Free Software Foundation, Inc.
|
||||
|
||||
Contributed by KPIT Cummins Infosystems Ltd.; developed under contract
|
||||
from Infineon Systems, GMBH , Germany.
|
||||
|
||||
This file is part of the GNU Binutils.
|
||||
|
||||
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 3 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, 51 Franklin Street - Fifth Floor, Boston, MA
|
||||
02110-1301, USA. */
|
||||
|
||||
|
||||
/* This file is an addendum to xc16x.cpu. Heavy use of C code isn't
|
||||
appropriate in .cpu files, so it resides here. This especially applies
|
||||
to assembly/disassembly where parsing/printing can be quite involved.
|
||||
Such things aren't really part of the specification of the cpu, per se,
|
||||
so .cpu files provide the general framework and .opc files handle the
|
||||
nitty-gritty details as necessary.
|
||||
|
||||
Each section is delimited with start and end markers.
|
||||
|
||||
<arch>-opc.h additions use: "-- opc.h"
|
||||
<arch>-opc.c additions use: "-- opc.c"
|
||||
<arch>-asm.c additions use: "-- asm.c"
|
||||
<arch>-dis.c additions use: "-- dis.c"
|
||||
<arch>-ibd.h additions use: "-- ibd.h" */
|
||||
|
||||
/* -- opc.h */
|
||||
|
||||
#define CGEN_DIS_HASH_SIZE 8
|
||||
#define CGEN_DIS_HASH(buf,value) (((* (unsigned char*) (buf)) >> 3) % CGEN_DIS_HASH_SIZE)
|
||||
|
||||
/* -- */
|
||||
|
||||
/* -- opc.c */
|
||||
|
||||
/* -- */
|
||||
|
||||
/* -- asm.c */
|
||||
/* Handle '#' prefixes (i.e. skip over them). */
|
||||
|
||||
static const char *
|
||||
parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
const char **strp,
|
||||
int opindex ATTRIBUTE_UNUSED,
|
||||
long *valuep ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if (**strp == '#')
|
||||
{
|
||||
++*strp;
|
||||
return NULL;
|
||||
}
|
||||
return _("Missing '#' prefix");
|
||||
}
|
||||
|
||||
/* Handle '.' prefixes (i.e. skip over them). */
|
||||
|
||||
static const char *
|
||||
parse_dot (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
const char **strp,
|
||||
int opindex ATTRIBUTE_UNUSED,
|
||||
long *valuep ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if (**strp == '.')
|
||||
{
|
||||
++*strp;
|
||||
return NULL;
|
||||
}
|
||||
return _("Missing '.' prefix");
|
||||
}
|
||||
|
||||
/* Handle 'pof:' prefixes (i.e. skip over them). */
|
||||
|
||||
static const char *
|
||||
parse_pof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
const char **strp,
|
||||
int opindex ATTRIBUTE_UNUSED,
|
||||
long *valuep ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if (strncasecmp (*strp, "pof:", 4) == 0)
|
||||
{
|
||||
*strp += 4;
|
||||
return NULL;
|
||||
}
|
||||
return _("Missing 'pof:' prefix");
|
||||
}
|
||||
|
||||
/* Handle 'pag:' prefixes (i.e. skip over them). */
|
||||
|
||||
static const char *
|
||||
parse_pag (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
const char **strp,
|
||||
int opindex ATTRIBUTE_UNUSED,
|
||||
long *valuep ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if (strncasecmp (*strp, "pag:", 4) == 0)
|
||||
{
|
||||
*strp += 4;
|
||||
return NULL;
|
||||
}
|
||||
return _("Missing 'pag:' prefix");
|
||||
}
|
||||
|
||||
/* Handle 'sof' prefixes (i.e. skip over them). */
|
||||
|
||||
static const char *
|
||||
parse_sof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
const char **strp,
|
||||
int opindex ATTRIBUTE_UNUSED,
|
||||
long *valuep ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if (strncasecmp (*strp, "sof:", 4) == 0)
|
||||
{
|
||||
*strp += 4;
|
||||
return NULL;
|
||||
}
|
||||
return _("Missing 'sof:' prefix");
|
||||
}
|
||||
|
||||
/* Handle 'seg' prefixes (i.e. skip over them). */
|
||||
|
||||
static const char *
|
||||
parse_seg (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
const char **strp,
|
||||
int opindex ATTRIBUTE_UNUSED,
|
||||
long *valuep ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if (strncasecmp (*strp, "seg:", 4) == 0)
|
||||
{
|
||||
*strp += 4;
|
||||
return NULL;
|
||||
}
|
||||
return _("Missing 'seg:' prefix");
|
||||
}
|
||||
/* -- */
|
||||
|
||||
/* -- dis.c */
|
||||
|
||||
/* Print an operand with a "." prefix.
|
||||
NOTE: This prints the operand in hex.
|
||||
??? This exists to maintain disassembler compatibility with previous
|
||||
versions. Ideally we'd print the "." in print_dot. */
|
||||
|
||||
static void
|
||||
print_with_dot_prefix (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info,
|
||||
long value,
|
||||
unsigned attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
disassemble_info *info = (disassemble_info *) dis_info;
|
||||
|
||||
info->fprintf_func (info->stream, ".");
|
||||
info->fprintf_func (info->stream, "0x%lx", value);
|
||||
}
|
||||
|
||||
/* Print an operand with a "#pof:" prefix.
|
||||
NOTE: This prints the operand as an address.
|
||||
??? This exists to maintain disassembler compatibility with previous
|
||||
versions. Ideally we'd print "#pof:" in print_pof. */
|
||||
|
||||
static void
|
||||
print_with_pof_prefix (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info,
|
||||
bfd_vma value,
|
||||
unsigned attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
disassemble_info *info = (disassemble_info *) dis_info;
|
||||
|
||||
info->fprintf_func (info->stream, "#pof:");
|
||||
info->fprintf_func (info->stream, "0x%lx", (long) value);
|
||||
}
|
||||
|
||||
/* Print an operand with a "#pag:" prefix.
|
||||
NOTE: This prints the operand in hex.
|
||||
??? This exists to maintain disassembler compatibility with previous
|
||||
versions. Ideally we'd print "#pag:" in print_pag. */
|
||||
|
||||
static void
|
||||
print_with_pag_prefix (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info,
|
||||
long value,
|
||||
unsigned attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
disassemble_info *info = (disassemble_info *) dis_info;
|
||||
|
||||
info->fprintf_func (info->stream, "#pag:");
|
||||
info->fprintf_func (info->stream, "0x%lx", value);
|
||||
}
|
||||
|
||||
/* Print a 'pof:' prefix to an operand. */
|
||||
|
||||
static void
|
||||
print_pof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info ATTRIBUTE_UNUSED,
|
||||
long value ATTRIBUTE_UNUSED,
|
||||
unsigned int attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
}
|
||||
|
||||
/* Print a 'pag:' prefix to an operand. */
|
||||
|
||||
static void
|
||||
print_pag (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info ATTRIBUTE_UNUSED,
|
||||
long value ATTRIBUTE_UNUSED,
|
||||
unsigned int attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
}
|
||||
|
||||
/* Print a 'sof:' prefix to an operand. */
|
||||
|
||||
static void
|
||||
print_sof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info,
|
||||
long value ATTRIBUTE_UNUSED,
|
||||
unsigned int attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
disassemble_info *info = (disassemble_info *) dis_info;
|
||||
|
||||
info->fprintf_func (info->stream, "sof:");
|
||||
}
|
||||
|
||||
/* Print a 'seg:' prefix to an operand. */
|
||||
|
||||
static void
|
||||
print_seg (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info,
|
||||
long value ATTRIBUTE_UNUSED,
|
||||
unsigned int attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
disassemble_info *info = (disassemble_info *) dis_info;
|
||||
|
||||
info->fprintf_func (info->stream, "seg:");
|
||||
}
|
||||
|
||||
/* Print a '#' prefix to an operand. */
|
||||
|
||||
static void
|
||||
print_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info,
|
||||
long value ATTRIBUTE_UNUSED,
|
||||
unsigned int attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
disassemble_info *info = (disassemble_info *) dis_info;
|
||||
|
||||
info->fprintf_func (info->stream, "#");
|
||||
}
|
||||
|
||||
/* Print a '.' prefix to an operand. */
|
||||
|
||||
static void
|
||||
print_dot (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
|
||||
void * dis_info ATTRIBUTE_UNUSED,
|
||||
long value ATTRIBUTE_UNUSED,
|
||||
unsigned int attrs ATTRIBUTE_UNUSED,
|
||||
bfd_vma pc ATTRIBUTE_UNUSED,
|
||||
int length ATTRIBUTE_UNUSED)
|
||||
{
|
||||
}
|
||||
|
||||
/* -- */
|
||||
175
depcomp
175
depcomp
@@ -1,10 +1,9 @@
|
||||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2009-04-28.21; # UTC
|
||||
scriptversion=2005-05-16.16
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
|
||||
# Software Foundation, Inc.
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
# 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
|
||||
@@ -17,7 +16,9 @@ scriptversion=2009-04-28.21; # UTC
|
||||
# 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, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
@@ -85,34 +86,12 @@ if test "$depmode" = dashXmstdout; then
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
cygpath_u="cygpath -u -f -"
|
||||
if test "$depmode" = msvcmsys; then
|
||||
# This is just like msvisualcpp but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u="sed s,\\\\\\\\,/,g"
|
||||
depmode=msvisualcpp
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||
## the command line argument order; so add the flags where they
|
||||
## appear in depend2.am. Note that the slowdown incurred here
|
||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||
*) set fnord "$@" "$arg" ;;
|
||||
esac
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
done
|
||||
"$@"
|
||||
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
@@ -199,14 +178,14 @@ sgi)
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||
tr '
|
||||
' ' ' >> "$depfile"
|
||||
echo >> "$depfile"
|
||||
' ' ' >> $depfile
|
||||
echo >> $depfile
|
||||
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> "$depfile"
|
||||
>> $depfile
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
@@ -222,39 +201,34 @@ aix)
|
||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
|
||||
tmpdepfile="$stripped.u"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$base.u
|
||||
tmpdepfile3=$dir.libs/$base.u
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$dir$base.u
|
||||
tmpdepfile3=$dir$base.u
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
|
||||
if test -f "$tmpdepfile"; then :
|
||||
else
|
||||
stripped=`echo "$stripped" | sed 's,^.*/,,'`
|
||||
tmpdepfile="$stripped.u"
|
||||
fi
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
outname="$stripped.o"
|
||||
# Each line is of the form `foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
@@ -302,49 +276,27 @@ icc)
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp2)
|
||||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||
# compilers, which have integrated preprocessors. The correct option
|
||||
# to use with these is +Maked; it writes dependencies to a file named
|
||||
ia64hp)
|
||||
# The "hp" stanza above does not work with HP's ia64 compilers,
|
||||
# which have integrated preprocessors. The correct option to use
|
||||
# with these is +Maked; it writes dependencies to a file named
|
||||
# 'foo.d', which lands next to the object file, wherever that
|
||||
# happens to be.
|
||||
# Much of this is similar to the tru64 case; see comments there.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir.libs/$base.d
|
||||
"$@" -Wc,+Maked
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
"$@" +Maked
|
||||
fi
|
||||
tmpdepfile=`echo "$object" | sed -e 's/\.o$/.d/'`
|
||||
"$@" +Maked
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add `dependent.h:' lines.
|
||||
sed -ne '2,${
|
||||
s/^ *//
|
||||
s/ \\*$//
|
||||
s/$/:/
|
||||
p
|
||||
}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||
# The object file name is correct already.
|
||||
cat "$tmpdepfile" > "$depfile"
|
||||
# Add `dependent.h:' lines.
|
||||
sed -ne '2,${; s/^ //; s/ \\*$//; s/$/:/; p; }' "$tmpdepfile" >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
@@ -359,13 +311,13 @@ tru64)
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# With Tru64 cc, shared objects can also be used to make a
|
||||
# static library. This mechanism is used in libtool 1.4 series to
|
||||
# static library. This mecanism is used in libtool 1.4 series to
|
||||
# handle both shared and static libraries in a single compilation.
|
||||
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
||||
#
|
||||
# With libtool 1.5 this exception was removed, and libtool now
|
||||
# generates 2 separate objects for the 2 libraries. These two
|
||||
# compilations output dependencies in $dir.libs/$base.o.d and
|
||||
# compilations output dependencies in in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
@@ -416,7 +368,7 @@ dashmstdout)
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
@@ -467,39 +419,32 @@ makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no eat=no
|
||||
for arg
|
||||
do
|
||||
cleared=no
|
||||
for arg in "$@"; do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
if test $eat = yes; then
|
||||
eat=no
|
||||
continue
|
||||
fi
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-arch)
|
||||
eat=yes ;;
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix=`echo "$object" | sed 's/^.*\././'`
|
||||
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
@@ -519,7 +464,7 @@ cpp)
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
@@ -557,27 +502,13 @@ cpp)
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
# always write the preprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
@@ -590,23 +521,16 @@ msvisualcpp)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E 2>/dev/null |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||
"$@" -E |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||
echo " " >> "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvcmsys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
@@ -625,6 +549,5 @@ exit 0
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
||||
|
||||
@@ -1,31 +1,3 @@
|
||||
2010-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* Makefile.in (install-strip): New target.
|
||||
|
||||
2010-06-08 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* standards.texi: Import current version from gnustandards
|
||||
project.
|
||||
* gnu-oids.texi: New file.
|
||||
* fdl.texi: Replace with v1.3 text.
|
||||
|
||||
2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* Makefile.in (AUTOCONF, configure_deps): New variables.
|
||||
($(srcdir)/configure, config.status): New rules.
|
||||
(Makefile): Depend on config.status.
|
||||
* configure.in: Accept --enable-maintainer-mode, set and
|
||||
substitute MAINT accordingly.
|
||||
|
||||
2009-02-03 Carlos O'Donell <carlos@codesourcery.com>
|
||||
|
||||
* configure.in: AC_SUBST pdfdir.
|
||||
* configure: Regenerate.
|
||||
|
||||
2007-08-13 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* standards.texi: Import 22 July 2007 version.
|
||||
|
||||
@@ -64,7 +64,7 @@ PDFFILES = standards.pdf configure.pdf
|
||||
HTMLFILES = standards.html configure.html
|
||||
|
||||
all: info
|
||||
install install-strip: install-info
|
||||
install: install-info
|
||||
|
||||
uninstall:
|
||||
|
||||
@@ -228,19 +228,9 @@ maintainer-clean realclean: distclean
|
||||
rm -f *.html*
|
||||
rm -f *.info*
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag) \
|
||||
config.status
|
||||
Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag)
|
||||
$(SHELL) ./config.status
|
||||
|
||||
AUTOCONF = autoconf
|
||||
configure_deps = $(srcdir)/configure.in
|
||||
|
||||
$(srcdir)/configure: @MAINT@ $(configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
config.status: $(srcdir)/configure
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
## these last targets are for standards.texi conformance
|
||||
dist:
|
||||
check:
|
||||
|
||||
2955
etc/configure
vendored
2955
etc/configure
vendored
File diff suppressed because it is too large
Load Diff
@@ -4,24 +4,9 @@ AC_INIT(Makefile.in)
|
||||
|
||||
AC_PROG_INSTALL
|
||||
|
||||
# Command-line options.
|
||||
# Very limited version of AC_MAINTAINER_MODE.
|
||||
AC_ARG_ENABLE([maintainer-mode],
|
||||
[AC_HELP_STRING([--enable-maintainer-mode],
|
||||
[enable make rules and dependencies not useful (and
|
||||
sometimes confusing) to the casual installer])],
|
||||
[case ${enable_maintainer_mode} in
|
||||
yes) MAINT='' ;;
|
||||
no) MAINT='#' ;;
|
||||
*) AC_MSG_ERROR([--enable-maintainer-mode must be yes or no]) ;;
|
||||
esac
|
||||
maintainer_mode=${enableval}],
|
||||
[MAINT='#'])
|
||||
AC_SUBST([MAINT])dnl
|
||||
|
||||
AC_SUBST(datarootdir)
|
||||
AC_SUBST(docdir)
|
||||
AC_SUBST(htmldir)
|
||||
AC_SUBST(pdfdir)
|
||||
|
||||
|
||||
AC_OUTPUT(Makefile)
|
||||
|
||||
82
etc/fdl.texi
82
etc/fdl.texi
@@ -1,12 +1,12 @@
|
||||
@c The GNU Free Documentation License.
|
||||
@center Version 1.3, 3 November 2008
|
||||
@center Version 1.2, November 2002
|
||||
|
||||
@c This file is intended to be included within another document,
|
||||
@c hence no sectioning command or @node.
|
||||
@c hence no sectioning command or @node.
|
||||
|
||||
@display
|
||||
Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
|
||||
@uref{http://fsf.org/}
|
||||
Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
@@ -111,9 +111,6 @@ formats which do not have any title page as such, ``Title Page'' means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
|
||||
The ``publisher'' means any person or entity that distributes copies
|
||||
of the Document to the public.
|
||||
|
||||
A section ``Entitled XYZ'' means a named subunit of the Document whose
|
||||
title either is precisely XYZ or contains XYZ in parentheses following
|
||||
text that translates XYZ in another language. (Here XYZ stands for a
|
||||
@@ -382,30 +379,13 @@ title.
|
||||
@item
|
||||
TERMINATION
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense, or distribute it is void, and
|
||||
will automatically terminate your rights under this License.
|
||||
|
||||
However, if you cease all violation of this License, then your license
|
||||
from a particular copyright holder is reinstated (a) provisionally,
|
||||
unless and until the copyright holder explicitly and finally
|
||||
terminates your license, and (b) permanently, if the copyright holder
|
||||
fails to notify you of the violation by some reasonable means prior to
|
||||
60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, receipt of a copy of some or all of the same material does
|
||||
not give you any rights to use it.
|
||||
You may not copy, modify, sublicense, or distribute the Document except
|
||||
as expressly provided for under this License. Any other attempt to
|
||||
copy, modify, sublicense or distribute the Document is void, and will
|
||||
automatically terminate your rights under this License. However,
|
||||
parties who have received copies, or rights, from you under this
|
||||
License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
@item
|
||||
FUTURE REVISIONS OF THIS LICENSE
|
||||
@@ -423,42 +403,7 @@ following the terms and conditions either of that specified version or
|
||||
of any later version that has been published (not as a draft) by the
|
||||
Free Software Foundation. If the Document does not specify a version
|
||||
number of this License, you may choose any version ever published (not
|
||||
as a draft) by the Free Software Foundation. If the Document
|
||||
specifies that a proxy can decide which future versions of this
|
||||
License can be used, that proxy's public statement of acceptance of a
|
||||
version permanently authorizes you to choose that version for the
|
||||
Document.
|
||||
|
||||
@item
|
||||
RELICENSING
|
||||
|
||||
``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
|
||||
World Wide Web server that publishes copyrightable works and also
|
||||
provides prominent facilities for anybody to edit those works. A
|
||||
public wiki that anybody can edit is an example of such a server. A
|
||||
``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
|
||||
site means any set of copyrightable works thus published on the MMC
|
||||
site.
|
||||
|
||||
``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
|
||||
license published by Creative Commons Corporation, a not-for-profit
|
||||
corporation with a principal place of business in San Francisco,
|
||||
California, as well as future copyleft versions of that license
|
||||
published by that same organization.
|
||||
|
||||
``Incorporate'' means to publish or republish a Document, in whole or
|
||||
in part, as part of another Document.
|
||||
|
||||
An MMC is ``eligible for relicensing'' if it is licensed under this
|
||||
License, and if all works that were first published under this License
|
||||
somewhere other than this MMC, and subsequently incorporated in whole
|
||||
or in part into the MMC, (1) had no cover texts or invariant sections,
|
||||
and (2) were thus incorporated prior to November 1, 2008.
|
||||
|
||||
The operator of an MMC Site may republish an MMC contained in the site
|
||||
under CC-BY-SA on the same site at any time before August 1, 2009,
|
||||
provided the MMC is eligible for relicensing.
|
||||
|
||||
as a draft) by the Free Software Foundation.
|
||||
@end enumerate
|
||||
|
||||
@page
|
||||
@@ -472,7 +417,7 @@ license notices just after the title page:
|
||||
@group
|
||||
Copyright (C) @var{year} @var{your name}.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3
|
||||
under the terms of the GNU Free Documentation License, Version 1.2
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
Texts. A copy of the license is included in the section entitled ``GNU
|
||||
@@ -503,3 +448,4 @@ to permit their use in free software.
|
||||
@c Local Variables:
|
||||
@c ispell-local-pdict: "ispell-dict"
|
||||
@c End:
|
||||
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
@c This table of OID's is included in the GNU Coding Standards.
|
||||
@c
|
||||
@c Copyright 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
@c
|
||||
@c Copying and distribution of this file, with or without modification,
|
||||
@c are permitted in any medium without royalty provided the copyright
|
||||
@c notice and this notice are preserved.
|
||||
@c
|
||||
@c When adding new OIDs, please add them also to
|
||||
@c http://www.alvestrand.no/objectid/ (except it gets an internal
|
||||
@c server error, so never mind)
|
||||
@c (Our page is http://www.alvestrand.no/objectid/1.3.6.1.4.1.11591.html.)
|
||||
|
||||
1.3.6.1.4.1.11591 GNU
|
||||
|
||||
1.3.6.1.4.1.11591.1 GNU Radius
|
||||
|
||||
1.3.6.1.4.1.11591.2 GnuPG
|
||||
1.3.6.1.4.1.11591.2.1 notation
|
||||
1.3.6.1.4.1.11591.2.1.1 pkaAddress
|
||||
|
||||
1.3.6.1.4.1.11591.3 GNU Radar
|
||||
|
||||
1.3.6.1.4.1.11591.4 GNU GSS
|
||||
|
||||
@c Added 2008-10-24 on request from Sergey Poznyakoff <gray@gnu.org.ua>
|
||||
1.3.6.1.4.1.11591.5 GNU Mailutils
|
||||
|
||||
@c Added 2009-03-03 on request from Simon Josefsson <simon@josefsson.org>
|
||||
1.3.6.1.4.1.11591.6 GNU Shishi
|
||||
|
||||
@c Added 2010-05-17 on request from Eric Blossom <eb@comsec.com>
|
||||
1.3.6.1.4.1.11591.7 GNU Radio
|
||||
|
||||
1.3.6.1.4.1.11591.12 digestAlgorithm
|
||||
1.3.6.1.4.1.11591.12.2 TIGER/192
|
||||
1.3.6.1.4.1.11591.13 encryptionAlgorithm
|
||||
1.3.6.1.4.1.11591.13.2 Serpent
|
||||
1.3.6.1.4.1.11591.13.2.1 Serpent-128-ECB
|
||||
1.3.6.1.4.1.11591.13.2.2 Serpent-128-CBC
|
||||
1.3.6.1.4.1.11591.13.2.3 Serpent-128-OFB
|
||||
1.3.6.1.4.1.11591.13.2.4 Serpent-128-CFB
|
||||
1.3.6.1.4.1.11591.13.2.21 Serpent-192-ECB
|
||||
1.3.6.1.4.1.11591.13.2.22 Serpent-192-CBC
|
||||
1.3.6.1.4.1.11591.13.2.23 Serpent-192-OFB
|
||||
1.3.6.1.4.1.11591.13.2.24 Serpent-192-CFB
|
||||
1.3.6.1.4.1.11591.13.2.41 Serpent-256-ECB
|
||||
1.3.6.1.4.1.11591.13.2.42 Serpent-256-CBC
|
||||
1.3.6.1.4.1.11591.13.2.43 Serpent-256-OFB
|
||||
1.3.6.1.4.1.11591.13.2.44 Serpent-256-CFB
|
||||
1.3.6.1.4.1.11591.14 CRC algorithms
|
||||
1.3.6.1.4.1.11591.14.1 CRC 32
|
||||
@@ -3,12 +3,12 @@
|
||||
@setfilename standards.info
|
||||
@settitle GNU Coding Standards
|
||||
@c This date is automagically updated when you save this file:
|
||||
@set lastupdate April 12, 2010
|
||||
@set lastupdate July 22, 2007
|
||||
@c %**end of header
|
||||
|
||||
@dircategory GNU organization
|
||||
@direntry
|
||||
* Standards: (standards). GNU coding standards.
|
||||
* Standards: (standards). GNU coding standards.
|
||||
@end direntry
|
||||
|
||||
@c @setchapternewpage odd
|
||||
@@ -22,20 +22,27 @@
|
||||
|
||||
@c This is used by a cross ref in make-stds.texi
|
||||
@set CODESTD 1
|
||||
@iftex
|
||||
@set CHAPTER chapter
|
||||
@end iftex
|
||||
@ifinfo
|
||||
@set CHAPTER node
|
||||
@end ifinfo
|
||||
|
||||
@copying
|
||||
The GNU coding standards, last updated @value{lastupdate}.
|
||||
|
||||
Copyright @copyright{} 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
|
||||
Foundation, Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
any later version published by the Free Software Foundation; with no
|
||||
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
|
||||
Texts. A copy of the license is included in the section entitled
|
||||
``GNU Free Documentation License''.
|
||||
under the terms of the GNU Free Documentation License, Version 1.2
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, with no
|
||||
Front-Cover Texts, and with no Back-Cover Texts.
|
||||
A copy of the license is included in the section entitled ``GNU
|
||||
Free Documentation License''.
|
||||
@end copying
|
||||
|
||||
@titlepage
|
||||
@@ -81,6 +88,9 @@ programs written in C, but many of the rules and principles are useful
|
||||
even if you write in another programming language. The rules often
|
||||
state reasons for writing in a certain way.
|
||||
|
||||
This release of the GNU Coding Standards was last updated
|
||||
@value{lastupdate}.
|
||||
|
||||
@cindex where to obtain @code{standards.texi}
|
||||
@cindex downloading this manual
|
||||
If you did not obtain this file directly from the GNU project and
|
||||
@@ -89,29 +99,11 @@ Coding Standards from the GNU web server in many
|
||||
different formats, including the Texinfo source, PDF, HTML, DVI, plain
|
||||
text, and more, at: @uref{http://www.gnu.org/prep/standards/}.
|
||||
|
||||
If you are maintaining an official GNU package, in addition to this
|
||||
document, please read and follow the GNU maintainer information
|
||||
(@pxref{Top, , Contents, maintain, Information for Maintainers of GNU
|
||||
Software}).
|
||||
|
||||
@cindex @code{gnustandards-commit@@gnu.org} mailing list
|
||||
If you want to receive diffs for every change to these GNU documents,
|
||||
join the mailing list @code{gnustandards-commit@@gnu.org}, via the web
|
||||
interface at
|
||||
@url{http://lists.gnu.org/mailman/listinfo/gnustandards-commit}.
|
||||
Archives are also available there.
|
||||
|
||||
@cindex @code{bug-standards@@gnu.org} email address
|
||||
@cindex Savannah repository for gnustandards
|
||||
@cindex gnustandards project repository
|
||||
Please send corrections or suggestions for this document to
|
||||
@email{bug-standards@@gnu.org}. If you make a suggestion, please
|
||||
include a suggested new wording for it, to help us consider the
|
||||
suggestion efficiently. We prefer a context diff to the Texinfo
|
||||
source, but if that's difficult for you, you can make a context diff
|
||||
for some other version of this document, or propose it in any way that
|
||||
makes it clear. The source repository for this document can be found
|
||||
at @url{http://savannah.gnu.org/projects/gnustandards}.
|
||||
Corrections or suggestions for this document should be sent to
|
||||
@email{bug-standards@@gnu.org}. If you make a suggestion, please include a
|
||||
suggested new wording for it; our time is limited. We prefer a context
|
||||
diff to the @file{standards.texi} or @file{make-stds.texi} files, but if
|
||||
you don't have those files, please mail your suggestion anyway.
|
||||
|
||||
These standards cover the minimum of what is important when writing a
|
||||
GNU package. Likely, the need for additional standards will come up.
|
||||
@@ -129,10 +121,6 @@ The GNU Hello program serves as an example of how to follow the GNU
|
||||
coding standards for a trivial program.
|
||||
@uref{http://www.gnu.org/software/hello/hello.html}.
|
||||
|
||||
This release of the GNU Coding Standards was last updated
|
||||
@value{lastupdate}.
|
||||
|
||||
|
||||
@node Legal Issues
|
||||
@chapter Keeping Free Software Free
|
||||
@cindex legal aspects
|
||||
@@ -323,17 +311,13 @@ for a language that is higher level than C. Often much of the program
|
||||
is written in that language, too. The Emacs editor pioneered this
|
||||
technique.
|
||||
|
||||
@cindex Guile
|
||||
@cindex GNOME and Guile
|
||||
The standard extensibility interpreter for GNU software is Guile
|
||||
(@uref{http://www.gnu.org/@/software/@/guile/}), which implements the
|
||||
language Scheme (an especially clean and simple dialect of Lisp).
|
||||
Guile also includes bindings for GTK+/GNOME, making it practical to
|
||||
write modern GUI functionality within Guile. We don't reject programs
|
||||
written in other ``scripting languages'' such as Perl and Python, but
|
||||
using Guile is very important for the overall consistency of the GNU
|
||||
system.
|
||||
|
||||
@cindex GUILE
|
||||
The standard extensibility interpreter for GNU software is GUILE
|
||||
(@uref{http://www.gnu.org/software/guile/}), which implements the
|
||||
language Scheme (an especially clean and simple dialect of Lisp). We
|
||||
don't reject programs written in other ``scripting languages'' such as
|
||||
Perl and Python, but using GUILE is very important for the overall
|
||||
consistency of the GNU system.
|
||||
|
||||
@node Compatibility
|
||||
@section Compatibility with Other Implementations
|
||||
@@ -515,7 +499,7 @@ and is not always appropriate, following this policy would have saved
|
||||
GCC developers many hours, or even days, per year.
|
||||
|
||||
In the case of function-like macros like @code{REVERSIBLE_CC_MODE} in
|
||||
GCC which cannot be simply used in @code{if (...)} statements, there is
|
||||
GCC which cannot be simply used in @code{if( ...)} statements, there is
|
||||
an easy workaround. Simply introduce another macro
|
||||
@code{HAS_REVERSIBLE_CC_MODE} as in the following example:
|
||||
|
||||
@@ -544,7 +528,6 @@ command line interface, and how libraries should behave.
|
||||
* Graphical Interfaces:: Standards for graphical interfaces.
|
||||
* Command-Line Interfaces:: Standards for command line interfaces.
|
||||
* Option Table:: Table of long options.
|
||||
* OID Allocations:: Table of OID slots for GNU.
|
||||
* Memory Usage:: When and how to care about memory needs.
|
||||
* File Usage:: Which files to use, and where.
|
||||
@end menu
|
||||
@@ -696,7 +679,7 @@ creating temporary files in world-writable directories. In C, you can
|
||||
avoid this problem by creating temporary files in this manner:
|
||||
|
||||
@example
|
||||
fd = open (filename, O_WRONLY | O_CREAT | O_EXCL, 0600);
|
||||
fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, 0600);
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
@@ -855,32 +838,25 @@ multi-column format.
|
||||
@node Graphical Interfaces
|
||||
@section Standards for Graphical Interfaces
|
||||
@cindex graphical user interface
|
||||
@cindex interface styles
|
||||
@cindex user interface styles
|
||||
|
||||
@cindex GTK+
|
||||
@cindex gtk+
|
||||
When you write a program that provides a graphical user interface,
|
||||
please make it work with the X Window System and the GTK+ toolkit
|
||||
unless the functionality specifically requires some alternative (for
|
||||
example, ``displaying jpeg images while in console mode'').
|
||||
please make it work with X Windows and the GTK+ toolkit unless the
|
||||
functionality specifically requires some alternative (for example,
|
||||
``displaying jpeg images while in console mode'').
|
||||
|
||||
In addition, please provide a command-line interface to control the
|
||||
functionality. (In many cases, the graphical user interface can be a
|
||||
separate program which invokes the command-line program.) This is
|
||||
so that the same jobs can be done from scripts.
|
||||
|
||||
@cindex CORBA
|
||||
@cindex GNOME
|
||||
@cindex D-bus
|
||||
@cindex keyboard interface
|
||||
@cindex library interface
|
||||
Please also consider providing a D-bus interface for use from other
|
||||
running programs, such as within GNOME. (GNOME used to use CORBA
|
||||
for this, but that is being phased out.) In addition, consider
|
||||
providing a library interface (for use from C), and perhaps a
|
||||
keyboard-driven console interface (for use by users from console
|
||||
mode). Once you are doing the work to provide the functionality and
|
||||
the graphical interface, these won't be much extra work.
|
||||
@cindex corba
|
||||
@cindex gnome
|
||||
Please also consider providing a CORBA interface (for use from GNOME), a
|
||||
library interface (for use from C), and perhaps a keyboard-driven
|
||||
console interface (for use by users from console mode). Once you are
|
||||
doing the work to provide the functionality and the graphical interface,
|
||||
these won't be much extra work.
|
||||
|
||||
|
||||
@node Command-Line Interfaces
|
||||
@@ -1043,57 +1019,60 @@ abbreviation as usual, as in the examples below.
|
||||
|
||||
@table @asis
|
||||
@item GPL
|
||||
GNU General Public License, @url{http://www.gnu.org/@/licenses/@/gpl.html}.
|
||||
GNU General Public License, @url{http://www.gnu.org/licenses/gpl.html}.
|
||||
|
||||
@item LGPL
|
||||
GNU Lesser General Public License, @url{http://www.gnu.org/@/licenses/@/lgpl.html}.
|
||||
GNU Lesser General Public License, @url{http://www.gnu.org/licenses/lgpl.html}.
|
||||
|
||||
@item GPL/Guile
|
||||
GNU GPL with the exception for Guile; for example, GPLv3+/Guile means
|
||||
the GNU GPL version 3 or later, with the extra exception for Guile.
|
||||
|
||||
@item GPL/Ada
|
||||
GNU GPL with the exception for Ada.
|
||||
|
||||
@item Apache
|
||||
The Apache Software Foundation license,
|
||||
@url{http://www.apache.org/@/licenses}.
|
||||
@url{http://www.apache.org/licenses}.
|
||||
|
||||
@item Artistic
|
||||
The Artistic license used for Perl, @url{http://www.perlfoundation.org/@/legal}.
|
||||
The Artistic license used for Perl, @url{http://www.perlfoundation.org/legal}.
|
||||
|
||||
@item Expat
|
||||
The Expat license, @url{http://www.jclark.com/@/xml/@/copying.txt}.
|
||||
The Expat license, @url{http://www.jclark.com/xml/copying.txt}.
|
||||
|
||||
@item MPL
|
||||
The Mozilla Public License, @url{http://www.mozilla.org/@/MPL/}.
|
||||
The Mozilla Public License, @url{http://www.mozilla.org/MPL/}.
|
||||
|
||||
@item OBSD
|
||||
The original (4-clause) BSD license, incompatible with the GNU GPL
|
||||
@url{http://www.xfree86.org/@/3.3.6/@/COPYRIGHT2.html#6}.
|
||||
@url{http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6}.
|
||||
|
||||
@item PHP
|
||||
The license used for PHP, @url{http://www.php.net/@/license/}.
|
||||
The license used for PHP, @url{http://www.php.net/license/}.
|
||||
|
||||
@item public domain
|
||||
The non-license that is being in the public domain,
|
||||
@url{http://www.gnu.org/@/licenses/@/license-list.html#PublicDomain}.
|
||||
@url{http://www.gnu.org/licenses/license-list.html#PublicDomain}.
|
||||
|
||||
@item Python
|
||||
The license for Python, @url{http://www.python.org/@/2.0.1/@/license.html}.
|
||||
The license for Python, @url{http://www.python.org/2.0.1/license.html}.
|
||||
|
||||
@item RBSD
|
||||
The revised (3-clause) BSD, compatible with the GNU GPL,@*
|
||||
@url{http://www.xfree86.org/@/3.3.6/@/COPYRIGHT2.html#5}.
|
||||
The revised (3-clause) BSD, compatible with the GNU GPL,
|
||||
@url{http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5}.
|
||||
|
||||
@item X11
|
||||
The simple non-copyleft license used for most versions of the X Window
|
||||
System, @url{http://www.xfree86.org/@/3.3.6/@/COPYRIGHT2.html#3}.
|
||||
system, @url{http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3}.
|
||||
|
||||
@item Zlib
|
||||
The license for Zlib, @url{http://www.gzip.org/@/zlib/@/zlib_license.html}.
|
||||
The license for Zlib, @url{http://www.gzip.org/zlib/zlib_license.html}.
|
||||
|
||||
@end table
|
||||
|
||||
More information about these licenses and many more are on the GNU
|
||||
licensing web pages,
|
||||
@url{http://www.gnu.org/@/licenses/@/license-list.html}.
|
||||
@url{http://www.gnu.org/licenses/license-list.html}.
|
||||
|
||||
|
||||
@node --help
|
||||
@@ -1108,19 +1087,13 @@ is seen, and the program should not perform its normal function.
|
||||
|
||||
@cindex address for bug reports
|
||||
@cindex bug reports
|
||||
Near the end of the @samp{--help} option's output, please place lines
|
||||
giving the email address for bug reports, the package's home page
|
||||
(normally @indicateurl{http://www.gnu.org/software/@var{pkg}}, and the
|
||||
general page for help using GNU programs. The format should be like this:
|
||||
Near the end of the @samp{--help} option's output there should be a line
|
||||
that says where to mail bug reports. It should have this format:
|
||||
|
||||
@example
|
||||
Report bugs to: @var{mailing-address}
|
||||
@var{pkg} home page: <http://www.gnu.org/software/@var{pkg}/>
|
||||
General help using GNU software: <http://www.gnu.org/gethelp/>
|
||||
Report bugs to @var{mailing-address}.
|
||||
@end example
|
||||
|
||||
It is ok to mention other appropriate mailing lists and web pages.
|
||||
|
||||
|
||||
@node Option Table
|
||||
@section Table of Long Options
|
||||
@@ -1173,10 +1146,10 @@ and @code{unexpand}.
|
||||
@samp{-v} in @code{gawk}.
|
||||
|
||||
@item assume-new
|
||||
@samp{-W} in @code{make}.
|
||||
@samp{-W} in Make.
|
||||
|
||||
@item assume-old
|
||||
@samp{-o} in @code{make}.
|
||||
@samp{-o} in Make.
|
||||
|
||||
@item auto-check
|
||||
@samp{-a} in @code{recode}.
|
||||
@@ -1298,7 +1271,7 @@ Used in @code{tar} and @code{cpio}.
|
||||
@samp{-d} in @code{touch}.
|
||||
|
||||
@item debug
|
||||
@samp{-d} in @code{make} and @code{m4};
|
||||
@samp{-d} in Make and @code{m4};
|
||||
@samp{-t} in Bison.
|
||||
|
||||
@item define
|
||||
@@ -1345,7 +1318,7 @@ specially.
|
||||
@samp{-X} in @code{strip}.
|
||||
|
||||
@item dry-run
|
||||
@samp{-n} in @code{make}.
|
||||
@samp{-n} in Make.
|
||||
|
||||
@item ed
|
||||
@samp{-e} in @code{diff}.
|
||||
@@ -1363,7 +1336,7 @@ specially.
|
||||
@samp{-N} in @code{diff}.
|
||||
|
||||
@item environment-overrides
|
||||
@samp{-e} in @code{make}.
|
||||
@samp{-e} in Make.
|
||||
|
||||
@item eof
|
||||
@samp{-e} in @code{xargs}.
|
||||
@@ -1415,8 +1388,9 @@ Used in GDB.
|
||||
@samp{-E} in @code{m4}.
|
||||
|
||||
@item file
|
||||
@samp{-f} in @code{gawk}, @code{info}, @code{make}, @code{mt},
|
||||
@code{sed}, and @code{tar}.
|
||||
@samp{-f} in @code{info}, @code{gawk}, Make, @code{mt}, and @code{tar};
|
||||
@samp{-n} in @code{sed};
|
||||
@samp{-r} in @code{touch}.
|
||||
|
||||
@item field-separator
|
||||
@samp{-F} in @code{gawk}.
|
||||
@@ -1528,7 +1502,7 @@ In @code{makeinfo}, output HTML.
|
||||
@samp{-i} in @code{diff} and @code{wdiff}.
|
||||
|
||||
@item ignore-errors
|
||||
@samp{-i} in @code{make}.
|
||||
@samp{-i} in Make.
|
||||
|
||||
@item ignore-file
|
||||
@samp{-i} in @code{ptx}.
|
||||
@@ -1556,7 +1530,7 @@ In @code{makeinfo}, output HTML.
|
||||
@samp{-I} in @code{m4}.
|
||||
|
||||
@item include-dir
|
||||
@samp{-I} in @code{make}.
|
||||
@samp{-I} in Make.
|
||||
|
||||
@item incremental
|
||||
@samp{-G} in @code{tar}.
|
||||
@@ -1590,13 +1564,13 @@ init file.
|
||||
Used in @code{date}
|
||||
|
||||
@item jobs
|
||||
@samp{-j} in @code{make}.
|
||||
@samp{-j} in Make.
|
||||
|
||||
@item just-print
|
||||
@samp{-n} in @code{make}.
|
||||
@samp{-n} in Make.
|
||||
|
||||
@item keep-going
|
||||
@samp{-k} in @code{make}.
|
||||
@samp{-k} in Make.
|
||||
|
||||
@item keep-files
|
||||
@samp{-k} in @code{csplit}.
|
||||
@@ -1637,7 +1611,7 @@ Used in @code{gawk}.
|
||||
@samp{-N} in @code{ls}.
|
||||
|
||||
@item load-average
|
||||
@samp{-l} in @code{make}.
|
||||
@samp{-l} in Make.
|
||||
|
||||
@item login
|
||||
Used in @code{su}.
|
||||
@@ -1655,7 +1629,7 @@ Used in @code{uname}.
|
||||
@samp{-d} in @code{cpio}.
|
||||
|
||||
@item makefile
|
||||
@samp{-f} in @code{make}.
|
||||
@samp{-f} in Make.
|
||||
|
||||
@item mapped
|
||||
Used in GDB.
|
||||
@@ -1670,7 +1644,7 @@ Used in GDB.
|
||||
@samp{-l} in @code{xargs}.
|
||||
|
||||
@item max-load
|
||||
@samp{-l} in @code{make}.
|
||||
@samp{-l} in Make.
|
||||
|
||||
@item max-procs
|
||||
@samp{-P} in @code{xargs}.
|
||||
@@ -1706,10 +1680,10 @@ Used in GDB.
|
||||
@samp{-a} in @code{shar}.
|
||||
|
||||
@item new-file
|
||||
@samp{-W} in @code{make}.
|
||||
@samp{-W} in Make.
|
||||
|
||||
@item no-builtin-rules
|
||||
@samp{-r} in @code{make}.
|
||||
@samp{-r} in Make.
|
||||
|
||||
@item no-character-count
|
||||
@samp{-w} in @code{shar}.
|
||||
@@ -1736,7 +1710,7 @@ Used in GDB.
|
||||
@samp{-2} in @code{wdiff}.
|
||||
|
||||
@item no-keep-going
|
||||
@samp{-S} in @code{make}.
|
||||
@samp{-S} in Make.
|
||||
|
||||
@item no-lines
|
||||
@samp{-l} in Bison.
|
||||
@@ -1811,7 +1785,7 @@ Used in GDB.
|
||||
@samp{-o} in @code{tar}.
|
||||
|
||||
@item old-file
|
||||
@samp{-o} in @code{make}.
|
||||
@samp{-o} in Make.
|
||||
|
||||
@item one-file-system
|
||||
@samp{-l} in @code{tar}, @code{cp}, and @code{du}.
|
||||
@@ -1896,10 +1870,10 @@ Used in @code{tar} and @code{cp}.
|
||||
@samp{-L} in @code{cmp}.
|
||||
|
||||
@item print-data-base
|
||||
@samp{-p} in @code{make}.
|
||||
@samp{-p} in Make.
|
||||
|
||||
@item print-directory
|
||||
@samp{-w} in @code{make}.
|
||||
@samp{-w} in Make.
|
||||
|
||||
@item print-file-name
|
||||
@samp{-o} in @code{nm}.
|
||||
@@ -1920,7 +1894,7 @@ Specify an HTTP proxy.
|
||||
@samp{-X} in @code{shar}.
|
||||
|
||||
@item question
|
||||
@samp{-q} in @code{make}.
|
||||
@samp{-q} in Make.
|
||||
|
||||
@item quiet
|
||||
Used in many programs to inhibit the usual output. Every
|
||||
@@ -1946,7 +1920,7 @@ Used in @code{gawk}.
|
||||
Used in GDB.
|
||||
|
||||
@item recon
|
||||
@samp{-n} in @code{make}.
|
||||
@samp{-n} in Make.
|
||||
|
||||
@item record-number
|
||||
@samp{-R} in @code{tar}.
|
||||
@@ -1955,8 +1929,8 @@ Used in GDB.
|
||||
Used in @code{chgrp}, @code{chown}, @code{cp}, @code{ls}, @code{diff},
|
||||
and @code{rm}.
|
||||
|
||||
@item reference
|
||||
@samp{-r} in @code{touch}.
|
||||
@item reference-limit
|
||||
Used in @code{makeinfo}.
|
||||
|
||||
@item references
|
||||
@samp{-r} in @code{ptx}.
|
||||
@@ -2088,7 +2062,7 @@ a directory to start processing with.
|
||||
@samp{-S} in @code{shar}.
|
||||
|
||||
@item stop
|
||||
@samp{-S} in @code{make}.
|
||||
@samp{-S} in Make.
|
||||
|
||||
@item strict
|
||||
@samp{-s} in @code{recode}.
|
||||
@@ -2158,7 +2132,7 @@ Specify how long to wait before giving up on some operation.
|
||||
@samp{-c} in @code{du}.
|
||||
|
||||
@item touch
|
||||
@samp{-t} in @code{make}, @code{ranlib}, and @code{recode}.
|
||||
@samp{-t} in Make, @code{ranlib}, and @code{recode}.
|
||||
|
||||
@item trace
|
||||
@samp{-t} in @code{m4}.
|
||||
@@ -2223,7 +2197,7 @@ Print the version number.
|
||||
@samp{-V} in @code{tar}.
|
||||
|
||||
@item what-if
|
||||
@samp{-W} in @code{make}.
|
||||
@samp{-W} in Make.
|
||||
|
||||
@item whole-size-limit
|
||||
@samp{-l} in @code{shar}.
|
||||
@@ -2241,28 +2215,6 @@ Print the version number.
|
||||
@samp{-z} in @code{gprof}.
|
||||
@end table
|
||||
|
||||
@node OID Allocations
|
||||
@section OID Allocations
|
||||
@cindex OID allocations for GNU
|
||||
@cindex SNMP
|
||||
@cindex LDAP
|
||||
@cindex X.509
|
||||
|
||||
The OID (object identifier) 1.3.6.1.4.1.11591 has been assigned to the
|
||||
GNU Project (thanks to Werner Koch). These are used for SNMP, LDAP,
|
||||
X.509 certificates, and so on. The web site
|
||||
@url{http://www.alvestrand.no/objectid} has a (voluntary) listing of
|
||||
many OID assignments.
|
||||
|
||||
If you need a new slot for your GNU package, write
|
||||
@email{maintainers@@gnu.org}. Here is a list of arcs currently
|
||||
assigned:
|
||||
|
||||
@example
|
||||
@include gnu-oids.texi
|
||||
@end example
|
||||
|
||||
|
||||
@node Memory Usage
|
||||
@section Memory Usage
|
||||
@cindex memory usage
|
||||
@@ -2812,7 +2764,7 @@ If you do support Windows, please do not abbreviate it as ``win''. In
|
||||
hacker terminology, calling something a ``win'' is a form of praise.
|
||||
You're free to praise Microsoft Windows on your own if you want, but
|
||||
please don't do this in GNU packages. Instead of abbreviating
|
||||
``Windows'' to ``win'', you can write it in full or abbreviate it to
|
||||
``Windows'' to ``un'', you can write it in full or abbreviate it to
|
||||
``woe'' or ``w''. In GNU Emacs, for instance, we use @samp{w32} in
|
||||
file names of Windows-specific files, but the macro for Windows
|
||||
conditionals is called @code{WINDOWSNT}.
|
||||
@@ -2909,7 +2861,7 @@ void error (int status, int errnum, const char *format, ...);
|
||||
A simple way to use the Gnulib error module is to obtain the two
|
||||
source files @file{error.c} and @file{error.h} from the Gnulib library
|
||||
source code repository at
|
||||
@uref{http://git.savannah.gnu.org/@/gitweb/@/?p=gnulib.git}.
|
||||
@uref{http://savannah.gnu.org/cgi-bin/viewcvs/gnulib/gnulib/lib/}.
|
||||
Here's a sample use:
|
||||
|
||||
@example
|
||||
@@ -3540,7 +3492,7 @@ clear explanation of how the earlier version differed.
|
||||
|
||||
The change log file is normally called @file{ChangeLog} and covers an
|
||||
entire directory. Each directory can have its own change log, or a
|
||||
directory can use the change log of its parent directory---it's up to
|
||||
directory can use the change log of its parent directory--it's up to
|
||||
you.
|
||||
|
||||
Another alternative is to record change log information with a version
|
||||
@@ -3548,21 +3500,22 @@ control system such as RCS or CVS. This can be converted automatically
|
||||
to a @file{ChangeLog} file using @code{rcs2log}; in Emacs, the command
|
||||
@kbd{C-x v a} (@code{vc-update-change-log}) does the job.
|
||||
|
||||
There's no need to describe the full purpose of the changes or how
|
||||
they work together. However, sometimes it is useful to write one line
|
||||
to describe the overall purpose of a change or a batch of changes. If
|
||||
you think that a change calls for explanation, you're probably right.
|
||||
Please do explain it---but please put the full explanation in comments
|
||||
in the code, where people will see it whenever they see the code. For
|
||||
example, ``New function'' is enough for the change log when you add a
|
||||
function, because there should be a comment before the function
|
||||
definition to explain what it does.
|
||||
There's no need to describe the full purpose of the changes or how they
|
||||
work together. If you think that a change calls for explanation, you're
|
||||
probably right. Please do explain it---but please put the explanation
|
||||
in comments in the code, where people will see it whenever they see the
|
||||
code. For example, ``New function'' is enough for the change log when
|
||||
you add a function, because there should be a comment before the
|
||||
function definition to explain what it does.
|
||||
|
||||
In the past, we recommended not mentioning changes in non-software
|
||||
files (manuals, help files, etc.) in change logs. However, we've been
|
||||
advised that it is a good idea to include them, for the sake of
|
||||
copyright records.
|
||||
|
||||
However, sometimes it is useful to write one line to describe the
|
||||
overall purpose of a batch of changes.
|
||||
|
||||
The easiest way to add an entry to @file{ChangeLog} is with the Emacs
|
||||
command @kbd{M-x add-change-log-entry}. An entry should have an
|
||||
asterisk, the name of the changed file, and then in parentheses the name
|
||||
@@ -3763,10 +3716,15 @@ page explaining that you don't maintain it and that the Texinfo manual
|
||||
is more authoritative. The note should say how to access the Texinfo
|
||||
documentation.
|
||||
|
||||
Be sure that man pages include a copyright statement and free license.
|
||||
The simple all-permissive license is appropriate for simple man pages
|
||||
(@pxref{License Notices for Other Files,,,maintain,Information for GNU
|
||||
Maintainers}).
|
||||
Be sure that man pages include a copyright statement and free
|
||||
license. The simple all-permissive license is appropriate for simple
|
||||
man pages:
|
||||
|
||||
@example
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved.
|
||||
@end example
|
||||
|
||||
For long man pages, with enough explanation and documentation that
|
||||
they can be considered true manuals, use the GFDL (@pxref{License for
|
||||
@@ -3818,23 +3776,15 @@ all GNU software.
|
||||
Each GNU distribution should come with a shell script named
|
||||
@code{configure}. This script is given arguments which describe the
|
||||
kind of machine and system you want to compile the program for.
|
||||
|
||||
The @code{configure} script must record the configuration options so
|
||||
that they affect compilation.
|
||||
|
||||
The description here is the specification of the interface for the
|
||||
@code{configure} script in GNU packages. Many packages implement it
|
||||
using GNU Autoconf (@pxref{Top,, Introduction, autoconf, Autoconf})
|
||||
and/or GNU Automake (@pxref{Top,, Introduction, automake, Automake}),
|
||||
but you do not have to use these tools. You can implement it any way
|
||||
you like; for instance, by making @code{configure} be a wrapper around
|
||||
a completely different configuration system.
|
||||
|
||||
Another way for the @code{configure} script to operate is to make a
|
||||
link from a standard name such as @file{config.h} to the proper
|
||||
configuration file for the chosen system. If you use this technique,
|
||||
the distribution should @emph{not} contain a file named
|
||||
@file{config.h}. This is so that people won't be able to build the
|
||||
program without configuring it first.
|
||||
One way to do this is to make a link from a standard name such as
|
||||
@file{config.h} to the proper configuration file for the chosen system.
|
||||
If you use this technique, the distribution should @emph{not} contain a
|
||||
file named @file{config.h}. This is so that people won't be able to
|
||||
build the program without configuring it first.
|
||||
|
||||
Another thing that @code{configure} can do is to edit the Makefile. If
|
||||
you do this, the distribution should @emph{not} contain a file named
|
||||
@@ -3876,17 +3826,6 @@ refer explicitly to the specified source directory. To make this
|
||||
possible, @code{configure} can add to the Makefile a variable named
|
||||
@code{srcdir} whose value is precisely the specified directory.
|
||||
|
||||
In addition, the @samp{configure} script should take options
|
||||
corresponding to most of the standard directory variables
|
||||
(@pxref{Directory Variables}). Here is the list:
|
||||
|
||||
@example
|
||||
--prefix --exec-prefix --bindir --sbindir --libexecdir --sysconfdir
|
||||
--sharedstatedir --localstatedir --libdir --includedir --oldincludedir
|
||||
--datarootdir --datadir --infodir --localedir --mandir --docdir
|
||||
--htmldir --dvidir --pdfdir --psdir
|
||||
@end example
|
||||
|
||||
The @code{configure} script should also take an argument which specifies the
|
||||
type of system to build the program for. This argument should look like
|
||||
this:
|
||||
@@ -3902,7 +3841,7 @@ The @code{configure} script needs to be able to decode all plausible
|
||||
alternatives for how to describe a machine. Thus,
|
||||
@samp{athlon-pc-gnu/linux} would be a valid alias. There is a shell
|
||||
script called
|
||||
@uref{http://git.savannah.gnu.org/@/gitweb/@/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD,
|
||||
@uref{http://savannah.gnu.org/@/cgi-bin/@/viewcvs/@/*checkout*/@/config/@/config/@/config.sub,
|
||||
@file{config.sub}} that you can use as a subroutine to validate system
|
||||
types and canonicalize aliases.
|
||||
|
||||
@@ -3913,7 +3852,7 @@ plain @var{buildtype} argument. For example, @samp{configure
|
||||
i686-pc-linux-gnu}. When the build type is not specified by an option
|
||||
or argument, the @code{configure} script should normally guess it using
|
||||
the shell script
|
||||
@uref{http://git.savannah.gnu.org/@/gitweb/@/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD,
|
||||
@uref{http://savannah.gnu.org/@/cgi-bin/@/viewcvs/@/*checkout*/@/config/@/config/@/config.guess,
|
||||
@file{config.guess}}.
|
||||
|
||||
@cindex optional features, configure-time
|
||||
@@ -3969,7 +3908,7 @@ is preferable to setting them in environment variables:
|
||||
CC=gcc ./configure
|
||||
@end example
|
||||
as it helps to recreate the same configuration later with
|
||||
@file{config.status}. However, both methods should be supported.
|
||||
@file{config.status}.
|
||||
@end table
|
||||
|
||||
All @code{configure} scripts should accept all of the ``detail''
|
||||
@@ -4057,7 +3996,7 @@ should contain an explanation of the installation procedure.
|
||||
The @file{README} file should also refer to the file which contains the
|
||||
copying conditions. The GNU GPL, if used, should be in a file called
|
||||
@file{COPYING}. If the GNU LGPL is used, it should be in a file called
|
||||
@file{COPYING.LESSER}.
|
||||
@file{COPYING.LIB}.
|
||||
|
||||
Naturally, all the source files must be in the distribution. It is okay
|
||||
to include non-source files in the distribution, provided they are
|
||||
@@ -4072,13 +4011,13 @@ installing the program should @strong{never} be included in the
|
||||
distribution. So if you do distribute non-source files, always make
|
||||
sure they are up to date when you make a new distribution.
|
||||
|
||||
Make sure that all the files in the distribution are world-readable, and
|
||||
that directories are world-readable and world-searchable (octal mode 755).
|
||||
We used to recommend that all directories in the distribution also be
|
||||
world-writable (octal mode 777), because ancient versions of @code{tar}
|
||||
would otherwise not cope when extracting the archive as an unprivileged
|
||||
user. That can easily lead to security issues when creating the archive,
|
||||
however, so now we recommend against that.
|
||||
Make sure that the directory into which the distribution unpacks (as
|
||||
well as any subdirectories) are all world-writable (octal mode 777).
|
||||
This is so that old versions of @code{tar} which preserve the
|
||||
ownership and permissions of the files from the tar archive will be
|
||||
able to extract all the files even if the user is unprivileged.
|
||||
|
||||
Make sure that all the files in the distribution are world-readable.
|
||||
|
||||
Don't include any symbolic links in the distribution itself. If the tar
|
||||
file contains symbolic links, then people cannot even unpack it on
|
||||
@@ -4109,25 +4048,24 @@ other files to get.
|
||||
@chapter References to Non-Free Software and Documentation
|
||||
@cindex references to non-free material
|
||||
|
||||
A GNU program should not recommend, promote, or grant legitimacy to
|
||||
the use of any non-free program. Proprietary software is a social and
|
||||
ethical problem, and our aim is to put an end to that problem. We
|
||||
A GNU program should not recommend use of any non-free program. We
|
||||
can't stop some people from writing proprietary programs, or stop
|
||||
other people from using them, but we can and should refuse to
|
||||
advertise them to new potential customers, or to give the public the
|
||||
idea that their existence is ethical.
|
||||
advertise them to new potential customers. Proprietary software is a
|
||||
social and ethical problem, and the point of GNU is to solve that
|
||||
problem.
|
||||
|
||||
The GNU definition of free software is found on the GNU web site at
|
||||
@url{http://www.gnu.org/@/philosophy/@/free-sw.html}, and the definition
|
||||
@url{http://www.gnu.org/philosophy/free-sw.html}, and the definition
|
||||
of free documentation is found at
|
||||
@url{http://www.gnu.org/@/philosophy/@/free-doc.html}. The terms ``free''
|
||||
and ``non-free'', used in this document, refer to those definitions.
|
||||
|
||||
A list of important licenses and whether they qualify as free is in
|
||||
@url{http://www.gnu.org/@/licenses/@/license-list.html}. If it is not
|
||||
clear whether a license qualifies as free, please ask the GNU Project
|
||||
by writing to @email{licensing@@gnu.org}. We will answer, and if the
|
||||
license is an important one, we will add it to the list.
|
||||
@url{http://www.gnu.org/philosophy/free-doc.html}. A list of
|
||||
important licenses and whether they qualify as free is in
|
||||
@url{http://www.gnu.org/@/licenses/@/license-list.html}. The terms
|
||||
``free'' and ``non-free'', used in this document, refer to that
|
||||
definition. If it is not clear whether a license qualifies as free
|
||||
under this definition, please ask the GNU Project by writing to
|
||||
@email{licensing@@gnu.org}. We will answer, and if the license is an
|
||||
important one, we will add it to the list.
|
||||
|
||||
When a non-free program or system is well known, you can mention it in
|
||||
passing---that is harmless, since users who might want to use it
|
||||
@@ -4144,75 +4082,69 @@ enhances your program, or that its existence is in any way a good
|
||||
thing. The goal should be that people already using the proprietary
|
||||
program will get the advice they need about how to use your free
|
||||
program with it, while people who don't already use the proprietary
|
||||
program will not see anything likely to lead them to take an interest
|
||||
in it.
|
||||
program will not see anything to lead them to take an interest in it.
|
||||
|
||||
If a non-free program or system is obscure in your program's domain,
|
||||
your program should not mention or support it at all, since doing so
|
||||
would tend to popularize the non-free program more than it popularizes
|
||||
your program. (You cannot hope to find many additional users for your
|
||||
program among the users of Foobar, if the existence of Foobar is not
|
||||
generally known among people who might want to use your program.)
|
||||
your program. (You cannot hope to find many additional users among
|
||||
the users of Foobar if the users of Foobar are few.)
|
||||
|
||||
Sometimes a program is free software in itself but depends on a
|
||||
non-free platform in order to run. For instance, many Java programs
|
||||
depend on some non-free Java libraries. To recommend or promote such
|
||||
a program is to promote the other programs it needs. This is why we
|
||||
are careful about listing Java programs in the Free Software
|
||||
Directory: we don't want to promote the non-free Java libraries.
|
||||
depend on the parts of Sun's Java implementation which are not yet
|
||||
free software, and won't run on the GNU Java Compiler (which does not
|
||||
yet have all the features) or won't run with the GNU Java libraries.
|
||||
We hope this particular problem will be gone in a few months, when Sun
|
||||
makes the standard Java libraries free software, but of course the
|
||||
general principle remains: you should not recommend programs that
|
||||
depend on non-free software to run.
|
||||
|
||||
We hope this particular problem with Java will be gone by and by, as
|
||||
we replace the remaining non-free standard Java libraries with free
|
||||
software, but the general principle will remain the same: don't
|
||||
recommend, promote or legitimize programs that depend on non-free
|
||||
software to run.
|
||||
Some free programs encourage the use of non-free software. A typical
|
||||
example is @command{mplayer}. It is free software in itself, and the
|
||||
free code can handle some kinds of files. However, @command{mplayer}
|
||||
recommends use of non-free codecs for other kinds of files, and users
|
||||
that install @command{mplayer} are very likely to install those codecs
|
||||
along with it. To recommend @command{mplayer} is, in effect, to
|
||||
recommend the non-free codecs. We must not do that, so we cannot
|
||||
recommend @command{mplayer} either.
|
||||
|
||||
Some free programs strongly encourage the use of non-free software. A
|
||||
typical example is @command{mplayer}. It is free software in itself,
|
||||
and the free code can handle some kinds of files. However,
|
||||
@command{mplayer} recommends use of non-free codecs for other kinds of
|
||||
files, and users that install @command{mplayer} are very likely to
|
||||
install those codecs along with it. To recommend @command{mplayer}
|
||||
is, in effect, to promote use of the non-free codecs.
|
||||
|
||||
Thus, you should not recommend programs that strongly encourage the
|
||||
use of non-free software. This is why we do not list
|
||||
@command{mplayer} in the Free Software Directory.
|
||||
In general, you should also not recommend programs that themselves
|
||||
strongly recommend the use of non-free software.
|
||||
|
||||
A GNU package should not refer the user to any non-free documentation
|
||||
for free software. Free documentation that can be included in free
|
||||
operating systems is essential for completing the GNU system, or any
|
||||
free operating system, so encouraging it is a priority; to recommend
|
||||
use of documentation that we are not allowed to include undermines the
|
||||
impetus for the community to produce documentation that we can
|
||||
include. So GNU packages should never recommend non-free
|
||||
free operating system, so it is a major focus of the GNU Project; to
|
||||
recommend use of documentation that we are not allowed to use in GNU
|
||||
would weaken the impetus for the community to produce documentation
|
||||
that we can include. So GNU packages should never recommend non-free
|
||||
documentation.
|
||||
|
||||
By contrast, it is ok to refer to journal articles and textbooks in
|
||||
the comments of a program for explanation of how it functions, even
|
||||
though they are non-free. This is because we don't include such
|
||||
things in the GNU system even they are free---they are outside the
|
||||
scope of what a software distribution needs to include.
|
||||
though they be non-free. This is because we don't include such things
|
||||
in the GNU system even if we are allowed to---they are outside the
|
||||
scope of an operating system project.
|
||||
|
||||
Referring to a web site that describes or recommends a non-free
|
||||
program is promoting that program, so please do not make links (or
|
||||
mention by name) web sites that contain such material. This policy is
|
||||
relevant particularly for the web pages for a GNU package.
|
||||
program is in effect promoting that software, so please do not make
|
||||
links (or mention by name) web sites that contain such material. This
|
||||
policy is relevant particularly for the web pages for a GNU package.
|
||||
|
||||
Following links from nearly any web site can lead eventually to
|
||||
non-free software; this is inherent in the nature of the web. So it
|
||||
makes no sense to criticize a site for having such links. As long as
|
||||
the site does not itself recommend a non-free program, there is no
|
||||
need to consider the question of the sites that it links to for other
|
||||
reasons.
|
||||
Following links from nearly any web site can lead to non-free
|
||||
software; this is an inescapable aspect of the nature of the web, and
|
||||
in itself is no objection to linking to a site. As long as the site
|
||||
does not itself recommend a non-free program, there is no need be
|
||||
concerned about the sites it links to for other reasons.
|
||||
|
||||
Thus, for example, you should not make a link to AT&T's web site,
|
||||
because that recommends AT&T's non-free software packages; you should
|
||||
not make a link to a site that links to AT&T's site saying it is a
|
||||
place to get a non-free program; but if a site you want to link to
|
||||
refers to AT&T's web site in some other context (such as long-distance
|
||||
telephone service), that is not a problem.
|
||||
|
||||
Thus, for example, you should not refer to AT&T's web site if that
|
||||
recommends AT&T's non-free software packages; you should not refer to
|
||||
a site that links to AT&T's site presenting it as a place to get some
|
||||
non-free program, because that link recommends and legitimizes the
|
||||
non-free program. However, that a site contains a link to AT&T's web
|
||||
site for some other purpose (such as long-distance telephone service)
|
||||
is not an objection against it.
|
||||
|
||||
@node GNU Free Documentation License
|
||||
@appendix GNU Free Documentation License
|
||||
@@ -4231,5 +4163,5 @@ eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
time-stamp-start: "@set lastupdate "
|
||||
time-stamp-end: "$"
|
||||
time-stamp-format: "%:b %:d, %:y"
|
||||
compile-command: "cd work.s && make"
|
||||
compile-command: "make just-standards"
|
||||
End:
|
||||
|
||||
511
install-sh
511
install-sh
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2009-04-28.21; # UTC
|
||||
scriptversion=2005-05-14.22
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
@@ -39,68 +39,38 @@ scriptversion=2009-04-28.21; # UTC
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
# from scratch. It can only install one file at a time, a restriction
|
||||
# shared with many OS's install programs.
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit=${DOITPROG-}
|
||||
if test -z "$doit"; then
|
||||
doit_exec=exec
|
||||
else
|
||||
doit_exec=$doit
|
||||
fi
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
chgrpprog=${CHGRPPROG-chgrp}
|
||||
chmodprog=${CHMODPROG-chmod}
|
||||
chownprog=${CHOWNPROG-chown}
|
||||
cmpprog=${CMPPROG-cmp}
|
||||
cpprog=${CPPROG-cp}
|
||||
mkdirprog=${MKDIRPROG-mkdir}
|
||||
mvprog=${MVPROG-mv}
|
||||
rmprog=${RMPROG-rm}
|
||||
stripprog=${STRIPPROG-strip}
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
posix_glob='?'
|
||||
initialize_posix_glob='
|
||||
test "$posix_glob" != "?" || {
|
||||
if (set -f) 2>/dev/null; then
|
||||
posix_glob=
|
||||
else
|
||||
posix_glob=:
|
||||
fi
|
||||
}
|
||||
'
|
||||
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
chgrpcmd=
|
||||
chmodcmd=$chmodprog
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=
|
||||
mvcmd=$mvprog
|
||||
rmcmd="$rmprog -f"
|
||||
chgrpcmd=
|
||||
stripcmd=
|
||||
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dst_arg=
|
||||
|
||||
copy_on_change=false
|
||||
dstarg=
|
||||
no_target_directory=
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
@@ -110,86 +80,81 @@ In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
-c (ignored)
|
||||
-C install only if different (preserve the last data modification time)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
-c (ignored)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||
RMPROG STRIPPROG
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test $# -ne 0; do
|
||||
while test -n "$1"; do
|
||||
case $1 in
|
||||
-c) ;;
|
||||
-c) shift
|
||||
continue;;
|
||||
|
||||
-C) copy_on_change=true;;
|
||||
|
||||
-d) dir_arg=true;;
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift;;
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
case $mode in
|
||||
*' '* | *' '* | *'
|
||||
'* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift;;
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd=$stripprog;;
|
||||
-s) stripcmd=$stripprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t) dst_arg=$2
|
||||
shift;;
|
||||
-t) dstarg=$2
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-T) no_target_directory=true;;
|
||||
-T) no_target_directory=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
*) # When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
test -n "$dir_arg$dstarg" && break
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dstarg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dstarg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dstarg=$arg
|
||||
done
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dst_arg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dst_arg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dst_arg=$arg
|
||||
done
|
||||
fi
|
||||
|
||||
if test $# -eq 0; then
|
||||
if test -z "$1"; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
@@ -199,47 +164,24 @@ if test $# -eq 0; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Set umask so as not to create temps with too-generous modes.
|
||||
# However, 'strip' requires both read and write access to temps.
|
||||
case $mode in
|
||||
# Optimize common cases.
|
||||
*644) cp_umask=133;;
|
||||
*755) cp_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names starting with `-'.
|
||||
case $src in
|
||||
-*) src=./$src;;
|
||||
-*) src=./$src ;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
dstdir=$dst
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
else
|
||||
src=
|
||||
|
||||
if test -d "$dst"; then
|
||||
mkdircmd=:
|
||||
chmodcmd=
|
||||
else
|
||||
mkdircmd=$mkdirprog
|
||||
fi
|
||||
else
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
@@ -248,199 +190,71 @@ do
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dst_arg"; then
|
||||
if test -z "$dstarg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dst=$dst_arg
|
||||
dst=$dstarg
|
||||
# Protect names starting with `-'.
|
||||
case $dst in
|
||||
-*) dst=./$dst;;
|
||||
-*) dst=./$dst ;;
|
||||
esac
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
echo "$0: $dstarg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstdir_status=0
|
||||
else
|
||||
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||
dstdir=`
|
||||
(dirname "$dst") 2>/dev/null ||
|
||||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$dst" : 'X\(//\)[^/]' \| \
|
||||
X"$dst" : 'X\(//\)$' \| \
|
||||
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
echo X"$dst" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'
|
||||
`
|
||||
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
dst=$dst/`basename "$src"`
|
||||
fi
|
||||
fi
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
# This sed command emulates the dirname command.
|
||||
dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||
umask=`umask`
|
||||
case $stripcmd.$umask in
|
||||
# Optimize common cases.
|
||||
*[2367][2367]) mkdir_umask=$umask;;
|
||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||
# Make sure that the destination directory exists.
|
||||
|
||||
*[0-7])
|
||||
mkdir_umask=`expr $umask + 22 \
|
||||
- $umask % 100 % 40 + $umask % 20 \
|
||||
- $umask % 10 % 4 + $umask % 2
|
||||
`;;
|
||||
*) mkdir_umask=$umask,go-w;;
|
||||
esac
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if test ! -d "$dstdir"; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-$defaultIFS}"
|
||||
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
oIFS=$IFS
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
posix_mkdir=false
|
||||
case $umask in
|
||||
*[123567][0-7][0-7])
|
||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
pathcomp=
|
||||
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writeable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix='/';;
|
||||
-*) prefix='./';;
|
||||
*) prefix='';;
|
||||
esac
|
||||
|
||||
eval "$initialize_posix_glob"
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
$posix_glob set -f
|
||||
set fnord $dstdir
|
||||
while test $# -ne 0 ; do
|
||||
pathcomp=$pathcomp$1
|
||||
shift
|
||||
$posix_glob set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test -z "$d" && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask=$mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
if test ! -d "$pathcomp"; then
|
||||
$mkdirprog "$pathcomp"
|
||||
# mkdir can fail with a `File exist' error in case several
|
||||
# install-sh are creating the directory concurrently. This
|
||||
# is OK.
|
||||
test -d "$pathcomp" || exit
|
||||
fi
|
||||
fi
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||
$doit $mkdircmd "$dst" \
|
||||
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
|
||||
|
||||
else
|
||||
dstfile=`basename "$dst"`
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
@@ -448,9 +262,10 @@ do
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
$doit $cpprog "$src" "$dsttmp" &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
@@ -458,63 +273,51 @@ do
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
|
||||
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
|
||||
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
|
||||
|
||||
# If -C, don't bother to copy if it wouldn't change the file.
|
||||
if $copy_on_change &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
# Now rename the file to the real destination.
|
||||
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
|
||||
|| {
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
|
||||
eval "$initialize_posix_glob" &&
|
||||
$posix_glob set -f &&
|
||||
set X $old && old=:$2:$4:$5:$6 &&
|
||||
set X $new && new=:$2:$4:$5:$6 &&
|
||||
$posix_glob set +f &&
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
if test -f "$dstdir/$dstfile"; then
|
||||
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|
||||
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|
||||
|| {
|
||||
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
else
|
||||
:
|
||||
fi
|
||||
} &&
|
||||
|
||||
test "$old" = "$new" &&
|
||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||
then
|
||||
rm -f "$dsttmp"
|
||||
else
|
||||
# Rename the file to the real destination.
|
||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
{
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
fi || exit 1
|
||||
|
||||
trap '' 0
|
||||
fi
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
|
||||
}
|
||||
}
|
||||
fi || { (exit 1); exit 1; }
|
||||
done
|
||||
|
||||
# The final little trick to "correctly" pass the exit status to the exit trap.
|
||||
{
|
||||
(exit 0); exit 0
|
||||
}
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
||||
|
||||
1797
libtool.m4
vendored
1797
libtool.m4
vendored
File diff suppressed because it is too large
Load Diff
2
ltgcc.m4
2
ltgcc.m4
@@ -30,7 +30,6 @@ _LT_COMPILER_BOILERPLATE
|
||||
_LT_LINKER_BOILERPLATE
|
||||
|
||||
# Allow CC to be a program name with arguments.
|
||||
GCC=yes
|
||||
compiler=$CC
|
||||
_LT_TAGVAR(compiler, $1)=$CC
|
||||
_LT_CC_BASENAME([$compiler])
|
||||
@@ -50,6 +49,7 @@ if test -n "$compiler"; then
|
||||
_LT_COMPILER_C_O($1)
|
||||
_LT_COMPILER_FILE_LOCKS($1)
|
||||
_LT_LINKER_SHLIBS($1)
|
||||
_LT_SYS_DYNAMIC_LINKER($1)
|
||||
_LT_LINKER_HARDCODE_LIBPATH($1)
|
||||
|
||||
_LT_CONFIG($1)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user