2004-01-05 04:21:24 +01:00
|
|
|
# configure.ac for GCC
|
1997-05-18 14:31:53 +02:00
|
|
|
# Process this file with autoconf to generate a configuration script.
|
|
|
|
|
2008-02-01 18:41:48 +01:00
|
|
|
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
inclhack.def (aix_syswait, [...]): Remove.
fixincludes:
* inclhack.def (aix_syswait, exception_structure,
pthread_page_size): Remove.
(math_exception): Remove mention of fixproto in comment.
* fixincl.x: Regenerate.
* mkheaders.in: Do not handle STMP_FIXPROTO.
gcc:
* config/arm/t-arm-coff, config/h8300/coff.h,
config/i386/i386-aout.h, config/i386/i386-coff.h,
config/libgloss.h, config/m68k/coff.h, config/m68k/m68k-aout.h,
config/pdp11/2bsd.h, config/rs6000/aix41.h,
config/rs6000/aix41.opt, config/rs6000/t-newas, config/sh/coff.h,
fix-header.c, fixproto, gen-protos.c, protoize.c, scan-decls.c,
scan-types.sh, scan.c, scan.h, sort-protos, sys-protos.h,
sys-types.h: Remove.
* Makefile.in: Remove protoize and fixproto support and references
in comments.
(SYSCALLS.c.X-warn, TARGET_GETGROUPS_T, STMP_FIXPROTO,
PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, FIXPROTO_DEFINES):
Remove.
(ALL_HOST_OBJS): Remove $(PROTO_OBJS).
(MOSTLYCLEANFILES): Remove protoize$(exeext) and
unprotoize$(exeext).
(rest.encap): Don't depend on $(STMP_FIXPROTO)
(.PHONY): Don't depend on proto.
(libgcc-support): Don't depend on $(STMP_FIXPROTO).
(proto, PROTO_OBJS, protoize$(exeext), unprotoize$(exeext),
protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize-simple,
deduced.h, GEN_PROTOS_OBJS, build/gen-protos$(build_exeext),
build/gen-protos.o, build/scan.o, xsys-protos.h,
build/fix-header$(build_exeext), build/fix-header.o,
build/scan-decls.o, fixhdr.ready, stmp-fixproto,
stmp-install-fixproto): Remove.
(mostlyclean): Don't remove xsys-protos.hT, SYSCALLS.c.X,
SYSCALLS.c or fixproto files.
(install-common): Don't install protoize.
(install-headers-tar, install-headers-cpio, install-headers-cp):
Don't depend on $(STMP_FIXPROTO).
(install-mkheaders): Don't depend on $(STMP_FIXPROTO). Don't
install fixproto files or write out fixproto settings.
(uninstall): Don't uninstall protoize.
* config.gcc (use_fixproto): Remove.
(arm-*-coff*, armel-*-coff*, h8300-*-*, i[34567]86-*-aout*,
i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd,
rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
* config/m32r/t-linux (STMP_FIXPROTO): Remove.
* config/m68k/m68k.c: Remove M68K_TARGET_COFF-conditional code.
* config/mips/t-iris (FIXPROTO_DEFINES): Remove.
* config/pa/t-pa-hpux (FIXPROTO_DEFINES): Remove.
* config/pdp11/pdp11.c: Remove TWO_BSD-conditional code.
* config/t-svr4 (FIXPROTO_DEFINES): Remove.
* config/t-vxworks (STMP_FIXPROTO): Remove.
* configure.ac (AC_TYPE_GETGROUPS, TARGET_GETGROUPS_T,
STMP_FIXPROTO): Remove.
* config.in, configure: Regenerate.
* crtstuff.c (gid_t, uid_t): Don't undefine.
* doc/install.texi: Change m68k-coff to m68k-elf in example.
(arm-*-coff, arm-*-aout: Remove target entries.
(*-ibm-aix*): Mention removal of support for AIX 4.2 and older.
Remove mention of AIX 4.1.
(m68k-*-*): Remove mention of m68k-*-aout and m68k-*-coff*.
* doc/invoke.texi (Running Protoize): Remove.
* doc/trouble.texi (Actual Bugs): Remove mention of fixproto.
(Protoize Caveats): Remove.
* tsystem.h: Update comments on headers assumed to exist.
gcc/po:
* EXCLUDES (fix-header.c, gen-protos.c, scan-decls.c, scan.c,
scan.h): Remove.
gcc/testsuite:
* g++.old-deja/g++.ext/attrib5.C, g++.old-deja/g++.jason/thunk3.C,
gcc.c-torture/compile/981006-1.c: Don't XFAIL or add special
options for removed targets.
libgcc:
* config.host (arm-*-coff*, armel-*-coff*, arm-semi-aof,
armel-semi-aof, h8300-*-*, i[34567]86-*-aout*, i[34567]86-*-coff*,
m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd, rs6000-ibm-aix4.[12]*,
powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
From-SVN: r145158
2009-03-28 07:51:09 +01:00
|
|
|
# 2007, 2008, 2009 Free Software Foundation, Inc.
|
1997-05-18 14:31:53 +02:00
|
|
|
|
Makefile.in, [...]: replace "GNU CC" with "GCC".
* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
bitmap.h, builtin-types.def, builtins.c, builtins.def,
c-aux-info.c, c-common.c, c-common.def, c-common.h,
c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
conditions.h, config.gcc, configure.frag, configure.in,
conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
emit-rtl.c, errors.c, errors.h, except.c, except.h,
exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
gencheck.c, gencodes.c, genconfig.c, genemit.c,
genextract.c, genflags.c, gengenrtl.c, genmultilib,
genopinit.c, genoutput.c, genpeep.c, genrecog.c,
gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
params.h, predict.c, predict.def, predict.h, prefix.c,
prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
regclass.c, regmove.c, regrename.c, regs.h, reload.c,
reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
xcoffout.h: replace "GNU CC" with "GCC".
From-SVN: r45105
2001-08-22 16:35:51 +02:00
|
|
|
#This file is part of GCC.
|
1997-05-18 14:31:53 +02:00
|
|
|
|
Makefile.in, [...]: replace "GNU CC" with "GCC".
* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
bitmap.h, builtin-types.def, builtins.c, builtins.def,
c-aux-info.c, c-common.c, c-common.def, c-common.h,
c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
conditions.h, config.gcc, configure.frag, configure.in,
conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
emit-rtl.c, errors.c, errors.h, except.c, except.h,
exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
gencheck.c, gencodes.c, genconfig.c, genemit.c,
genextract.c, genflags.c, gengenrtl.c, genmultilib,
genopinit.c, genoutput.c, genpeep.c, genrecog.c,
gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
params.h, predict.c, predict.def, predict.h, prefix.c,
prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
regclass.c, regmove.c, regrename.c, regs.h, reload.c,
reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
xcoffout.h: replace "GNU CC" with "GCC".
From-SVN: r45105
2001-08-22 16:35:51 +02:00
|
|
|
#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
|
2007-07-26 10:37:01 +02:00
|
|
|
#Software Foundation; either version 3, or (at your option) any later
|
Makefile.in, [...]: replace "GNU CC" with "GCC".
* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
bitmap.h, builtin-types.def, builtins.c, builtins.def,
c-aux-info.c, c-common.c, c-common.def, c-common.h,
c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
conditions.h, config.gcc, configure.frag, configure.in,
conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
emit-rtl.c, errors.c, errors.h, except.c, except.h,
exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
gencheck.c, gencodes.c, genconfig.c, genemit.c,
genextract.c, genflags.c, gengenrtl.c, genmultilib,
genopinit.c, genoutput.c, genpeep.c, genrecog.c,
gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
params.h, predict.c, predict.def, predict.h, prefix.c,
prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
regclass.c, regmove.c, regrename.c, regs.h, reload.c,
reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
xcoffout.h: replace "GNU CC" with "GCC".
From-SVN: r45105
2001-08-22 16:35:51 +02:00
|
|
|
#version.
|
1997-05-18 14:31:53 +02:00
|
|
|
|
Makefile.in, [...]: replace "GNU CC" with "GCC".
* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
bitmap.h, builtin-types.def, builtins.c, builtins.def,
c-aux-info.c, c-common.c, c-common.def, c-common.h,
c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
conditions.h, config.gcc, configure.frag, configure.in,
conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
emit-rtl.c, errors.c, errors.h, except.c, except.h,
exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
gencheck.c, gencodes.c, genconfig.c, genemit.c,
genextract.c, genflags.c, gengenrtl.c, genmultilib,
genopinit.c, genoutput.c, genpeep.c, genrecog.c,
gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
params.h, predict.c, predict.def, predict.h, prefix.c,
prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
regclass.c, regmove.c, regrename.c, regs.h, reload.c,
reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
xcoffout.h: replace "GNU CC" with "GCC".
From-SVN: r45105
2001-08-22 16:35:51 +02:00
|
|
|
#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.
|
1997-05-18 14:31:53 +02:00
|
|
|
|
|
|
|
#You should have received a copy of the GNU General Public License
|
2007-07-26 10:37:01 +02:00
|
|
|
#along with GCC; see the file COPYING3. If not see
|
|
|
|
#<http://www.gnu.org/licenses/>.
|
1997-05-18 14:31:53 +02:00
|
|
|
|
2003-03-04 08:41:00 +01:00
|
|
|
# --------------------------------
|
|
|
|
# Initialization and sanity checks
|
|
|
|
# --------------------------------
|
|
|
|
|
2004-03-11 01:27:41 +01:00
|
|
|
AC_PREREQ(2.59)
|
2004-01-03 20:04:34 +01:00
|
|
|
AC_INIT
|
|
|
|
AC_CONFIG_SRCDIR(tree.c)
|
1998-04-14 10:32:34 +02:00
|
|
|
AC_CONFIG_HEADER(auto-host.h:config.in)
|
1997-07-19 04:51:45 +02:00
|
|
|
|
2005-06-16 14:49:06 +02:00
|
|
|
gcc_version=`cat $srcdir/BASE-VER`
|
|
|
|
|
2003-03-04 08:41:00 +01:00
|
|
|
# Determine the host, build, and target systems
|
2004-01-03 20:04:34 +01:00
|
|
|
AC_CANONICAL_BUILD
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
AC_CANONICAL_TARGET
|
2003-03-04 08:41:00 +01:00
|
|
|
|
2003-10-14 05:41:42 +02:00
|
|
|
# Determine the noncanonical target name, for directory use.
|
2004-08-16 21:26:27 +02:00
|
|
|
ACX_NONCANONICAL_TARGET
|
2003-10-14 05:41:42 +02:00
|
|
|
|
2003-06-10 02:52:18 +02:00
|
|
|
# Determine the target- and build-specific subdirectories
|
|
|
|
GCC_TOPLEV_SUBDIRS
|
|
|
|
|
2003-03-04 08:41:00 +01:00
|
|
|
# Set program_transform_name
|
|
|
|
AC_ARG_PROGRAM
|
1997-05-18 14:31:53 +02:00
|
|
|
|
1998-09-08 00:39:41 +02:00
|
|
|
# Check for bogus environment variables.
|
|
|
|
# Test if LIBRARY_PATH contains the notation for the current directory
|
|
|
|
# since this would lead to problems installing/building glibc.
|
|
|
|
# LIBRARY_PATH contains the current directory if one of the following
|
|
|
|
# is true:
|
|
|
|
# - one of the terminals (":" and ";") is the first or last sign
|
|
|
|
# - two terminals occur directly after each other
|
|
|
|
# - the path contains an element with a dot in it
|
|
|
|
AC_MSG_CHECKING(LIBRARY_PATH variable)
|
|
|
|
changequote(,)dnl
|
|
|
|
case ${LIBRARY_PATH} in
|
|
|
|
[:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
|
|
|
|
library_path_setting="contains current directory"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
library_path_setting="ok"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
changequote([,])dnl
|
|
|
|
AC_MSG_RESULT($library_path_setting)
|
|
|
|
if test "$library_path_setting" != "ok"; then
|
|
|
|
AC_MSG_ERROR([
|
|
|
|
*** LIBRARY_PATH shouldn't contain the current directory when
|
1999-06-02 03:37:08 +02:00
|
|
|
*** building gcc. Please change the environment variable
|
1998-09-08 00:39:41 +02:00
|
|
|
*** and run configure again.])
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Test if GCC_EXEC_PREFIX contains the notation for the current directory
|
|
|
|
# since this would lead to problems installing/building glibc.
|
|
|
|
# GCC_EXEC_PREFIX contains the current directory if one of the following
|
|
|
|
# is true:
|
|
|
|
# - one of the terminals (":" and ";") is the first or last sign
|
|
|
|
# - two terminals occur directly after each other
|
|
|
|
# - the path contains an element with a dot in it
|
|
|
|
AC_MSG_CHECKING(GCC_EXEC_PREFIX variable)
|
|
|
|
changequote(,)dnl
|
|
|
|
case ${GCC_EXEC_PREFIX} in
|
|
|
|
[:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
|
|
|
|
gcc_exec_prefix_setting="contains current directory"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
gcc_exec_prefix_setting="ok"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
changequote([,])dnl
|
|
|
|
AC_MSG_RESULT($gcc_exec_prefix_setting)
|
|
|
|
if test "$gcc_exec_prefix_setting" != "ok"; then
|
|
|
|
AC_MSG_ERROR([
|
|
|
|
*** GCC_EXEC_PREFIX shouldn't contain the current directory when
|
1999-06-02 03:37:08 +02:00
|
|
|
*** building gcc. Please change the environment variable
|
1998-09-08 00:39:41 +02:00
|
|
|
*** and run configure again.])
|
|
|
|
fi
|
|
|
|
|
2003-03-04 08:41:00 +01:00
|
|
|
# -----------
|
|
|
|
# Directories
|
|
|
|
# -----------
|
|
|
|
|
|
|
|
# Specify the local prefix
|
|
|
|
local_prefix=
|
|
|
|
AC_ARG_WITH(local-prefix,
|
|
|
|
[ --with-local-prefix=DIR specifies directory to put local include],
|
|
|
|
[case "${withval}" in
|
|
|
|
yes) AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
|
|
|
|
no) ;;
|
|
|
|
*) local_prefix=$with_local_prefix ;;
|
|
|
|
esac])
|
|
|
|
|
|
|
|
# Default local prefix if it is empty
|
|
|
|
if test x$local_prefix = x; then
|
|
|
|
local_prefix=/usr/local
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Don't set gcc_gxx_include_dir to gxx_include_dir since that's only
|
|
|
|
# passed in by the toplevel make and thus we'd get different behavior
|
|
|
|
# depending on where we built the sources.
|
|
|
|
gcc_gxx_include_dir=
|
|
|
|
# Specify the g++ header file directory
|
|
|
|
AC_ARG_WITH(gxx-include-dir,
|
|
|
|
[ --with-gxx-include-dir=DIR
|
|
|
|
specifies directory to put g++ header files],
|
|
|
|
[case "${withval}" in
|
|
|
|
yes) AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;;
|
|
|
|
no) ;;
|
|
|
|
*) gcc_gxx_include_dir=$with_gxx_include_dir ;;
|
|
|
|
esac])
|
|
|
|
|
2006-06-21 11:16:03 +02:00
|
|
|
# This logic must match libstdc++-v3/acinclude.m4:GLIBCXX_EXPORT_INSTALL_INFO.
|
2003-03-04 08:41:00 +01:00
|
|
|
if test x${gcc_gxx_include_dir} = x; then
|
|
|
|
if test x${enable_version_specific_runtime_libs} = xyes; then
|
|
|
|
gcc_gxx_include_dir='${libsubdir}/include/c++'
|
|
|
|
else
|
2006-06-21 11:16:03 +02:00
|
|
|
libstdcxx_incdir='include/c++/$(version)'
|
|
|
|
if test x$host != x$target; then
|
|
|
|
libstdcxx_incdir="$target_alias/$libstdcxx_incdir"
|
|
|
|
fi
|
2007-07-02 21:20:33 +02:00
|
|
|
gcc_gxx_include_dir="\$(libsubdir)/\$(libsubdir_to_prefix)$libstdcxx_incdir"
|
2003-03-04 08:41:00 +01:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_ARG_WITH(cpp_install_dir,
|
|
|
|
[ --with-cpp-install-dir=DIR
|
|
|
|
install the user visible C preprocessor in DIR
|
|
|
|
(relative to PREFIX) as well as PREFIX/bin],
|
|
|
|
[if test x$withval = xyes; then
|
|
|
|
AC_MSG_ERROR([option --with-cpp-install-dir requires an argument])
|
|
|
|
elif test x$withval != xno; then
|
|
|
|
cpp_install_dir=$withval
|
|
|
|
fi])
|
|
|
|
|
2003-10-21 01:45:51 +02:00
|
|
|
# We would like to our source tree to be readonly. However when releases or
|
|
|
|
# pre-releases are generated, the flex/bison generated files as well as the
|
|
|
|
# various formats of manuals need to be included along with the rest of the
|
|
|
|
# sources. Therefore we have --enable-generated-files-in-srcdir to do
|
|
|
|
# just that.
|
|
|
|
|
re PR bootstrap/12744 (A GCC release tarball can no longer be built without bison/flex)
gcc/
2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
PR bootstrap/12744
* configure.in: Revamp enable-generated-files-in-srcdir rule to define
GENINSRC and not parsedir. Define srcextra as a langhook.
* configure: Regenerate.
* Makefile.in: Suppress default .l.c rule. Don't substitute
parsedir and delete all references throughout. Conditionally define
rule for srcextra dependent on GENINSRC.
(stmp-docobjdir): Delete.
(c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
(srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
and gengtype-yacc.h back to source directory.
(maintainer-clean): Delete all parse files in source directory.
(distclean): Delete generated files.
* objc/Make-lang.in (objc-parse.o): Use implicit build rule.
(objc-parse.c, objc-parse.y): Don't use parsedir.
(objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
directory if requested.
(po-generated): Don't use parsedir.
(objc.maintainer-clean): Delete above files from source directory.
gcc/ada/
2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
* Make-lang.in (ada.srcextra): Dummy entry.
gcc/cp/
2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
* Make-lang.in (c++.srcextra): Dummy entry.
gcc/f/
2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
* Make-lang.in (f77.srcextra): Dummy entry.
gcc/java/
2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
* Make-lang.in (parse.c, parse-scan.c): Always build in doc directory.
(java.srcextra): Copy above back to source directory if requested.
(po-generated): Delete reference to $(parsedir).
(java/parse.o, java/parse-scan.o): Delete reference to $(parsedir).
Use implicit rule.
gcc/treelang/
2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
* Make-lang.in (TREE_GENERATED): Delete reference to $(parsedir).
(treelang/parse.o, treelang/lex.o): Look for sources in build
directory. Use implicit rule.
(treelang/parse.c, treelang/parse.h treelang/lex.c): Always build in
doc directory.
(treelang.srcextra): Copy above back to source directory if requested.
From-SVN: r75903
2004-01-15 05:02:24 +01:00
|
|
|
AC_MSG_CHECKING([whether to place generated files in the source directory])
|
|
|
|
dnl generated-files-in-srcdir is disabled by default
|
|
|
|
AC_ARG_ENABLE(generated-files-in-srcdir,
|
|
|
|
[ --enable-generated-files-in-srcdir
|
|
|
|
put copies of generated files in source dir
|
|
|
|
intended for creating source tarballs for users
|
|
|
|
without texinfo bison or flex.],
|
|
|
|
generated_files_in_srcdir=$enableval,
|
|
|
|
generated_files_in_srcdir=no)
|
|
|
|
|
|
|
|
AC_MSG_RESULT($generated_files_in_srcdir)
|
|
|
|
|
|
|
|
if test "$generated_files_in_srcdir" = "yes"; then
|
|
|
|
GENINSRC=''
|
|
|
|
else
|
|
|
|
GENINSRC='#'
|
|
|
|
fi
|
|
|
|
AC_SUBST(GENINSRC)
|
2003-10-21 01:45:51 +02:00
|
|
|
|
2003-03-04 08:41:00 +01:00
|
|
|
# -------------------
|
|
|
|
# Find default linker
|
|
|
|
# -------------------
|
1997-05-18 14:31:53 +02:00
|
|
|
|
|
|
|
# With GNU ld
|
|
|
|
AC_ARG_WITH(gnu-ld,
|
|
|
|
[ --with-gnu-ld arrange to work with GNU ld.],
|
1998-04-15 14:41:32 +02:00
|
|
|
gnu_ld_flag="$with_gnu_ld",
|
|
|
|
gnu_ld_flag=no)
|
1997-05-18 14:31:53 +02:00
|
|
|
|
1998-09-28 17:52:01 +02:00
|
|
|
# With pre-defined ld
|
|
|
|
AC_ARG_WITH(ld,
|
2001-06-11 17:01:40 +02:00
|
|
|
[ --with-ld arrange to use the specified ld (full pathname)],
|
1998-11-02 03:17:53 +01:00
|
|
|
DEFAULT_LINKER="$with_ld")
|
|
|
|
if test x"${DEFAULT_LINKER+set}" = x"set"; then
|
|
|
|
if test ! -x "$DEFAULT_LINKER"; then
|
2004-04-30 02:33:18 +02:00
|
|
|
AC_MSG_ERROR([cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER])
|
1999-04-03 16:52:07 +02:00
|
|
|
elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
|
1998-09-28 17:52:01 +02:00
|
|
|
gnu_ld_flag=yes
|
|
|
|
fi
|
acconfig.h (ENABLE_STD_NAMESPACE, [...]): Delete entries.
* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Delete entries.
* configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
for these macros. Clean up spacing and linewraps.
From-SVN: r33420
2000-04-25 22:30:16 +02:00
|
|
|
AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER",
|
|
|
|
[Define to enable the use of a default linker.])
|
1998-09-28 17:52:01 +02:00
|
|
|
fi
|
|
|
|
|
2007-05-08 02:37:39 +02:00
|
|
|
gnu_ld=`if test x"$gnu_ld_flag" = x"yes"; then echo 1; else echo 0; fi`
|
|
|
|
AC_DEFINE_UNQUOTED(HAVE_GNU_LD, $gnu_ld, [Define if using GNU ld.])
|
|
|
|
|
2003-03-04 08:41:00 +01:00
|
|
|
AC_MSG_CHECKING([whether a default linker was specified])
|
|
|
|
if test x"${DEFAULT_LINKER+set}" = x"set"; then
|
|
|
|
if test x"$gnu_ld_flag" = x"no"; then
|
|
|
|
AC_MSG_RESULT([yes ($DEFAULT_LINKER)])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([yes ($DEFAULT_LINKER - GNU ld)])
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
|
2004-07-07 22:29:13 +02:00
|
|
|
# With demangler in GNU ld
|
|
|
|
AC_ARG_WITH(demangler-in-ld,
|
|
|
|
[ --with-demangler-in-ld try to use demangler in GNU ld.],
|
|
|
|
demangler_in_ld="$with_demangler_in_ld",
|
|
|
|
demangler_in_ld=no)
|
|
|
|
|
2003-03-04 08:41:00 +01:00
|
|
|
# ----------------------
|
|
|
|
# Find default assembler
|
|
|
|
# ----------------------
|
|
|
|
|
1997-05-18 14:31:53 +02:00
|
|
|
# With GNU as
|
|
|
|
AC_ARG_WITH(gnu-as,
|
2001-06-11 17:01:40 +02:00
|
|
|
[ --with-gnu-as arrange to work with GNU as],
|
1998-04-15 14:41:32 +02:00
|
|
|
gas_flag="$with_gnu_as",
|
|
|
|
gas_flag=no)
|
1997-05-18 14:31:53 +02:00
|
|
|
|
1998-09-28 17:52:01 +02:00
|
|
|
AC_ARG_WITH(as,
|
2001-06-11 17:01:40 +02:00
|
|
|
[ --with-as arrange to use the specified as (full pathname)],
|
1998-11-02 03:17:53 +01:00
|
|
|
DEFAULT_ASSEMBLER="$with_as")
|
|
|
|
if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
|
|
|
|
if test ! -x "$DEFAULT_ASSEMBLER"; then
|
2004-04-30 02:33:18 +02:00
|
|
|
AC_MSG_ERROR([cannot execute: $DEFAULT_ASSEMBLER: check --with-as or env. var. DEFAULT_ASSEMBLER])
|
1999-04-03 16:52:07 +02:00
|
|
|
elif $DEFAULT_ASSEMBLER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
|
1998-09-28 17:52:01 +02:00
|
|
|
gas_flag=yes
|
|
|
|
fi
|
acconfig.h (ENABLE_STD_NAMESPACE, [...]): Delete entries.
* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Delete entries.
* configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
for these macros. Clean up spacing and linewraps.
From-SVN: r33420
2000-04-25 22:30:16 +02:00
|
|
|
AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$DEFAULT_ASSEMBLER",
|
|
|
|
[Define to enable the use of a default assembler.])
|
1998-11-02 03:17:53 +01:00
|
|
|
fi
|
1998-09-28 17:52:01 +02:00
|
|
|
|
2007-08-07 20:33:16 +02:00
|
|
|
gnu_as=`if test x"$gas_flag" = x"yes"; then echo 1; else echo 0; fi`
|
|
|
|
AC_DEFINE_UNQUOTED(HAVE_GNU_AS, $gnu_as, [Define if using GNU as.])
|
|
|
|
|
2003-03-04 08:41:00 +01:00
|
|
|
AC_MSG_CHECKING([whether a default assembler was specified])
|
|
|
|
if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
|
|
|
|
if test x"$gas_flag" = x"no"; then
|
|
|
|
AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER)])
|
1998-07-29 01:47:28 +02:00
|
|
|
else
|
2003-03-04 08:41:00 +01:00
|
|
|
AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER - GNU as)])
|
1998-07-29 01:47:28 +02:00
|
|
|
fi
|
2003-03-04 08:41:00 +01:00
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
1998-07-29 01:47:28 +02:00
|
|
|
fi
|
1997-05-18 14:31:53 +02:00
|
|
|
|
2003-03-04 08:41:00 +01:00
|
|
|
# ---------------
|
|
|
|
# Find C compiler
|
|
|
|
# ---------------
|
2002-11-26 21:08:08 +01:00
|
|
|
|
2004-02-09 18:40:32 +01:00
|
|
|
# If a non-executable a.out is present (e.g. created by GNU as above even if
|
|
|
|
# invoked with -v only), the IRIX 6 native ld just overwrites the existing
|
|
|
|
# file, even when creating an executable, so an execution test fails.
|
|
|
|
# Remove possible default executable files to avoid this.
|
|
|
|
#
|
|
|
|
# FIXME: This really belongs into AC_PROG_CC and can be removed once
|
|
|
|
# Autoconf includes it.
|
|
|
|
rm -f a.out a.exe b.out
|
|
|
|
|
Makefile.in (RUN_GEN, [...]): New variables.
* Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
(DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
(executing gencheck, genconfigs, genconditions, genflags,
gencodes, genconstants, genemit, genrecog, genopinit, genextract,
genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
gengtype, genprotos): Prepend $(RUN_GEN).
* configure.in: Move host compiler tests before --enable-checking
tests.
(--enable-checking=valgrind): New.
* config.in, configure: Regenerate.
* cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
Define as empty.
(read_include_file): When doing the mmap+1 trick,
valgrind-annotate the byte after the mmap:ed area as readable.
(purge_cache): Remove above annotation.
* gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
VALGRIND_PATH -q to each command.
From-SVN: r59309
2002-11-20 20:49:53 +01:00
|
|
|
# Find the native compiler
|
|
|
|
AC_PROG_CC
|
2004-09-22 13:21:21 +02:00
|
|
|
AM_PROG_CC_C_O
|
2008-05-12 18:25:07 +02:00
|
|
|
ACX_PROG_GNAT([-I"$srcdir"/ada])
|
|
|
|
|
Makefile.in (RUN_GEN, [...]): New variables.
* Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
(DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
(executing gencheck, genconfigs, genconditions, genflags,
gencodes, genconstants, genemit, genrecog, genopinit, genextract,
genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
gengtype, genprotos): Prepend $(RUN_GEN).
* configure.in: Move host compiler tests before --enable-checking
tests.
(--enable-checking=valgrind): New.
* config.in, configure: Regenerate.
* cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
Define as empty.
(read_include_file): When doing the mmap+1 trick,
valgrind-annotate the byte after the mmap:ed area as readable.
(purge_cache): Remove above annotation.
* gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
VALGRIND_PATH -q to each command.
From-SVN: r59309
2002-11-20 20:49:53 +01:00
|
|
|
# autoconf is lame and doesn't give us any substitution variable for this.
|
|
|
|
if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
|
|
|
|
NO_MINUS_C_MINUS_O=yes
|
|
|
|
else
|
|
|
|
OUTPUT_OPTION='-o $@'
|
|
|
|
fi
|
|
|
|
AC_SUBST(NO_MINUS_C_MINUS_O)
|
|
|
|
AC_SUBST(OUTPUT_OPTION)
|
|
|
|
|
2006-06-15 08:26:59 +02:00
|
|
|
# Remove the -O2: for historical reasons, unless bootstrapping we prefer
|
|
|
|
# optimizations to be activated explicitly by the toplevel.
|
|
|
|
case "$CC" in
|
|
|
|
*/prev-gcc/xgcc*) ;;
|
|
|
|
*) CFLAGS=`echo $CFLAGS | sed "s/-O[[s0-9]]* *//" ` ;;
|
|
|
|
esac
|
|
|
|
AC_SUBST(CFLAGS)
|
|
|
|
|
2003-03-12 21:41:00 +01:00
|
|
|
# -------------------------
|
|
|
|
# Check C compiler features
|
|
|
|
# -------------------------
|
|
|
|
|
2008-03-27 10:46:19 +01:00
|
|
|
AC_USE_SYSTEM_EXTENSIONS
|
2003-03-04 08:41:00 +01:00
|
|
|
AC_PROG_CPP
|
|
|
|
AC_C_INLINE
|
|
|
|
|
|
|
|
# sizeof(char) is 1 by definition.
|
2004-09-18 02:50:15 +02:00
|
|
|
AC_CHECK_SIZEOF(void *)
|
|
|
|
AC_CHECK_SIZEOF(short)
|
|
|
|
AC_CHECK_SIZEOF(int)
|
|
|
|
AC_CHECK_SIZEOF(long)
|
2005-05-25 02:15:21 +02:00
|
|
|
AC_CHECK_TYPES([long long], [AC_CHECK_SIZEOF(long long)])
|
|
|
|
AC_CHECK_TYPES([__int64], [AC_CHECK_SIZEOF(__int64)])
|
2003-03-04 08:41:00 +01:00
|
|
|
|
|
|
|
# ---------------------
|
|
|
|
# Warnings and checking
|
|
|
|
# ---------------------
|
|
|
|
|
2004-03-24 17:26:00 +01:00
|
|
|
# Check $CC warning features (if it's GCC).
|
|
|
|
# We want to use -pedantic, but we don't want warnings about
|
|
|
|
# * 'long long'
|
|
|
|
# * variadic macros
|
2006-01-29 04:30:47 +01:00
|
|
|
# * overlong strings
|
2004-03-24 17:26:00 +01:00
|
|
|
# So, we only use -pedantic if we can disable those warnings.
|
|
|
|
|
2008-07-28 22:30:00 +02:00
|
|
|
ACX_PROG_CC_WARNING_OPTS(
|
2008-09-02 20:43:30 +02:00
|
|
|
m4_quote(m4_do([-W -Wall -Wwrite-strings -Wstrict-prototypes ],
|
|
|
|
[-Wmissing-prototypes -Wcast-qual])), [loose_warn])
|
2008-07-28 22:30:00 +02:00
|
|
|
ACX_PROG_CC_WARNING_OPTS(
|
2008-09-02 20:43:30 +02:00
|
|
|
m4_quote(m4_do([-Wold-style-definition -Wc++-compat ],
|
|
|
|
[-Wmissing-format-attribute])), [strict_warn])
|
2008-07-28 22:30:00 +02:00
|
|
|
ACX_PROG_CC_WARNING_ALMOST_PEDANTIC(
|
2008-09-02 20:43:30 +02:00
|
|
|
m4_quote(m4_do([-Wno-long-long -Wno-variadic-macros ],
|
|
|
|
[-Wno-overlength-strings])), [strict_warn])
|
2007-06-14 10:10:41 +02:00
|
|
|
ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual], [strict_warn])
|
|
|
|
|
|
|
|
# The above macros do nothing if the compiler is not GCC. However, the
|
|
|
|
# Makefile has more goo to add other flags, so this variabl is used to
|
|
|
|
# enables warnings only for GCC.
|
Makefile.in (RUN_GEN, [...]): New variables.
* Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
(DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
(executing gencheck, genconfigs, genconditions, genflags,
gencodes, genconstants, genemit, genrecog, genopinit, genextract,
genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
gengtype, genprotos): Prepend $(RUN_GEN).
* configure.in: Move host compiler tests before --enable-checking
tests.
(--enable-checking=valgrind): New.
* config.in, configure: Regenerate.
* cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
Define as empty.
(read_include_file): When doing the mmap+1 trick,
valgrind-annotate the byte after the mmap:ed area as readable.
(purge_cache): Remove above annotation.
* gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
VALGRIND_PATH -q to each command.
From-SVN: r59309
2002-11-20 20:49:53 +01:00
|
|
|
warn_cflags=
|
|
|
|
if test "x$GCC" = "xyes"; then
|
|
|
|
warn_cflags='$(GCC_WARN_CFLAGS)'
|
|
|
|
fi
|
|
|
|
AC_SUBST(warn_cflags)
|
|
|
|
|
configure.ac (strict1_warn): Rename to strict_warn.
2007-01-11 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (strict1_warn): Rename to strict_warn.
(WERROR, --enable-werror, symlink hacks, stage1_cflags,
cc_set_by_configure, quoted_cc_set_by_configure,
stage_prefix_set_by_configure, quoted_stage_prefix_set_by_configure,
all_boot_languages, all_stagestuff): Remove.
(target_list): Remove bootstrap targets.
* Makefile.in (quickstrap): Unconditionally make a synonym of all.
(BOOT_LANGUAGES, STAGE1_CFLAGS, STAGE1_CHECKING,
REMAKEFLAGS, FLAGS_TO_PASS, PREPEND_DOTDOT_TO_RELATIVE_PATHS,
SUBDIR_FLAGS_TO_PASS, WERROR_FLAGS, STRICT2_WARN, LANG_STAGESTUFF,
VOL_FILES, POSTSTAGE1_FLAGS_TO_PASS, STAGE2_FLAGS_TO_PASS,
STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS, stage1_build,
stage1_copy, stage2_build, stage2_copy, stageprofile_build,
stageprofile_copy, stage3_build, stage3_copy, stagefeedback_build,
stagefeedback_copy, stage4_build, clean_s1, clean_sw, bootstrap,
bootstrap-lean, bootstrap2, bootstrap2-lean, bootstrap3,
bootstrap3-lean, bootstrap4, bootstrap4-lean, unstage1, unstage2,
unstage3, unstage4, unstageprofile, unstagefeedback, restage, restage2,
restage3, restage4, restageprofile, restagefeedback, bubbleestrap,
cleanstrap, unstrap, restrap, *compare, *compare3, *compare4,
*compare-lean, *compare3-lean, *compare4-lean, stage1-start, stage1,
stage2-start, stage2, stage3-start, stage3, stage4-start, stage4,
stageprofile-start, stageprofile, stagefeedback-start, stagefeedback,
risky-stage1, risky-stage2, risky-stage3, risky-stage4): Remove.
(ORDINARY_FLAGS_TO_PASS): Rename to FLAGS_TO_PASS.
(STAGECOPYSTUFF, STAGEMOVESTUFF): Consolidate into MOSTLYCLEANFILES.
(mostlyclean): Adjust.
(clean, distclean): Don't mention bootstrap stuff.
* configure: Regenerate.
* ada/config-lang.in, cp/config-lang.in, forttran/config-lang.in,
java/config-lang.in, objc/config-lang.in, objcp/config-lang.in,
treelang/config-lang.in (stagestuff): Remove.
* doc/sourcebuild.texi (stage1, stage2, stage3, stage4,
stageprofile, stagefeedback, stagestuff): Remove mention.
From-SVN: r120670
2007-01-11 11:49:30 +01:00
|
|
|
# Enable expensive internal checks
|
gcc-version.m4: Delete.
config:
* gcc-version.m4: Delete.
fastjar:
* Makefile.am (fastjar_TEXINFOS): Add gcc-vers.texi.
(BASEVER, DEVPHASE): New variables.
(POD2MAN): Adjust setting of --release option.
(fastjar.1, grepjar.1, gcc-vers.texi): New rules.
* Makefile.in: Regenerate.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
* aclocal.m4, configure: Regenerate.
gcc:
* BASE-VER, DATESTAMP, DEV-PHASE: New files.
* Makefile.in (gcc_version, gcc_version_trigger, ): Delete.
(BASEVER, DEVPHASE, DATESTAMP, BASEVER_c, DEVPHASE_c, DATESTAMP_c)
(BASEVER_s, DEVPHASE_s, DATESTAMP_s): New variables.
(version): Define using $(BASEVER_c).
(Makefile, config.status, build/gcov-iov.o): No longer depends on
version.c.
(version.o): Depend on version files; add custom generation command.
(prefix.o): Define BASEVER on command line.
(s-iov): Depend on version files; adjust command.
(TEXI_CPP_FILES, TEX_IGCC_FILES, TEXI_GCCINT_FILES, TEXI_CPPINT_FILES):
Add gcc-vers.texi.
(gcc-vers.texi): New rule.
(doc/%.info, doc/%.dvi): Add -I . to command line.
(doc/gccinstall.dvi): Likewise.
(PACKAGE): Delete. All uses replaced with "gcc".
* aclocal.m4: Do not include gcc-version.m4.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
Do not AC_SUBST nor AC_DEFINE PACKAGE or VERSION.
Set is_release based on contents of DEV-PHASE.
Set gcc_version based on contents of BASE-VER.
Define WIN32_REGISTRY_KEY only if the user overrode the default.
* config.in, configure: Regenerate.
* gccbug.in: Determine version of GCC in use at runtime.
* gcov-iov.c: Get version number and development phase from
command line, not by including version.c.
* intl.c: Replace all uses of PACKAGE with "gcc".
* libada-mk.in: Delete unused "gcc_version" variable.
* prefix.c: Default WIN32_REGISTRY_KEY to BASEVER.
* version.c: (VERSUFFIX): New hook for redistributors; adjust
commentary to match.
(version_string): Put together from pieces.
* config/alpha/x-vms: Do not use $(gcc_version).
* config/i386/t-nwld: Likewise.
* doc/include/gcc-common.texi: Include gcc-vers.texi for
version-GCC and DEVELOPMENT.
gcc/ada:
* Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
(doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
to dependencies.
gcc/fortran:
* Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
gcc/java:
* Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
gcc/treelang:
* Make-lang.in (TEXI_TREELANG_FILES): Add gcc-vers.texi.
libstdc++-v3:
* include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc
subdirectory. Generate #define of __GLIBCXX__ from contents of
that file.
* include/Makefile.in: Regenerate.
* include/bits/c++config: Do not define __GLIBCXX__.
maintainer-scripts:
* README: Update.
* gcc_release: Update gcc/DEV-PHASE if that file exists, instead
of gcc/version.c.
* update_version: Handle updating gcc/DATESTAMP.
* update_web_docs: Generate gcc-vers.texi first.
From-SVN: r96549
2005-03-16 07:04:10 +01:00
|
|
|
is_release=
|
|
|
|
if test x"`cat $srcdir/DEV-PHASE`" != xexperimental; then
|
|
|
|
is_release=yes
|
|
|
|
fi
|
2003-01-21 14:45:16 +01:00
|
|
|
|
1998-05-13 13:57:25 +02:00
|
|
|
AC_ARG_ENABLE(checking,
|
acconfig.h: New ENABLE flags: TREE_CHECKING, RTL_CHECKING, GC_CHECKING, GC_ALWAYS_COLLECT.
1999-12-26 Zack Weinberg <zack@wolery.cumb.org>
* acconfig.h: New ENABLE flags: TREE_CHECKING, RTL_CHECKING,
GC_CHECKING, GC_ALWAYS_COLLECT.
* configure.in: Allow --enable-checking with an argument
listing check modes to enable.
* config.in, configure: Rebuilt.
* ggc-page.c, ggc-simple.c: Define GGC_POISON (and
GGC_ALWAYS_VERIFY for ggc-simple.c) only if
ENABLE_GC_CHECKING. Define GGC_ALWAYS_COLLECT only if
ENABLE_GC_ALWAYS_COLLECT.
* rtl.h, rtl.c: Change ENABLE_CHECKING to ENABLE_RTL_CHECKING
throughout.
* tree.h, tree.c: Change ENABLE_CHECKING to
ENABLE_TREE_CHECKING throughout.
* cp-tree.h: Replace ENABLE_CHECKING with ENABLE_TREE_CHECKING
throughout.
From-SVN: r31093
1999-12-27 00:06:54 +01:00
|
|
|
[ --enable-checking[=LIST]
|
|
|
|
enable expensive run-time checks. With LIST,
|
|
|
|
enable only specific categories of checks.
|
2005-04-01 15:58:20 +02:00
|
|
|
Categories are: yes,no,all,none,release.
|
2008-07-28 16:33:56 +02:00
|
|
|
Flags are: assert,df,fold,gc,gcac,gimple,misc,
|
2007-07-26 12:27:50 +02:00
|
|
|
rtlflag,rtl,runtime,tree,valgrind,types.],
|
2004-09-07 11:56:31 +02:00
|
|
|
[ac_checking_flags="${enableval}"],[
|
|
|
|
# Determine the default checks.
|
|
|
|
if test x$is_release = x ; then
|
|
|
|
ac_checking_flags=yes
|
|
|
|
else
|
|
|
|
ac_checking_flags=release
|
|
|
|
fi])
|
|
|
|
IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS,"
|
2007-06-14 15:27:32 +02:00
|
|
|
for check in release $ac_checking_flags
|
2004-09-07 11:56:31 +02:00
|
|
|
do
|
|
|
|
case $check in
|
2005-04-01 15:58:20 +02:00
|
|
|
# these set all the flags to specific states
|
2007-08-05 18:04:12 +02:00
|
|
|
yes) ac_assert_checking=1 ; ac_checking=1 ; ac_df_checking= ;
|
2005-04-01 15:58:20 +02:00
|
|
|
ac_fold_checking= ; ac_gc_checking=1 ;
|
2008-07-28 16:33:56 +02:00
|
|
|
ac_gc_always_collect= ; ac_gimple_checking=1 ; ac_rtl_checking= ;
|
2005-05-08 12:13:19 +02:00
|
|
|
ac_rtlflag_checking=1 ; ac_runtime_checking=1 ;
|
2007-07-26 12:27:50 +02:00
|
|
|
ac_tree_checking=1 ; ac_valgrind_checking= ;
|
2008-03-24 16:08:52 +01:00
|
|
|
ac_types_checking=1 ;;
|
2007-06-14 09:51:58 +02:00
|
|
|
no|none) ac_assert_checking= ; ac_checking= ; ac_df_checking= ;
|
2005-04-01 15:58:20 +02:00
|
|
|
ac_fold_checking= ; ac_gc_checking= ;
|
2008-07-28 16:33:56 +02:00
|
|
|
ac_gc_always_collect= ; ac_gimple_checking= ; ac_rtl_checking= ;
|
2005-05-08 12:13:19 +02:00
|
|
|
ac_rtlflag_checking= ; ac_runtime_checking= ;
|
2007-07-26 12:27:50 +02:00
|
|
|
ac_tree_checking= ; ac_valgrind_checking= ;
|
|
|
|
ac_types_checking= ;;
|
2007-06-14 09:51:58 +02:00
|
|
|
all) ac_assert_checking=1 ; ac_checking=1 ; ac_df_checking=1 ;
|
2005-04-01 15:58:20 +02:00
|
|
|
ac_fold_checking=1 ; ac_gc_checking=1 ;
|
2008-07-28 16:33:56 +02:00
|
|
|
ac_gc_always_collect=1 ; ac_gimple_checking=1 ; ac_rtl_checking=1 ;
|
2005-04-01 15:58:20 +02:00
|
|
|
ac_rtlflag_checking=1 ; ac_runtime_checking=1 ;
|
2007-07-26 12:27:50 +02:00
|
|
|
ac_tree_checking=1 ; ac_valgrind_checking= ;
|
|
|
|
ac_types_checking=1 ;;
|
2007-06-14 09:51:58 +02:00
|
|
|
release) ac_assert_checking=1 ; ac_checking= ; ac_df_checking= ;
|
2005-04-01 15:58:20 +02:00
|
|
|
ac_fold_checking= ; ac_gc_checking= ;
|
2008-07-28 16:33:56 +02:00
|
|
|
ac_gc_always_collect= ; ac_gimple_checking= ; ac_rtl_checking= ;
|
2005-04-01 15:58:20 +02:00
|
|
|
ac_rtlflag_checking= ; ac_runtime_checking=1 ;
|
2007-07-26 12:27:50 +02:00
|
|
|
ac_tree_checking= ; ac_valgrind_checking= ;
|
|
|
|
ac_types_checking= ;;
|
2005-04-01 15:58:20 +02:00
|
|
|
# these enable particular checks
|
2004-09-07 11:56:31 +02:00
|
|
|
assert) ac_assert_checking=1 ;;
|
2007-06-14 09:51:58 +02:00
|
|
|
df) ac_df_checking=1 ;;
|
2004-09-07 11:56:31 +02:00
|
|
|
fold) ac_fold_checking=1 ;;
|
|
|
|
gc) ac_gc_checking=1 ;;
|
|
|
|
gcac) ac_gc_always_collect=1 ;;
|
2008-07-28 16:33:56 +02:00
|
|
|
gimple) ac_gimple_checking=1 ;;
|
2004-09-07 11:56:31 +02:00
|
|
|
misc) ac_checking=1 ;;
|
|
|
|
rtl) ac_rtl_checking=1 ;;
|
2005-04-01 15:58:20 +02:00
|
|
|
rtlflag) ac_rtlflag_checking=1 ;;
|
2005-03-24 15:09:06 +01:00
|
|
|
runtime) ac_runtime_checking=1 ;;
|
2004-09-07 11:56:31 +02:00
|
|
|
tree) ac_tree_checking=1 ;;
|
2007-07-26 12:27:50 +02:00
|
|
|
types) ac_types_checking=1 ;;
|
2005-04-01 15:58:20 +02:00
|
|
|
valgrind) ac_valgrind_checking=1 ;;
|
2004-09-07 11:56:31 +02:00
|
|
|
*) AC_MSG_ERROR(unknown check category $check) ;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
IFS="$ac_save_IFS"
|
|
|
|
|
2002-08-15 23:45:47 +02:00
|
|
|
nocommon_flag=""
|
acconfig.h (ENABLE_STD_NAMESPACE, [...]): Delete entries.
* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Delete entries.
* configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
for these macros. Clean up spacing and linewraps.
From-SVN: r33420
2000-04-25 22:30:16 +02:00
|
|
|
if test x$ac_checking != x ; then
|
|
|
|
AC_DEFINE(ENABLE_CHECKING, 1,
|
|
|
|
[Define if you want more run-time sanity checks. This one gets a grab
|
|
|
|
bag of miscellaneous but relatively cheap checks.])
|
2002-08-15 23:45:47 +02:00
|
|
|
nocommon_flag=-fno-common
|
acconfig.h (ENABLE_STD_NAMESPACE, [...]): Delete entries.
* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Delete entries.
* configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
for these macros. Clean up spacing and linewraps.
From-SVN: r33420
2000-04-25 22:30:16 +02:00
|
|
|
fi
|
2002-08-15 23:45:47 +02:00
|
|
|
AC_SUBST(nocommon_flag)
|
2007-06-14 09:51:58 +02:00
|
|
|
if test x$ac_df_checking != x ; then
|
|
|
|
AC_DEFINE(ENABLE_DF_CHECKING, 1,
|
|
|
|
[Define if you want more run-time sanity checks for dataflow.])
|
|
|
|
fi
|
2004-08-27 18:20:45 +02:00
|
|
|
if test x$ac_assert_checking != x ; then
|
|
|
|
AC_DEFINE(ENABLE_ASSERT_CHECKING, 1,
|
|
|
|
[Define if you want assertions enabled. This is a cheap check.])
|
|
|
|
fi
|
2008-07-28 16:33:56 +02:00
|
|
|
if test x$ac_gimple_checking != x ; then
|
|
|
|
AC_DEFINE(ENABLE_GIMPLE_CHECKING, 1,
|
|
|
|
[Define if you want operations on GIMPLE (the basic data structure of
|
|
|
|
the high-level optimizers) to be checked for dynamic type safety at
|
|
|
|
runtime. This is moderately expensive.])
|
|
|
|
fi
|
2005-05-08 12:13:19 +02:00
|
|
|
GCC_TARGET_TEMPLATE(ENABLE_RUNTIME_CHECKING)
|
2005-03-24 15:09:06 +01:00
|
|
|
if test x$ac_runtime_checking != x ; then
|
|
|
|
AC_DEFINE(ENABLE_RUNTIME_CHECKING, 1,
|
|
|
|
[Define if you want runtime assertions enabled. This is a cheap check.])
|
|
|
|
fi
|
acconfig.h (ENABLE_STD_NAMESPACE, [...]): Delete entries.
* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Delete entries.
* configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
for these macros. Clean up spacing and linewraps.
From-SVN: r33420
2000-04-25 22:30:16 +02:00
|
|
|
if test x$ac_tree_checking != x ; then
|
|
|
|
AC_DEFINE(ENABLE_TREE_CHECKING, 1,
|
|
|
|
[Define if you want all operations on trees (the basic data
|
|
|
|
structure of the front ends) to be checked for dynamic type safety
|
2004-05-27 21:47:36 +02:00
|
|
|
at runtime. This is moderately expensive. The tree browser debugging
|
|
|
|
routines will also be enabled by this option.
|
|
|
|
])
|
|
|
|
TREEBROWSER=tree-browser.o
|
acconfig.h (ENABLE_STD_NAMESPACE, [...]): Delete entries.
* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Delete entries.
* configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
for these macros. Clean up spacing and linewraps.
From-SVN: r33420
2000-04-25 22:30:16 +02:00
|
|
|
fi
|
2007-07-26 12:27:50 +02:00
|
|
|
if test x$ac_types_checking != x ; then
|
|
|
|
AC_DEFINE(ENABLE_TYPES_CHECKING, 1,
|
|
|
|
[Define if you want all gimple types to be verified after gimplifiation.
|
|
|
|
This is cheap.
|
|
|
|
])
|
|
|
|
fi
|
2004-05-27 21:47:36 +02:00
|
|
|
AC_SUBST(TREEBROWSER)
|
acconfig.h (ENABLE_STD_NAMESPACE, [...]): Delete entries.
* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Delete entries.
* configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
for these macros. Clean up spacing and linewraps.
From-SVN: r33420
2000-04-25 22:30:16 +02:00
|
|
|
if test x$ac_rtl_checking != x ; then
|
|
|
|
AC_DEFINE(ENABLE_RTL_CHECKING, 1,
|
|
|
|
[Define if you want all operations on RTL (the basic data structure
|
|
|
|
of the optimizer and back end) to be checked for dynamic type safety
|
|
|
|
at runtime. This is quite expensive.])
|
|
|
|
fi
|
2002-05-08 00:52:19 +02:00
|
|
|
if test x$ac_rtlflag_checking != x ; then
|
|
|
|
AC_DEFINE(ENABLE_RTL_FLAG_CHECKING, 1,
|
|
|
|
[Define if you want RTL flag accesses to be checked against the RTL
|
|
|
|
codes that are supported for each access macro. This is relatively
|
|
|
|
cheap.])
|
|
|
|
fi
|
acconfig.h (ENABLE_STD_NAMESPACE, [...]): Delete entries.
* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Delete entries.
* configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
for these macros. Clean up spacing and linewraps.
From-SVN: r33420
2000-04-25 22:30:16 +02:00
|
|
|
if test x$ac_gc_checking != x ; then
|
|
|
|
AC_DEFINE(ENABLE_GC_CHECKING, 1,
|
|
|
|
[Define if you want the garbage collector to do object poisoning and
|
|
|
|
other memory allocation checks. This is quite expensive.])
|
|
|
|
fi
|
|
|
|
if test x$ac_gc_always_collect != x ; then
|
|
|
|
AC_DEFINE(ENABLE_GC_ALWAYS_COLLECT, 1,
|
|
|
|
[Define if you want the garbage collector to operate in maximally
|
|
|
|
paranoid mode, validating the entire heap and collecting garbage at
|
|
|
|
every opportunity. This is extremely expensive.])
|
|
|
|
fi
|
2003-07-28 17:42:24 +02:00
|
|
|
if test x$ac_fold_checking != x ; then
|
|
|
|
AC_DEFINE(ENABLE_FOLD_CHECKING, 1,
|
|
|
|
[Define if you want fold checked that it never destructs its argument.
|
|
|
|
This is quite expensive.])
|
|
|
|
fi
|
Makefile.in (RUN_GEN, [...]): New variables.
* Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
(DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
(executing gencheck, genconfigs, genconditions, genflags,
gencodes, genconstants, genemit, genrecog, genopinit, genextract,
genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
gengtype, genprotos): Prepend $(RUN_GEN).
* configure.in: Move host compiler tests before --enable-checking
tests.
(--enable-checking=valgrind): New.
* config.in, configure: Regenerate.
* cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
Define as empty.
(read_include_file): When doing the mmap+1 trick,
valgrind-annotate the byte after the mmap:ed area as readable.
(purge_cache): Remove above annotation.
* gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
VALGRIND_PATH -q to each command.
From-SVN: r59309
2002-11-20 20:49:53 +01:00
|
|
|
valgrind_path_defines=
|
|
|
|
valgrind_command=
|
2003-12-04 19:46:11 +01:00
|
|
|
|
|
|
|
dnl # This check AC_REQUIREs various stuff, so it *must not* be inside
|
|
|
|
dnl # an if statement. This was the source of very frustrating bugs
|
|
|
|
dnl # in converting to autoconf 2.5x!
|
|
|
|
AC_CHECK_HEADER(valgrind.h, have_valgrind_h=yes, have_valgrind_h=no)
|
|
|
|
|
2005-04-01 15:58:20 +02:00
|
|
|
if test x$ac_valgrind_checking != x ; then
|
Makefile.in (RUN_GEN, [...]): New variables.
* Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
(DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
(executing gencheck, genconfigs, genconditions, genflags,
gencodes, genconstants, genemit, genrecog, genopinit, genextract,
genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
gengtype, genprotos): Prepend $(RUN_GEN).
* configure.in: Move host compiler tests before --enable-checking
tests.
(--enable-checking=valgrind): New.
* config.in, configure: Regenerate.
* cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
Define as empty.
(read_include_file): When doing the mmap+1 trick,
valgrind-annotate the byte after the mmap:ed area as readable.
(purge_cache): Remove above annotation.
* gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
VALGRIND_PATH -q to each command.
From-SVN: r59309
2002-11-20 20:49:53 +01:00
|
|
|
# It is certainly possible that there's valgrind but no valgrind.h.
|
|
|
|
# GCC relies on making annotations so we must have both.
|
2003-10-29 23:13:59 +01:00
|
|
|
AC_MSG_CHECKING(for VALGRIND_DISCARD in <valgrind/memcheck.h>)
|
2005-07-06 03:56:56 +02:00
|
|
|
AC_PREPROC_IFELSE([AC_LANG_SOURCE(
|
|
|
|
[[#include <valgrind/memcheck.h>
|
2003-10-29 23:13:59 +01:00
|
|
|
#ifndef VALGRIND_DISCARD
|
|
|
|
#error VALGRIND_DISCARD not defined
|
2005-07-06 03:56:56 +02:00
|
|
|
#endif]])],
|
2003-10-29 23:13:59 +01:00
|
|
|
[gcc_cv_header_valgrind_memcheck_h=yes],
|
|
|
|
[gcc_cv_header_valgrind_memcheck_h=no])
|
|
|
|
AC_MSG_RESULT($gcc_cv_header_valgrind_memcheck_h)
|
2003-03-04 18:51:00 +01:00
|
|
|
AC_MSG_CHECKING(for VALGRIND_DISCARD in <memcheck.h>)
|
2005-07-06 03:56:56 +02:00
|
|
|
AC_PREPROC_IFELSE([AC_LANG_SOURCE(
|
|
|
|
[[#include <memcheck.h>
|
2003-03-04 18:51:00 +01:00
|
|
|
#ifndef VALGRIND_DISCARD
|
|
|
|
#error VALGRIND_DISCARD not defined
|
2005-07-06 03:56:56 +02:00
|
|
|
#endif]])],
|
|
|
|
[gcc_cv_header_memcheck_h=yes],
|
|
|
|
[gcc_cv_header_memcheck_h=no])
|
2003-03-04 18:51:00 +01:00
|
|
|
AC_MSG_RESULT($gcc_cv_header_memcheck_h)
|
Makefile.in (RUN_GEN, [...]): New variables.
* Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
(DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
(executing gencheck, genconfigs, genconditions, genflags,
gencodes, genconstants, genemit, genrecog, genopinit, genextract,
genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
gengtype, genprotos): Prepend $(RUN_GEN).
* configure.in: Move host compiler tests before --enable-checking
tests.
(--enable-checking=valgrind): New.
* config.in, configure: Regenerate.
* cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
Define as empty.
(read_include_file): When doing the mmap+1 trick,
valgrind-annotate the byte after the mmap:ed area as readable.
(purge_cache): Remove above annotation.
* gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
VALGRIND_PATH -q to each command.
From-SVN: r59309
2002-11-20 20:49:53 +01:00
|
|
|
AM_PATH_PROG_WITH_TEST(valgrind_path, valgrind,
|
|
|
|
[$ac_dir/$ac_word --version | grep valgrind- >/dev/null 2>&1])
|
2003-10-29 23:13:59 +01:00
|
|
|
if test "x$valgrind_path" = "x" \
|
|
|
|
|| (test $have_valgrind_h = no \
|
|
|
|
&& test $gcc_cv_header_memcheck_h = no \
|
|
|
|
&& test $gcc_cv_header_valgrind_memcheck_h = no); then
|
|
|
|
AC_MSG_ERROR([*** Can't find both valgrind and valgrind/memcheck.h, memcheck.h or valgrind.h])
|
Makefile.in (RUN_GEN, [...]): New variables.
* Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
(DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
(executing gencheck, genconfigs, genconditions, genflags,
gencodes, genconstants, genemit, genrecog, genopinit, genextract,
genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
gengtype, genprotos): Prepend $(RUN_GEN).
* configure.in: Move host compiler tests before --enable-checking
tests.
(--enable-checking=valgrind): New.
* config.in, configure: Regenerate.
* cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
Define as empty.
(read_include_file): When doing the mmap+1 trick,
valgrind-annotate the byte after the mmap:ed area as readable.
(purge_cache): Remove above annotation.
* gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
VALGRIND_PATH -q to each command.
From-SVN: r59309
2002-11-20 20:49:53 +01:00
|
|
|
fi
|
|
|
|
valgrind_path_defines=-DVALGRIND_PATH='\"'$valgrind_path'\"'
|
|
|
|
valgrind_command="$valgrind_path -q"
|
|
|
|
AC_DEFINE(ENABLE_VALGRIND_CHECKING, 1,
|
|
|
|
[Define if you want to run subprograms and generated programs
|
|
|
|
through valgrind (a memory checker). This is extremely expensive.])
|
2003-10-29 23:13:59 +01:00
|
|
|
if test $gcc_cv_header_valgrind_memcheck_h = yes; then
|
|
|
|
AC_DEFINE(HAVE_VALGRIND_MEMCHECK_H, 1,
|
|
|
|
[Define if valgrind's valgrind/memcheck.h header is installed.])
|
|
|
|
fi
|
2003-03-04 18:51:00 +01:00
|
|
|
if test $gcc_cv_header_memcheck_h = yes; then
|
|
|
|
AC_DEFINE(HAVE_MEMCHECK_H, 1,
|
|
|
|
[Define if valgrind's memcheck.h header is installed.])
|
|
|
|
fi
|
Makefile.in (RUN_GEN, [...]): New variables.
* Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
(DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
(executing gencheck, genconfigs, genconditions, genflags,
gencodes, genconstants, genemit, genrecog, genopinit, genextract,
genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
gengtype, genprotos): Prepend $(RUN_GEN).
* configure.in: Move host compiler tests before --enable-checking
tests.
(--enable-checking=valgrind): New.
* config.in, configure: Regenerate.
* cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
Define as empty.
(read_include_file): When doing the mmap+1 trick,
valgrind-annotate the byte after the mmap:ed area as readable.
(purge_cache): Remove above annotation.
* gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
VALGRIND_PATH -q to each command.
From-SVN: r59309
2002-11-20 20:49:53 +01:00
|
|
|
fi
|
|
|
|
AC_SUBST(valgrind_path_defines)
|
|
|
|
AC_SUBST(valgrind_command)
|
2000-06-14 05:06:30 +02:00
|
|
|
|
2002-08-08 11:10:39 +02:00
|
|
|
# Enable code coverage collection
|
|
|
|
AC_ARG_ENABLE(coverage,
|
|
|
|
[ --enable-coverage[=LEVEL]
|
2004-08-20 14:27:32 +02:00
|
|
|
enable compiler's code coverage collection.
|
2002-08-08 11:10:39 +02:00
|
|
|
Use to measure compiler performance and locate
|
2002-12-24 19:44:00 +01:00
|
|
|
unused parts of the compiler. With LEVEL, specify
|
2002-08-08 11:10:39 +02:00
|
|
|
optimization. Values are opt, noopt,
|
|
|
|
default is noopt],
|
|
|
|
[case "${enableval}" in
|
2004-03-22 10:49:36 +01:00
|
|
|
yes|noopt)
|
|
|
|
coverage_flags="-fprofile-arcs -ftest-coverage -frandom-seed=\$@ -O0"
|
|
|
|
;;
|
|
|
|
opt)
|
|
|
|
coverage_flags="-fprofile-arcs -ftest-coverage -frandom-seed=\$@ -O2"
|
|
|
|
;;
|
|
|
|
no)
|
|
|
|
# a.k.a. --disable-coverage
|
|
|
|
coverage_flags=""
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_ERROR(unknown coverage setting $enableval)
|
|
|
|
;;
|
2002-08-08 11:10:39 +02:00
|
|
|
esac],
|
2002-08-09 10:51:27 +02:00
|
|
|
[coverage_flags=""])
|
2002-08-08 11:10:39 +02:00
|
|
|
AC_SUBST(coverage_flags)
|
|
|
|
|
2003-12-22 08:42:43 +01:00
|
|
|
AC_ARG_ENABLE(gather-detailed-mem-stats,
|
|
|
|
[ --enable-gather-detailed-mem-stats enable detailed memory allocation stats gathering], [],
|
|
|
|
[enable_gather_detailed_mem_stats=no])
|
|
|
|
if test x$enable_gather_detailed_mem_stats = xyes ; then
|
|
|
|
AC_DEFINE(GATHER_STATISTICS, 1,
|
|
|
|
[Define to enable detailed memory allocation stats gathering.])
|
|
|
|
fi
|
|
|
|
|
2003-03-12 21:41:00 +01:00
|
|
|
# -------------------------------
|
|
|
|
# Miscenalleous configure options
|
|
|
|
# -------------------------------
|
2003-03-04 08:41:00 +01:00
|
|
|
|
|
|
|
# With stabs
|
|
|
|
AC_ARG_WITH(stabs,
|
|
|
|
[ --with-stabs arrange to use stabs instead of host debug format],
|
|
|
|
stabs="$with_stabs",
|
|
|
|
stabs=no)
|
|
|
|
|
|
|
|
# Determine whether or not multilibs are enabled.
|
|
|
|
AC_ARG_ENABLE(multilib,
|
|
|
|
[ --enable-multilib enable library support for multiple ABIs],
|
|
|
|
[], [enable_multilib=yes])
|
|
|
|
AC_SUBST(enable_multilib)
|
1999-05-12 19:38:28 +02:00
|
|
|
|
2002-06-07 19:14:56 +02:00
|
|
|
# Enable __cxa_atexit for C++.
|
|
|
|
AC_ARG_ENABLE(__cxa_atexit,
|
|
|
|
[ --enable-__cxa_atexit enable __cxa_atexit for C++],
|
|
|
|
[], [])
|
2003-06-03 22:39:52 +02:00
|
|
|
|
2005-12-21 01:43:21 +01:00
|
|
|
# Enable C extension for decimal float if target supports it.
|
|
|
|
AC_ARG_ENABLE(decimal-float,
|
2007-03-24 18:04:47 +01:00
|
|
|
[ --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],
|
2005-12-21 01:43:21 +01:00
|
|
|
[
|
2007-03-24 18:04:47 +01:00
|
|
|
case $enable_decimal_float in
|
|
|
|
yes | no | bid | dpd) ;;
|
|
|
|
*) AC_MSG_ERROR(['$enable_decimal_float' is an invalid value for --enable-decimal-float.
|
|
|
|
Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;;
|
|
|
|
esac
|
|
|
|
],
|
|
|
|
[
|
|
|
|
case $target in
|
|
|
|
powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux*)
|
2006-02-06 05:23:54 +01:00
|
|
|
enable_decimal_float=yes
|
2005-12-21 01:43:21 +01:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_WARN(decimal float is not supported for this target, ignored)
|
|
|
|
enable_decimal_float=no
|
|
|
|
;;
|
2007-03-24 18:04:47 +01:00
|
|
|
esac
|
|
|
|
])
|
2005-12-21 01:43:21 +01:00
|
|
|
|
2007-03-24 18:04:47 +01:00
|
|
|
dfp=`if test $enable_decimal_float != no; then echo 1; else echo 0; fi`
|
2005-12-21 01:43:21 +01:00
|
|
|
AC_DEFINE_UNQUOTED(ENABLE_DECIMAL_FLOAT, $dfp,
|
|
|
|
[Define to 1 to enable decimal float extension to C.])
|
|
|
|
|
2007-03-24 18:04:47 +01:00
|
|
|
# x86's use BID format instead of DPD
|
|
|
|
case x$enable_decimal_float in
|
|
|
|
xyes)
|
|
|
|
case $target in
|
|
|
|
i?86*-*-linux* | x86_64*-*-linux*)
|
|
|
|
enable_decimal_float=bid
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
enable_decimal_float=dpd
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
xno)
|
|
|
|
# ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper
|
|
|
|
# dependency on libdecnumber.
|
|
|
|
enable_decimal_float=dpd
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
AC_SUBST(enable_decimal_float)
|
|
|
|
|
|
|
|
bid=`if test $enable_decimal_float = bid; then echo 1; else echo 0; fi`
|
|
|
|
AC_DEFINE_UNQUOTED(ENABLE_DECIMAL_BID_FORMAT, $bid,
|
|
|
|
[Define to 1 to specify that we are using the BID decimal floating
|
|
|
|
point format instead of DPD])
|
|
|
|
|
c-common.h (enum rid): Add new enumeration values of RID_SAT, RID_FRACT, and RID_ACCUM.
* c-common.h (enum rid): Add new enumeration values of RID_SAT,
RID_FRACT, and RID_ACCUM. RID_SAT needs to be inserted before
RID_ONEWAY, so that it can be checked in declspecs_add_type.
(c_common_fixed_point_type_for_size): Declare.
* c-parser.c (reswords): Add _Fract, _Accum, and _Sat.
(c_token_starts_typename): Handle RID_FRACT, RID_ACCUM, and RID_SAT.
(c_token_starts_declspecs): Likewise.
(c_parser_declspecs): Likewise.
(c_parser_attributes): Likewise.
* c-tree.h (enum c_typespec_keyword): Add cts_fract and cts_accum.
(c_declspecs): Add saturating_p.
* c-decl.c (build_null_declspecs): Initialize saturating_p.
(declspecs_add_type): Avoid using complex with _Fract, _Accum, or _Sat.
Handle RID_SAT.
Avoid using void, bool, char, int, float, double, _Decimal32,
_Decimal64, _Decimal128, and complex with _Sat.
Handle RID_FRACT and RID_ACCUM.
Make sure _Sat is used with _Fract or _Accum.
(finish_declspecs): Handle cts_fract and cts_accum.
* c-common.c (fixed-value.h): New include.
(constant_expression_warning): Handle FIXED_CST.
(overflow_warning): Likewise.
(warnings_for_convert_and_check): Likewise.
(c_common_fixed_point_type_for_size): New.
(c_common_type_for_mode): Handle fixed-point modes to
return various saturating/non-saturating, signed/unsigned types.
(c_common_signed_or_unsigned_type): Support fixed-point types.
(shorten_compare): Check fixed-point zero.
Handle FIXED_POINT_TYPE.
(c_common_truthvalue_conversion): Handle FIXED_CST.
Handle FIXED_POINT_TYPE.
(c_common_nodes_and_builtins): Record builtin types for fixed-point
types.
(handle_mode_attribute): Handle fixed-point modes. Need to check
if the signness of base type and fixed-point modes are consistent.
(handle_vector_size_attribute): Handle fixed-point modes.
(same_scalar_type_ignoring_signedness): Handle FIXED_POINT_TYPE.
(warn_for_div_by_zero): Check fixed-point zero.
* c-typeck.c (c_common_type): Check FIXED_POINT_TYPE. Build
a common fixed-point type based on fbit, ibit, sign, and saturation.
(build_unary_op): Allow FIXED_POINT_TYPE for CONVERT_EXPR,
NEGATE_EXPR, TRUTH_NOT_EXPR, PREINCREMENT_EXPR, POSTINCREMENT_EXPR,
PREDECREMENT_EXPR, and POSTDECREMENT_EXPR.
(convert_for_assignment): Support FIXED_POINT_TYPE.
(digest_init): Handle FIXED_POINT_TYPE.
(build_binary_op): Support FIXED_POINT_TYPE in *_DIV_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
TRUTH_XOR_EXPR, RSHIFT_EXPR, LSHIFT_EXPR, EQ_EXPR, NE_EXPR, LE_EXPR,
GE_EXPR, LT_EXPR, GT_EXPR.
* target-def.h (TARGET_FIXED_POINT_SUPPORTED_P): New.
(TARGET_INITIALIZER): Add TARGET_FIXED_POINT_SUPPORTED_P.
* target.h (gcc_target): Add fixed_point_supported_p.
* targhooks.c (default_scalar_mode_supported_p): Handle MODE_FRACT,
MODE_UFRACT, MODE_ACCUM, and MODE_UACCUM.
(default_fixed_point_supported_p): Define.
* targhooks.h (default_fixed_point_supported_p): Declare.
* doc/tm.texi (TARGET_FIXED_POINT_SUPPORTED_P): Add.
* doc/install.texi (Configuration): Add --enable-fixed-point.
* configure.ac (--enable-fixed-point): New to enable fixed-point
arithmetic extension to C. For mips targets, we enable it by default.
* configure, config.in: Regenerate.
From-SVN: r127652
2007-08-21 00:26:47 +02:00
|
|
|
# Enable C extension for fixed-point arithmetic.
|
|
|
|
AC_ARG_ENABLE(fixed-point,
|
|
|
|
[ --enable-fixed-point enable fixed-point arithmetic extension to C],
|
|
|
|
[
|
|
|
|
],
|
|
|
|
[
|
|
|
|
case $target in
|
|
|
|
mips*-*-*)
|
2008-02-01 18:41:48 +01:00
|
|
|
case $host in
|
|
|
|
mips*-sgi-irix*)
|
|
|
|
AC_MSG_WARN(fixed-point is not supported on IRIX, ignored)
|
|
|
|
enable_fixed_point=no
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
enable_fixed_point=yes
|
|
|
|
;;
|
|
|
|
esac
|
c-common.h (enum rid): Add new enumeration values of RID_SAT, RID_FRACT, and RID_ACCUM.
* c-common.h (enum rid): Add new enumeration values of RID_SAT,
RID_FRACT, and RID_ACCUM. RID_SAT needs to be inserted before
RID_ONEWAY, so that it can be checked in declspecs_add_type.
(c_common_fixed_point_type_for_size): Declare.
* c-parser.c (reswords): Add _Fract, _Accum, and _Sat.
(c_token_starts_typename): Handle RID_FRACT, RID_ACCUM, and RID_SAT.
(c_token_starts_declspecs): Likewise.
(c_parser_declspecs): Likewise.
(c_parser_attributes): Likewise.
* c-tree.h (enum c_typespec_keyword): Add cts_fract and cts_accum.
(c_declspecs): Add saturating_p.
* c-decl.c (build_null_declspecs): Initialize saturating_p.
(declspecs_add_type): Avoid using complex with _Fract, _Accum, or _Sat.
Handle RID_SAT.
Avoid using void, bool, char, int, float, double, _Decimal32,
_Decimal64, _Decimal128, and complex with _Sat.
Handle RID_FRACT and RID_ACCUM.
Make sure _Sat is used with _Fract or _Accum.
(finish_declspecs): Handle cts_fract and cts_accum.
* c-common.c (fixed-value.h): New include.
(constant_expression_warning): Handle FIXED_CST.
(overflow_warning): Likewise.
(warnings_for_convert_and_check): Likewise.
(c_common_fixed_point_type_for_size): New.
(c_common_type_for_mode): Handle fixed-point modes to
return various saturating/non-saturating, signed/unsigned types.
(c_common_signed_or_unsigned_type): Support fixed-point types.
(shorten_compare): Check fixed-point zero.
Handle FIXED_POINT_TYPE.
(c_common_truthvalue_conversion): Handle FIXED_CST.
Handle FIXED_POINT_TYPE.
(c_common_nodes_and_builtins): Record builtin types for fixed-point
types.
(handle_mode_attribute): Handle fixed-point modes. Need to check
if the signness of base type and fixed-point modes are consistent.
(handle_vector_size_attribute): Handle fixed-point modes.
(same_scalar_type_ignoring_signedness): Handle FIXED_POINT_TYPE.
(warn_for_div_by_zero): Check fixed-point zero.
* c-typeck.c (c_common_type): Check FIXED_POINT_TYPE. Build
a common fixed-point type based on fbit, ibit, sign, and saturation.
(build_unary_op): Allow FIXED_POINT_TYPE for CONVERT_EXPR,
NEGATE_EXPR, TRUTH_NOT_EXPR, PREINCREMENT_EXPR, POSTINCREMENT_EXPR,
PREDECREMENT_EXPR, and POSTDECREMENT_EXPR.
(convert_for_assignment): Support FIXED_POINT_TYPE.
(digest_init): Handle FIXED_POINT_TYPE.
(build_binary_op): Support FIXED_POINT_TYPE in *_DIV_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
TRUTH_XOR_EXPR, RSHIFT_EXPR, LSHIFT_EXPR, EQ_EXPR, NE_EXPR, LE_EXPR,
GE_EXPR, LT_EXPR, GT_EXPR.
* target-def.h (TARGET_FIXED_POINT_SUPPORTED_P): New.
(TARGET_INITIALIZER): Add TARGET_FIXED_POINT_SUPPORTED_P.
* target.h (gcc_target): Add fixed_point_supported_p.
* targhooks.c (default_scalar_mode_supported_p): Handle MODE_FRACT,
MODE_UFRACT, MODE_ACCUM, and MODE_UACCUM.
(default_fixed_point_supported_p): Define.
* targhooks.h (default_fixed_point_supported_p): Declare.
* doc/tm.texi (TARGET_FIXED_POINT_SUPPORTED_P): Add.
* doc/install.texi (Configuration): Add --enable-fixed-point.
* configure.ac (--enable-fixed-point): New to enable fixed-point
arithmetic extension to C. For mips targets, we enable it by default.
* configure, config.in: Regenerate.
From-SVN: r127652
2007-08-21 00:26:47 +02:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_WARN(fixed-point is not supported for this target, ignored)
|
|
|
|
enable_fixed_point=no
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
])
|
|
|
|
AC_SUBST(enable_fixed_point)
|
|
|
|
|
|
|
|
fixedpoint=`if test $enable_fixed_point = yes; then echo 1; else echo 0; fi`
|
|
|
|
AC_DEFINE_UNQUOTED(ENABLE_FIXED_POINT, $fixedpoint,
|
|
|
|
[Define to 1 to enable fixed-point arithmetic extension to C.])
|
|
|
|
|
1997-06-28 00:47:40 +02:00
|
|
|
# Enable threads
|
|
|
|
# Pass with no value to take the default
|
|
|
|
# Pass with a value to specify a thread package
|
|
|
|
AC_ARG_ENABLE(threads,
|
2001-06-11 17:01:40 +02:00
|
|
|
[ --enable-threads enable thread usage for target GCC
|
|
|
|
--enable-threads=LIB use LIB thread package for target GCC],,
|
2004-04-07 03:20:59 +02:00
|
|
|
[enable_threads=''])
|
1997-06-28 00:47:40 +02:00
|
|
|
|
2006-01-25 01:42:17 +01:00
|
|
|
AC_ARG_ENABLE(tls,
|
|
|
|
[ --enable-tls enable or disable generation of tls code
|
|
|
|
overriding the assembler check for tls support],
|
|
|
|
[
|
|
|
|
case $enable_tls in
|
|
|
|
yes | no) ;;
|
|
|
|
*) AC_MSG_ERROR(['$enable_tls' is an invalid value for --enable-tls.
|
|
|
|
Valid choices are 'yes' and 'no'.]) ;;
|
|
|
|
esac
|
|
|
|
], [enable_tls=''])
|
|
|
|
|
1998-09-03 01:48:01 +02:00
|
|
|
AC_ARG_ENABLE(objc-gc,
|
|
|
|
[ --enable-objc-gc enable the use of Boehm's garbage collector with
|
2001-06-11 17:01:40 +02:00
|
|
|
the GNU Objective-C runtime],
|
1999-12-28 04:22:04 +01:00
|
|
|
if test x$enable_objc_gc = xno; then
|
1998-09-03 01:48:01 +02:00
|
|
|
objc_boehm_gc=''
|
|
|
|
else
|
|
|
|
objc_boehm_gc=1
|
|
|
|
fi,
|
|
|
|
objc_boehm_gc='')
|
|
|
|
|
1999-01-06 17:05:47 +01:00
|
|
|
AC_ARG_WITH(dwarf2,
|
2001-06-11 17:01:40 +02:00
|
|
|
[ --with-dwarf2 force the default debug format to be DWARF 2],
|
1999-01-06 17:05:47 +01:00
|
|
|
dwarf2="$with_dwarf2",
|
|
|
|
dwarf2=no)
|
|
|
|
|
2000-10-04 22:53:29 +02:00
|
|
|
AC_ARG_ENABLE(shared,
|
2001-06-11 17:01:40 +02:00
|
|
|
[ --disable-shared don't provide a shared libgcc],
|
2001-03-08 07:11:02 +01:00
|
|
|
[
|
|
|
|
case $enable_shared in
|
|
|
|
yes | no) ;;
|
|
|
|
*)
|
|
|
|
enable_shared=no
|
|
|
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
|
|
|
for pkg in $enableval; do
|
|
|
|
if test "X$pkg" = "Xgcc" || test "X$pkg" = "Xlibgcc"; then
|
|
|
|
enable_shared=yes
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
IFS="$ac_save_ifs"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
], [enable_shared=yes])
|
2000-10-04 22:53:29 +02:00
|
|
|
AC_SUBST(enable_shared)
|
|
|
|
|
2005-07-25 21:42:04 +02:00
|
|
|
AC_ARG_WITH(build-sysroot,
|
|
|
|
[ --with-build-sysroot=sysroot
|
|
|
|
use sysroot as the system root during the build])
|
|
|
|
|
2002-12-16 19:23:00 +01:00
|
|
|
AC_ARG_WITH(sysroot,
|
|
|
|
[ --with-sysroot[=DIR] Search for usr/lib, usr/include, et al, within DIR.],
|
|
|
|
[
|
|
|
|
case ${with_sysroot} in
|
2003-10-14 05:41:42 +02:00
|
|
|
yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_noncanonical}/sys-root' ;;
|
2002-12-16 19:23:00 +01:00
|
|
|
*) TARGET_SYSTEM_ROOT=$with_sysroot ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
|
2007-03-06 16:50:28 +01:00
|
|
|
CROSS_SYSTEM_HEADER_DIR='$(TARGET_SYSTEM_ROOT)$${sysroot_headers_suffix}$(NATIVE_SYSTEM_HEADER_DIR)'
|
2005-07-29 21:20:44 +02:00
|
|
|
|
2007-05-16 09:14:40 +02:00
|
|
|
if test "x$prefix" = xNONE; then
|
|
|
|
test_prefix=/usr/local
|
|
|
|
else
|
|
|
|
test_prefix=$prefix
|
|
|
|
fi
|
2003-02-13 18:23:56 +01:00
|
|
|
if test "x$exec_prefix" = xNONE; then
|
2007-05-16 09:14:40 +02:00
|
|
|
test_exec_prefix=$test_prefix
|
2003-02-13 18:23:56 +01:00
|
|
|
else
|
2007-05-16 09:14:40 +02:00
|
|
|
test_exec_prefix=$exec_prefix
|
2003-02-13 18:23:56 +01:00
|
|
|
fi
|
|
|
|
case ${TARGET_SYSTEM_ROOT} in
|
2003-02-21 00:38:11 +01:00
|
|
|
"${test_prefix}"|"${test_prefix}/"*|\
|
2007-05-16 09:14:40 +02:00
|
|
|
"${test_exec_prefix}"|"${test_exec_prefix}/"*|\
|
|
|
|
'${prefix}'|'${prefix}/'*|\
|
2003-02-21 00:38:11 +01:00
|
|
|
'${exec_prefix}'|'${exec_prefix}/'*)
|
2003-02-13 18:23:56 +01:00
|
|
|
t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
|
|
|
|
TARGET_SYSTEM_ROOT_DEFINE="$t"
|
|
|
|
;;
|
|
|
|
esac
|
2002-12-16 19:23:00 +01:00
|
|
|
], [
|
|
|
|
TARGET_SYSTEM_ROOT=
|
2003-03-04 20:44:09 +01:00
|
|
|
TARGET_SYSTEM_ROOT_DEFINE=
|
2002-12-16 19:23:00 +01:00
|
|
|
CROSS_SYSTEM_HEADER_DIR='$(gcc_tooldir)/sys-include'
|
|
|
|
])
|
|
|
|
AC_SUBST(TARGET_SYSTEM_ROOT)
|
|
|
|
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
|
|
|
|
AC_SUBST(CROSS_SYSTEM_HEADER_DIR)
|
|
|
|
|
2003-07-11 10:33:21 +02:00
|
|
|
# Build with intermodule optimisations
|
|
|
|
AC_ARG_ENABLE(intermodule,
|
|
|
|
[ --enable-intermodule build the compiler in one step],
|
2003-08-12 03:21:33 +02:00
|
|
|
[case ${enable_intermodule} in
|
|
|
|
yes) onestep="-onestep";;
|
|
|
|
*) onestep="";;
|
|
|
|
esac],
|
|
|
|
[onestep=""])
|
2003-07-11 10:33:21 +02:00
|
|
|
AC_SUBST(onestep)
|
|
|
|
|
2007-08-21 17:35:30 +02:00
|
|
|
ACX_PKGVERSION([GCC])
|
|
|
|
ACX_BUGURL([http://gcc.gnu.org/bugs.html])
|
|
|
|
|
2004-03-11 06:01:17 +01:00
|
|
|
# Sanity check enable_languages in case someone does not run the toplevel
|
|
|
|
# configure # script.
|
|
|
|
AC_ARG_ENABLE(languages,
|
|
|
|
[ --enable-languages=LIST specify which front-ends to build],
|
|
|
|
[case ,${enable_languages}, in
|
|
|
|
,,|,yes,)
|
|
|
|
# go safe -- we cannot be much sure without the toplevel
|
|
|
|
# configure's
|
|
|
|
# analysis of which target libs are present and usable
|
|
|
|
enable_languages=c
|
|
|
|
;;
|
|
|
|
*,all,*)
|
|
|
|
AC_MSG_ERROR([only the toplevel supports --enable-languages=all])
|
|
|
|
;;
|
|
|
|
*,c,*)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
enable_languages=c,${enable_languages}
|
|
|
|
;;
|
|
|
|
esac],
|
|
|
|
[enable_languages=c])
|
|
|
|
|
2006-06-13 21:13:47 +02:00
|
|
|
# Used by documentation targets
|
|
|
|
AC_SUBST(datarootdir)
|
|
|
|
AC_SUBST(docdir)
|
|
|
|
AC_SUBST(htmldir)
|
2004-03-11 06:01:17 +01:00
|
|
|
|
2003-03-12 21:41:00 +01:00
|
|
|
# -------------------------
|
|
|
|
# Checks for other programs
|
|
|
|
# -------------------------
|
1998-08-31 00:20:57 +02:00
|
|
|
|
1997-11-02 22:19:36 +01:00
|
|
|
AC_PROG_MAKE_SET
|
|
|
|
|
1997-05-18 14:31:53 +02:00
|
|
|
# Find some useful tools
|
|
|
|
AC_PROG_AWK
|
2004-06-18 03:59:45 +02:00
|
|
|
# We need awk to create options.c and options.h.
|
2003-10-31 10:58:46 +01:00
|
|
|
# Bail out if it's missing.
|
|
|
|
case ${AWK} in
|
|
|
|
"") AC_MSG_ERROR([can't build without awk, bailing out]) ;;
|
|
|
|
esac
|
|
|
|
|
aclocal.m4: (GCC_HEADER_STRING...
* aclocal.m4: (GCC_HEADER_STRING, GCC_NEED_DECLARATION,
GCC_NEED_DECLARATIONS, GCC_FUNC_VFPRINTF_DOPRNT,
GCC_FUNC_PRINTF_PTR, GCC_PROG_LN_S, GCC_PROG_LN, GCC_C_VOLATILE,
AC_GCC_C_LONG_DOUBLE, GCC_FUNC_MKDIR_TAKES_ONE_ARG,
EGCS_PROG_INSTALL): Rename autoconf macros with prefix gcc_AC_.
* configure.in (AC_GCC_C_LONG_DOUBLE, GCC_PROG_LN, GCC_PROG_LN_S,
GCC_C_VOLATILE, EGCS_PROG_INSTALL, GCC_HEADER_STRING,
GCC_FUNC_VFPRINTF_DOPRNT, GCC_FUNC_PRINTF_PTR,
GCC_NEED_DECLARATIONS, GCC_FUNC_MKDIR_TAKES_ONE_ARG): Invoke with
new macros names.
From-SVN: r33383
2000-04-24 19:45:50 +02:00
|
|
|
gcc_AC_PROG_LN_S
|
2004-06-09 10:17:32 +02:00
|
|
|
ACX_PROG_LN($LN_S)
|
1997-05-18 14:31:53 +02:00
|
|
|
AC_PROG_RANLIB
|
2004-07-04 19:18:59 +02:00
|
|
|
case "${host}" in
|
|
|
|
*-*-darwin*)
|
|
|
|
# By default, the Darwin ranlib will not treat common symbols as
|
|
|
|
# definitions when building the archive table of contents. Other
|
|
|
|
# ranlibs do that; pass an option to the Darwin ranlib that makes
|
|
|
|
# it behave similarly.
|
|
|
|
ranlib_flags="-c"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
ranlib_flags=""
|
|
|
|
esac
|
|
|
|
AC_SUBST(ranlib_flags)
|
|
|
|
|
aclocal.m4: (GCC_HEADER_STRING...
* aclocal.m4: (GCC_HEADER_STRING, GCC_NEED_DECLARATION,
GCC_NEED_DECLARATIONS, GCC_FUNC_VFPRINTF_DOPRNT,
GCC_FUNC_PRINTF_PTR, GCC_PROG_LN_S, GCC_PROG_LN, GCC_C_VOLATILE,
AC_GCC_C_LONG_DOUBLE, GCC_FUNC_MKDIR_TAKES_ONE_ARG,
EGCS_PROG_INSTALL): Rename autoconf macros with prefix gcc_AC_.
* configure.in (AC_GCC_C_LONG_DOUBLE, GCC_PROG_LN, GCC_PROG_LN_S,
GCC_C_VOLATILE, EGCS_PROG_INSTALL, GCC_HEADER_STRING,
GCC_FUNC_VFPRINTF_DOPRNT, GCC_FUNC_PRINTF_PTR,
GCC_NEED_DECLARATIONS, GCC_FUNC_MKDIR_TAKES_ONE_ARG): Invoke with
new macros names.
From-SVN: r33383
2000-04-24 19:45:50 +02:00
|
|
|
gcc_AC_PROG_INSTALL
|
1997-05-18 14:31:53 +02:00
|
|
|
|
2003-08-13 00:35:22 +02:00
|
|
|
# See if cmp has --ignore-initial.
|
|
|
|
gcc_AC_PROG_CMP_IGNORE_INITIAL
|
|
|
|
|
2001-01-03 21:39:09 +01:00
|
|
|
# See if we have the mktemp command.
|
|
|
|
AC_CHECK_PROG(have_mktemp_command, mktemp, yes, no)
|
|
|
|
|
Makefile.in: Regenerate.
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Regenerate.
* configure: Regenerate.
* Makefile.def (bootstrap-stage): Rename extra_*_flags to
stage_*_flags.
* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
for bootstrapped modules if toplevel bootstrap is going.
(GCC bootstrap): Generate per-stage targets for all bootstrapped
modules. Adjust for changes in Makefile.def. Enable several
rules even in non-bootstrap mode, just to avoid peppering the
template with unnecessary "@if/@endif gcc-bootstrap" pairs.
(stage-[+prev+]-bubble): Remove.
* Makefile.def (Dependencies): Depend on all-build-bison,
all-build-flex, all-build-byacc, all-build-texinfo, rather
than the host variations.
* Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout
with BUILD_SUBDIR.
(BISON): Update for recent Bisons.
(YACC): Fix typo.
(cross): Depend on all-build.
(all): Do not depend on all-build.
(prebootstrap): Remove.
(dep-kind): Accept separate prefixes for MODULE and ON variables.
(Prebootstrap dependencies): Add them to the per-stage targets
and to all-prebootstrap.
* configure.in (build_configdirs): Always enable build_tools.
(BUILD_DIR_PREFIX): Remove.
* Makefile.def (gcc): Add target variable.
(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
in the recursive `make', instead of hardwiring `all'.
(Autogenerated TARGET-* variables): New.
gcc/ChangeLog:
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
No need to check if in a cross configuration.
* configure: Regenerate.
* calls.c (precompute_register_parameters):
Inline preserve_subexpressions_p ().
* expmed.c (expand_mult_const, emit_store_flag): Likewise.
* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
Likewise.
* expr.c (get_subtarget): Likewise.
* rtl.h (preserve_subexpressions_p): Remove.
* stmt.c (preserve_subexpressions_p): Remove.
* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
Abort on gimplified cases.
From-SVN: r86111
2004-08-17 09:27:16 +02:00
|
|
|
# See if makeinfo has been installed and is modern enough
|
|
|
|
# that we can use it.
|
2007-06-14 10:10:41 +02:00
|
|
|
ACX_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
|
2000-05-02 21:09:24 +02:00
|
|
|
[GNU texinfo.* \([0-9][0-9.]*\)],
|
2008-07-24 00:50:42 +02:00
|
|
|
[4.[7-9]*|4.[1-9][0-9]*|[5-9]*|[1-9][0-9]*])
|
2000-05-02 21:09:24 +02:00
|
|
|
if test $gcc_cv_prog_makeinfo_modern = no; then
|
|
|
|
AC_MSG_WARN([
|
|
|
|
*** Makeinfo is missing or too old.
|
2000-12-08 23:54:06 +01:00
|
|
|
*** Info documentation will not be built.])
|
2000-05-02 21:09:24 +02:00
|
|
|
BUILD_INFO=
|
|
|
|
else
|
Makefile.in: Regenerate.
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Regenerate.
* configure: Regenerate.
* Makefile.def (bootstrap-stage): Rename extra_*_flags to
stage_*_flags.
* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
for bootstrapped modules if toplevel bootstrap is going.
(GCC bootstrap): Generate per-stage targets for all bootstrapped
modules. Adjust for changes in Makefile.def. Enable several
rules even in non-bootstrap mode, just to avoid peppering the
template with unnecessary "@if/@endif gcc-bootstrap" pairs.
(stage-[+prev+]-bubble): Remove.
* Makefile.def (Dependencies): Depend on all-build-bison,
all-build-flex, all-build-byacc, all-build-texinfo, rather
than the host variations.
* Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout
with BUILD_SUBDIR.
(BISON): Update for recent Bisons.
(YACC): Fix typo.
(cross): Depend on all-build.
(all): Do not depend on all-build.
(prebootstrap): Remove.
(dep-kind): Accept separate prefixes for MODULE and ON variables.
(Prebootstrap dependencies): Add them to the per-stage targets
and to all-prebootstrap.
* configure.in (build_configdirs): Always enable build_tools.
(BUILD_DIR_PREFIX): Remove.
* Makefile.def (gcc): Add target variable.
(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
in the recursive `make', instead of hardwiring `all'.
(Autogenerated TARGET-* variables): New.
gcc/ChangeLog:
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
No need to check if in a cross configuration.
* configure: Regenerate.
* calls.c (precompute_register_parameters):
Inline preserve_subexpressions_p ().
* expmed.c (expand_mult_const, emit_store_flag): Likewise.
* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
Likewise.
* expr.c (get_subtarget): Likewise.
* rtl.h (preserve_subexpressions_p): Remove.
* stmt.c (preserve_subexpressions_p): Remove.
* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
Abort on gimplified cases.
From-SVN: r86111
2004-08-17 09:27:16 +02:00
|
|
|
BUILD_INFO=info
|
2000-05-02 21:09:24 +02:00
|
|
|
fi
|
Makefile.in: Regenerate.
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Regenerate.
* configure: Regenerate.
* Makefile.def (bootstrap-stage): Rename extra_*_flags to
stage_*_flags.
* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
for bootstrapped modules if toplevel bootstrap is going.
(GCC bootstrap): Generate per-stage targets for all bootstrapped
modules. Adjust for changes in Makefile.def. Enable several
rules even in non-bootstrap mode, just to avoid peppering the
template with unnecessary "@if/@endif gcc-bootstrap" pairs.
(stage-[+prev+]-bubble): Remove.
* Makefile.def (Dependencies): Depend on all-build-bison,
all-build-flex, all-build-byacc, all-build-texinfo, rather
than the host variations.
* Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout
with BUILD_SUBDIR.
(BISON): Update for recent Bisons.
(YACC): Fix typo.
(cross): Depend on all-build.
(all): Do not depend on all-build.
(prebootstrap): Remove.
(dep-kind): Accept separate prefixes for MODULE and ON variables.
(Prebootstrap dependencies): Add them to the per-stage targets
and to all-prebootstrap.
* configure.in (build_configdirs): Always enable build_tools.
(BUILD_DIR_PREFIX): Remove.
* Makefile.def (gcc): Add target variable.
(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
in the recursive `make', instead of hardwiring `all'.
(Autogenerated TARGET-* variables): New.
gcc/ChangeLog:
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
No need to check if in a cross configuration.
* configure: Regenerate.
* calls.c (precompute_register_parameters):
Inline preserve_subexpressions_p ().
* expmed.c (expand_mult_const, emit_store_flag): Likewise.
* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
Likewise.
* expr.c (get_subtarget): Likewise.
* rtl.h (preserve_subexpressions_p): Remove.
* stmt.c (preserve_subexpressions_p): Remove.
* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
Abort on gimplified cases.
From-SVN: r86111
2004-08-17 09:27:16 +02:00
|
|
|
AC_SUBST(BUILD_INFO)
|
2000-05-02 21:09:24 +02:00
|
|
|
|
2001-01-16 00:32:25 +01:00
|
|
|
# Is pod2man recent enough to regenerate manpages?
|
|
|
|
AC_MSG_CHECKING([for recent Pod::Man])
|
2001-12-21 03:46:09 +01:00
|
|
|
if (perl -e 'use 1.10 Pod::Man') >/dev/null 2>&1; then
|
2001-01-03 21:15:01 +01:00
|
|
|
AC_MSG_RESULT(yes)
|
Makefile.in: Regenerate.
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Regenerate.
* configure: Regenerate.
* Makefile.def (bootstrap-stage): Rename extra_*_flags to
stage_*_flags.
* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
for bootstrapped modules if toplevel bootstrap is going.
(GCC bootstrap): Generate per-stage targets for all bootstrapped
modules. Adjust for changes in Makefile.def. Enable several
rules even in non-bootstrap mode, just to avoid peppering the
template with unnecessary "@if/@endif gcc-bootstrap" pairs.
(stage-[+prev+]-bubble): Remove.
* Makefile.def (Dependencies): Depend on all-build-bison,
all-build-flex, all-build-byacc, all-build-texinfo, rather
than the host variations.
* Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout
with BUILD_SUBDIR.
(BISON): Update for recent Bisons.
(YACC): Fix typo.
(cross): Depend on all-build.
(all): Do not depend on all-build.
(prebootstrap): Remove.
(dep-kind): Accept separate prefixes for MODULE and ON variables.
(Prebootstrap dependencies): Add them to the per-stage targets
and to all-prebootstrap.
* configure.in (build_configdirs): Always enable build_tools.
(BUILD_DIR_PREFIX): Remove.
* Makefile.def (gcc): Add target variable.
(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
in the recursive `make', instead of hardwiring `all'.
(Autogenerated TARGET-* variables): New.
gcc/ChangeLog:
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
No need to check if in a cross configuration.
* configure: Regenerate.
* calls.c (precompute_register_parameters):
Inline preserve_subexpressions_p ().
* expmed.c (expand_mult_const, emit_store_flag): Likewise.
* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
Likewise.
* expr.c (get_subtarget): Likewise.
* rtl.h (preserve_subexpressions_p): Remove.
* stmt.c (preserve_subexpressions_p): Remove.
* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
Abort on gimplified cases.
From-SVN: r86111
2004-08-17 09:27:16 +02:00
|
|
|
GENERATED_MANPAGES=generated-manpages
|
2001-01-03 21:15:01 +01:00
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
GENERATED_MANPAGES=
|
|
|
|
fi
|
Makefile.in: Regenerate.
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Regenerate.
* configure: Regenerate.
* Makefile.def (bootstrap-stage): Rename extra_*_flags to
stage_*_flags.
* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
for bootstrapped modules if toplevel bootstrap is going.
(GCC bootstrap): Generate per-stage targets for all bootstrapped
modules. Adjust for changes in Makefile.def. Enable several
rules even in non-bootstrap mode, just to avoid peppering the
template with unnecessary "@if/@endif gcc-bootstrap" pairs.
(stage-[+prev+]-bubble): Remove.
* Makefile.def (Dependencies): Depend on all-build-bison,
all-build-flex, all-build-byacc, all-build-texinfo, rather
than the host variations.
* Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout
with BUILD_SUBDIR.
(BISON): Update for recent Bisons.
(YACC): Fix typo.
(cross): Depend on all-build.
(all): Do not depend on all-build.
(prebootstrap): Remove.
(dep-kind): Accept separate prefixes for MODULE and ON variables.
(Prebootstrap dependencies): Add them to the per-stage targets
and to all-prebootstrap.
* configure.in (build_configdirs): Always enable build_tools.
(BUILD_DIR_PREFIX): Remove.
* Makefile.def (gcc): Add target variable.
(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
in the recursive `make', instead of hardwiring `all'.
(Autogenerated TARGET-* variables): New.
gcc/ChangeLog:
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
No need to check if in a cross configuration.
* configure: Regenerate.
* calls.c (precompute_register_parameters):
Inline preserve_subexpressions_p ().
* expmed.c (expand_mult_const, emit_store_flag): Likewise.
* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
Likewise.
* expr.c (get_subtarget): Likewise.
* rtl.h (preserve_subexpressions_p): Remove.
* stmt.c (preserve_subexpressions_p): Remove.
* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
Abort on gimplified cases.
From-SVN: r86111
2004-08-17 09:27:16 +02:00
|
|
|
AC_SUBST(GENERATED_MANPAGES)
|
2001-01-03 21:15:01 +01:00
|
|
|
|
2007-06-14 10:10:41 +02:00
|
|
|
MISSING="${CONFIG_SHELL-/bin/sh} $ac_aux_dir/missing"
|
|
|
|
|
configure.in: Remove AC_PROG_LEX and AC_PROG_YACC.
* configure.in: Remove AC_PROG_LEX and AC_PROG_YACC. Look for
flex and bison, specifically, first in a unified build and
then installed on the system.
* Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@. Rename
LEXFLAGS to FLEXFLAGS. Adjust ORDINARY_FLAGS_TO_PASS to
match.
(collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
cppdefault.o): Remove pointless sed munging of source file
name.
f:
* Make-lang.in (f/fini.o, f/proj-h.o): Remove pointless sed
munging of source file name.
($(srcdir)/f/intdoc.texi): Break up into several rules each of
which builds just one thing. Don't mess with $(LANGUAGES).
(f/ansify.o, f/intdoc.o): Remove unnecessary rules.
From-SVN: r37371
2000-11-10 18:23:09 +01:00
|
|
|
# How about lex?
|
|
|
|
dnl Don't use AC_PROG_LEX; we insist on flex.
|
|
|
|
dnl LEXLIB is not useful in gcc.
|
Makefile.in: Regenerate.
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Regenerate.
* configure: Regenerate.
* Makefile.def (bootstrap-stage): Rename extra_*_flags to
stage_*_flags.
* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
for bootstrapped modules if toplevel bootstrap is going.
(GCC bootstrap): Generate per-stage targets for all bootstrapped
modules. Adjust for changes in Makefile.def. Enable several
rules even in non-bootstrap mode, just to avoid peppering the
template with unnecessary "@if/@endif gcc-bootstrap" pairs.
(stage-[+prev+]-bubble): Remove.
* Makefile.def (Dependencies): Depend on all-build-bison,
all-build-flex, all-build-byacc, all-build-texinfo, rather
than the host variations.
* Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout
with BUILD_SUBDIR.
(BISON): Update for recent Bisons.
(YACC): Fix typo.
(cross): Depend on all-build.
(all): Do not depend on all-build.
(prebootstrap): Remove.
(dep-kind): Accept separate prefixes for MODULE and ON variables.
(Prebootstrap dependencies): Add them to the per-stage targets
and to all-prebootstrap.
* configure.in (build_configdirs): Always enable build_tools.
(BUILD_DIR_PREFIX): Remove.
* Makefile.def (gcc): Add target variable.
(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
in the recursive `make', instead of hardwiring `all'.
(Autogenerated TARGET-* variables): New.
gcc/ChangeLog:
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
No need to check if in a cross configuration.
* configure: Regenerate.
* calls.c (precompute_register_parameters):
Inline preserve_subexpressions_p ().
* expmed.c (expand_mult_const, emit_store_flag): Likewise.
* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
Likewise.
* expr.c (get_subtarget): Likewise.
* rtl.h (preserve_subexpressions_p): Remove.
* stmt.c (preserve_subexpressions_p): Remove.
* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
Abort on gimplified cases.
From-SVN: r86111
2004-08-17 09:27:16 +02:00
|
|
|
AC_CHECK_PROGS([FLEX], flex, [$MISSING flex])
|
configure.in: Remove AC_PROG_LEX and AC_PROG_YACC.
* configure.in: Remove AC_PROG_LEX and AC_PROG_YACC. Look for
flex and bison, specifically, first in a unified build and
then installed on the system.
* Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@. Rename
LEXFLAGS to FLEXFLAGS. Adjust ORDINARY_FLAGS_TO_PASS to
match.
(collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
cppdefault.o): Remove pointless sed munging of source file
name.
f:
* Make-lang.in (f/fini.o, f/proj-h.o): Remove pointless sed
munging of source file name.
($(srcdir)/f/intdoc.texi): Break up into several rules each of
which builds just one thing. Don't mess with $(LANGUAGES).
(f/ansify.o, f/intdoc.o): Remove unnecessary rules.
From-SVN: r37371
2000-11-10 18:23:09 +01:00
|
|
|
|
|
|
|
# Bison?
|
Makefile.in: Regenerate.
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Regenerate.
* configure: Regenerate.
* Makefile.def (bootstrap-stage): Rename extra_*_flags to
stage_*_flags.
* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
for bootstrapped modules if toplevel bootstrap is going.
(GCC bootstrap): Generate per-stage targets for all bootstrapped
modules. Adjust for changes in Makefile.def. Enable several
rules even in non-bootstrap mode, just to avoid peppering the
template with unnecessary "@if/@endif gcc-bootstrap" pairs.
(stage-[+prev+]-bubble): Remove.
* Makefile.def (Dependencies): Depend on all-build-bison,
all-build-flex, all-build-byacc, all-build-texinfo, rather
than the host variations.
* Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout
with BUILD_SUBDIR.
(BISON): Update for recent Bisons.
(YACC): Fix typo.
(cross): Depend on all-build.
(all): Do not depend on all-build.
(prebootstrap): Remove.
(dep-kind): Accept separate prefixes for MODULE and ON variables.
(Prebootstrap dependencies): Add them to the per-stage targets
and to all-prebootstrap.
* configure.in (build_configdirs): Always enable build_tools.
(BUILD_DIR_PREFIX): Remove.
* Makefile.def (gcc): Add target variable.
(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
in the recursive `make', instead of hardwiring `all'.
(Autogenerated TARGET-* variables): New.
gcc/ChangeLog:
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
No need to check if in a cross configuration.
* configure: Regenerate.
* calls.c (precompute_register_parameters):
Inline preserve_subexpressions_p ().
* expmed.c (expand_mult_const, emit_store_flag): Likewise.
* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
Likewise.
* expr.c (get_subtarget): Likewise.
* rtl.h (preserve_subexpressions_p): Remove.
* stmt.c (preserve_subexpressions_p): Remove.
* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
Abort on gimplified cases.
From-SVN: r86111
2004-08-17 09:27:16 +02:00
|
|
|
AC_CHECK_PROGS([BISON], bison, [$MISSING bison])
|
|
|
|
|
|
|
|
# Binutils are not build modules, unlike bison/flex/makeinfo. So we
|
|
|
|
# check for build == host before using them.
|
configure.in: Remove AC_PROG_LEX and AC_PROG_YACC.
* configure.in: Remove AC_PROG_LEX and AC_PROG_YACC. Look for
flex and bison, specifically, first in a unified build and
then installed on the system.
* Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@. Rename
LEXFLAGS to FLEXFLAGS. Adjust ORDINARY_FLAGS_TO_PASS to
match.
(collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
cppdefault.o): Remove pointless sed munging of source file
name.
f:
* Make-lang.in (f/fini.o, f/proj-h.o): Remove pointless sed
munging of source file name.
($(srcdir)/f/intdoc.texi): Break up into several rules each of
which builds just one thing. Don't mess with $(LANGUAGES).
(f/ansify.o, f/intdoc.o): Remove unnecessary rules.
From-SVN: r37371
2000-11-10 18:23:09 +01:00
|
|
|
|
2004-07-13 04:21:30 +02:00
|
|
|
# NM
|
2004-08-13 01:03:20 +02:00
|
|
|
if test x${build} = x${host} && test -f $srcdir/../binutils/nm.c \
|
|
|
|
&& test -d ../binutils ; then
|
2004-07-13 04:21:30 +02:00
|
|
|
NM='$(objdir)/../binutils/nm-new'
|
|
|
|
else
|
|
|
|
AC_CHECK_PROG(NM, nm, nm, ${CONFIG_SHELL-/bin/sh} ${srcdir}/../missing nm)
|
|
|
|
fi
|
|
|
|
|
|
|
|
# AR
|
2004-08-13 01:03:20 +02:00
|
|
|
if test x${build} = x${host} && test -f $srcdir/../binutils/ar.c \
|
|
|
|
&& test -d ../binutils ; then
|
2004-07-13 04:21:30 +02:00
|
|
|
AR='$(objdir)/../binutils/ar'
|
|
|
|
else
|
|
|
|
AC_CHECK_PROG(AR, ar, ar, ${CONFIG_SHELL-/bin/sh} ${srcdir}/../missing ar)
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2003-03-12 21:41:00 +01:00
|
|
|
# --------------------
|
|
|
|
# Checks for C headers
|
|
|
|
# --------------------
|
|
|
|
|
2004-01-05 04:21:24 +01:00
|
|
|
# Need to reject headers which give warnings, so that the -Werror bootstrap
|
|
|
|
# works later. *sigh* This needs to come before all header checks.
|
|
|
|
AC_PROG_CPP_WERROR
|
|
|
|
|
2003-03-12 21:41:00 +01:00
|
|
|
AC_HEADER_STDC
|
|
|
|
AC_HEADER_TIME
|
2004-05-24 12:50:45 +02:00
|
|
|
ACX_HEADER_STRING
|
2003-03-12 21:41:00 +01:00
|
|
|
AC_HEADER_SYS_WAIT
|
2004-09-23 02:29:07 +02:00
|
|
|
AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h iconv.h \
|
2003-06-05 00:21:21 +02:00
|
|
|
fcntl.h unistd.h sys/file.h sys/time.h sys/mman.h \
|
2003-03-12 21:41:00 +01:00
|
|
|
sys/resource.h sys/param.h sys/times.h sys/stat.h \
|
Makefile.tpl (configure-gcc): Depend on maybe-configure-intl.
top:
* Makefile.tpl (configure-gcc): Depend on maybe-configure-intl.
* Makefile.in: Regenerate.
config:
* gettext.m4: Delete all former contents.
(ZW_GNU_GETTEXT_SISTER_DIR): New macro.
* progtest.m4: New file.
gcc:
* Makefile.in (top_builddir): Set to "..", not ".".
(INTLLIBS, INTLDEPS): Delete.
(LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
(LIBDEPS): Add $(LIBICONV_DEP).
(LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
(INCLUDES): Replace -I../intl with @INCINTL@.
($(top_builddir)/intl/libintl.a): Delete rule.
(stage2-start, stage3-start, stage4-start, stageprofile-start,
stagefeedback-start): Use $$ for variable to be evaluated by
shell, not make.
* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
* aclocal.m4: sinclude ../config/progtest.m4. Add
contents of lcmessage.m4 from gettext distro.
* configure.in: Check for wchar.h and setlocale. Set
LIBICONV_DEP to the empty string and substitute it.
Call AM_LC_MESSAGES. Delete AC_ARG_ENABLE for --enable-nls;
this is handled elsewhere. Use ZW_GNU_GETTEXT_SISTER_DIR,
not CY_GNU_GETTEXT. Clear $LIBICONV if its text is included
in $LIBINTL, to avoid linking it twice.
* configure, config.in: Regenerate.
intl:
* README: Update.
* Makefile.in (INSTALL, INSTALL_DATA, MKINSTALLDIRS,
mkinstalldirs, gettextsrcdir, l): Delete.
(COMPILE): Add $(DEFS-$@), remove $(XCFLAGS).
(HEADERS): libgnuintl.h not libgnuintl.h.in. Remove os2compat.h.
(SOURCES): Remove os2compat.c.
(DEFS-dcigettext.o, DEFS-localealias.o, DEFS-localcharset.o,
DEFS-relocatable.o): New.
(all-yes): Add config.intl.
(libintl.h): Use cp, not cat.
(INCLUDES): Remove -I..
(TAGS, CTAGS, ID): Word wrap.
(mostlyclean, distclean): Remove junk.
(config.intl): New rule.
* aclocal.m4: sinclude ../config/progtest.m4 instead of
including it inline.
* config.intl.in: New file.
* configure.in: Take out unnecessary AC_CONFIG_AUX_DIR.
Take out AC_DEFINEs for LOCALEDIR, LOCALE_ALIAS_PATH,
LIBDIR, INSTALLDIR. Set LIBINTL_DEP and INCINTL and AC_SUBST
them. Add config.intl to AC_OUTPUT.
* os2compat.c, os2compat.h: Delete, unused.
From-SVN: r69071
2003-07-08 07:55:11 +02:00
|
|
|
direct.h malloc.h langinfo.h ldfcn.h locale.h wchar.h)
|
2003-03-12 21:41:00 +01:00
|
|
|
|
|
|
|
# Check for thread headers.
|
|
|
|
AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
|
|
|
|
AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
|
|
|
|
|
|
|
|
# These tests can't be done till we know if we have limits.h.
|
|
|
|
gcc_AC_C_CHAR_BIT
|
2005-05-04 03:14:51 +02:00
|
|
|
AC_C_BIGENDIAN
|
2003-03-12 21:41:00 +01:00
|
|
|
|
|
|
|
# --------
|
|
|
|
# UNSORTED
|
|
|
|
# --------
|
|
|
|
|
|
|
|
|
config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
2001-05-01 Zack Weinberg <zackw@stanford.edu>
* config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
Remove references to deleted files.
(*-*-openbsd): No need to override xmake_file.
(*-*-sysv4): Treat like *-*-sysv.
* configure.in: Probe for ldopen in various places, and set up
collect2 to be linked with them if found.
Don't dink with Windows registry stuff unless $host_os is a
Win32 os name. Check to see if we need -ladvapi32.
* configure: Regenerate.
* Makefile: Get rid of CLIB and HOST_CLIB.
Substitute in COLLECT2_LIBS and link collect2 against its contents.
* build-make: Get rid of HOST_CLIB.
* config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
config/rs6000/x-rs6000: Delete.
* config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
Don't set CLIB.
24 x-host fragments remain, 0 x-cpu, 3 top level.
2001-05-01 Zack Weinberg <zackw@stanford.edu>
* aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
* configure: Regenerate.
From-SVN: r41732
2001-05-01 19:45:05 +02:00
|
|
|
# These libraries may be used by collect2.
|
|
|
|
# We may need a special search path to get them linked.
|
|
|
|
AC_CACHE_CHECK(for collect2 libraries, gcc_cv_collect2_libs,
|
|
|
|
[save_LIBS="$LIBS"
|
2001-05-13 13:25:55 +02:00
|
|
|
for libs in '' -lld -lmld \
|
config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
2001-05-01 Zack Weinberg <zackw@stanford.edu>
* config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
Remove references to deleted files.
(*-*-openbsd): No need to override xmake_file.
(*-*-sysv4): Treat like *-*-sysv.
* configure.in: Probe for ldopen in various places, and set up
collect2 to be linked with them if found.
Don't dink with Windows registry stuff unless $host_os is a
Win32 os name. Check to see if we need -ladvapi32.
* configure: Regenerate.
* Makefile: Get rid of CLIB and HOST_CLIB.
Substitute in COLLECT2_LIBS and link collect2 against its contents.
* build-make: Get rid of HOST_CLIB.
* config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
config/rs6000/x-rs6000: Delete.
* config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
Don't set CLIB.
24 x-host fragments remain, 0 x-cpu, 3 top level.
2001-05-01 Zack Weinberg <zackw@stanford.edu>
* aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
* configure: Regenerate.
From-SVN: r41732
2001-05-01 19:45:05 +02:00
|
|
|
'-L/usr/lib/cmplrs/cc2.11 -lmld' \
|
|
|
|
'-L/usr/lib/cmplrs/cc3.11 -lmld'
|
|
|
|
do
|
|
|
|
LIBS="$libs"
|
|
|
|
AC_TRY_LINK_FUNC(ldopen,
|
|
|
|
[gcc_cv_collect2_libs="$libs"; break])
|
|
|
|
done
|
|
|
|
LIBS="$save_LIBS"
|
|
|
|
test -z "$gcc_cv_collect2_libs" && gcc_cv_collect2_libs='none required'])
|
|
|
|
case $gcc_cv_collect2_libs in
|
|
|
|
"none required") ;;
|
|
|
|
*) COLLECT2_LIBS=$gcc_cv_collect2_libs ;;
|
|
|
|
esac
|
|
|
|
AC_SUBST(COLLECT2_LIBS)
|
|
|
|
|
2001-05-13 13:25:55 +02:00
|
|
|
# When building Ada code on Alpha, we need exc_resume which is usually in
|
|
|
|
# -lexc. So test for it.
|
|
|
|
save_LIBS="$LIBS"
|
|
|
|
LIBS=
|
|
|
|
AC_SEARCH_LIBS(exc_resume, exc)
|
|
|
|
GNAT_LIBEXC="$LIBS"
|
|
|
|
LIBS="$save_LIBS"
|
|
|
|
AC_SUBST(GNAT_LIBEXC)
|
|
|
|
|
2003-03-23 21:13:58 +01:00
|
|
|
# Some systems put ldexp and frexp in libm instead of libc; assume
|
|
|
|
# they're both in the same place. jcf-dump needs them.
|
|
|
|
save_LIBS="$LIBS"
|
|
|
|
LIBS=
|
|
|
|
AC_SEARCH_LIBS(ldexp, m)
|
|
|
|
LDEXP_LIB="$LIBS"
|
|
|
|
LIBS="$save_LIBS"
|
|
|
|
AC_SUBST(LDEXP_LIB)
|
|
|
|
|
1997-11-05 01:30:37 +01:00
|
|
|
# Use <inttypes.h> only if it exists,
|
|
|
|
# doesn't clash with <sys/types.h>, and declares intmax_t.
|
|
|
|
AC_MSG_CHECKING(for inttypes.h)
|
|
|
|
AC_CACHE_VAL(gcc_cv_header_inttypes_h,
|
2005-07-06 03:56:56 +02:00
|
|
|
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
|
|
|
[[#include <sys/types.h>
|
|
|
|
#include <inttypes.h>]],
|
|
|
|
[[intmax_t i = -1;]])],
|
1998-11-05 02:55:45 +01:00
|
|
|
[gcc_cv_header_inttypes_h=yes],
|
2005-07-06 03:56:56 +02:00
|
|
|
[gcc_cv_header_inttypes_h=no])])
|
1997-11-05 01:30:37 +01:00
|
|
|
AC_MSG_RESULT($gcc_cv_header_inttypes_h)
|
1998-11-05 02:55:45 +01:00
|
|
|
if test $gcc_cv_header_inttypes_h = yes; then
|
acconfig.h (ENABLE_STD_NAMESPACE, [...]): Delete entries.
* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Delete entries.
* configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
for these macros. Clean up spacing and linewraps.
From-SVN: r33420
2000-04-25 22:30:16 +02:00
|
|
|
AC_DEFINE(HAVE_INTTYPES_H, 1,
|
|
|
|
[Define if you have a working <inttypes.h> header file.])
|
1998-11-05 02:55:45 +01:00
|
|
|
fi
|
1997-07-19 04:51:45 +02:00
|
|
|
|
configure.in: Move check for unsigned enumerated bitfields to macro in aclocal.m4.
* configure.in: Move check for unsigned enumerated bitfields
to macro in aclocal.m4. Disable it for now.
* configure, config.in: Regenerate.
* system.h: Don't do anything with ONLY_INT_FIELDS. Use the
unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
* varasm.c (struct rtx_const): Use ENUM_BITFIELD(). Move enum
kind above its first use.
* config/xm-interix.h, config/alpha/xm-alpha.h,
config/i370/xm-linux.h, config/i386/xm-beos.h,
config/i386/xm-mingw32.h, config/mips/xm-mips.h,
config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
Don't define ONLY_INT_FIELDS under any circumstances.
* config/pa/xm-pa.h: Don't define __BSD_NET2__.
* config/pa/xm-pahpux.h, config/pa/xm-papro.h,
config/sparc/xm-sysv4.h: Delete - now identical with some
other xm header.
* config.gcc (hppa targets): Replace xm-pahpux.h and
xm-papro.h with implicit xm-pa.h.
(sparc targets): Replace xm-sysv4.h with implicit or explicit
xm-sparc.h.
From-SVN: r40399
2001-03-12 07:31:41 +01:00
|
|
|
dnl Disabled until we have a complete test for buggy enum bitfields.
|
|
|
|
dnl gcc_AC_C_ENUM_BF_UNSIGNED
|
2000-04-18 21:42:30 +02:00
|
|
|
|
configure.ac (fixincludes_UNLOCKED_FUNCS): New.
fixincludes:
* configure.ac (fixincludes_UNLOCKED_FUNCS): New.
(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for fixincludes_UNLOCKED_FUNCS.
* system.h (putchar, getc, getchar, clearerr, feof, fileno,
fflush, fgetc, fgets, ferror, fread): Redefine to the associated
_unlocked function.
(fwrite_unlocked): Fix prototype.
* configure, config.h.in: Regenerate.
gcc:
PR/17092
* configure.ac (gcc_UNLOCKED_FUNCS): New.
(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for gcc_UNLOCKED_FUNCS.
* system.h (putchar, getc, getchar, clearerr, feof, fileno,
fflush, fgetc, fgets, ferror, fread): Redefine to the associated
_unlocked function.
(fwrite_unlocked): Fix prototype.
* configure, config.in: Regenerate.
libcpp:
* configure.ac (libcpp_UNLOCKED_FUNCS): New.
(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for libcpp_UNLOCKED_FUNCS.
* system.h (putchar, getc, getchar, clearerr, feof, fileno,
fflush, fgetc, fgets, ferror, fread): Redefine to the associated
_unlocked function.
(fwrite_unlocked): Fix prototype.
* configure, config.in: Regenerate.
From-SVN: r97986
2005-04-11 23:46:59 +02:00
|
|
|
define(gcc_UNLOCKED_FUNCS, clearerr_unlocked feof_unlocked dnl
|
|
|
|
ferror_unlocked fflush_unlocked fgetc_unlocked fgets_unlocked dnl
|
|
|
|
fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked dnl
|
|
|
|
fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked dnl
|
|
|
|
putchar_unlocked putc_unlocked)
|
2005-08-19 03:20:34 +02:00
|
|
|
AC_CHECK_FUNCS(times clock kill getrlimit setrlimit atoll atoq \
|
2008-07-08 01:56:05 +02:00
|
|
|
sysconf strsignal getrusage nl_langinfo \
|
configure.ac (fixincludes_UNLOCKED_FUNCS): New.
fixincludes:
* configure.ac (fixincludes_UNLOCKED_FUNCS): New.
(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for fixincludes_UNLOCKED_FUNCS.
* system.h (putchar, getc, getchar, clearerr, feof, fileno,
fflush, fgetc, fgets, ferror, fread): Redefine to the associated
_unlocked function.
(fwrite_unlocked): Fix prototype.
* configure, config.h.in: Regenerate.
gcc:
PR/17092
* configure.ac (gcc_UNLOCKED_FUNCS): New.
(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for gcc_UNLOCKED_FUNCS.
* system.h (putchar, getc, getchar, clearerr, feof, fileno,
fflush, fgetc, fgets, ferror, fread): Redefine to the associated
_unlocked function.
(fwrite_unlocked): Fix prototype.
* configure, config.in: Regenerate.
libcpp:
* configure.ac (libcpp_UNLOCKED_FUNCS): New.
(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for libcpp_UNLOCKED_FUNCS.
* system.h (putchar, getc, getchar, clearerr, feof, fileno,
fflush, fgetc, fgets, ferror, fread): Redefine to the associated
_unlocked function.
(fwrite_unlocked): Fix prototype.
* configure, config.in: Regenerate.
From-SVN: r97986
2005-04-11 23:46:59 +02:00
|
|
|
gettimeofday mbstowcs wcswidth mmap mincore setlocale \
|
|
|
|
gcc_UNLOCKED_FUNCS)
|
1998-02-01 01:48:06 +01:00
|
|
|
|
2003-04-24 20:35:45 +02:00
|
|
|
if test x$ac_cv_func_mbstowcs = xyes; then
|
|
|
|
AC_CACHE_CHECK(whether mbstowcs works, gcc_cv_func_mbstowcs_works,
|
2005-07-06 03:56:56 +02:00
|
|
|
[ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdlib.h>
|
2003-04-24 20:35:45 +02:00
|
|
|
int main()
|
|
|
|
{
|
|
|
|
mbstowcs(0, "", 0);
|
|
|
|
return 0;
|
2005-07-06 03:56:56 +02:00
|
|
|
}]])],
|
|
|
|
[gcc_cv_func_mbstowcs_works=yes],
|
|
|
|
[gcc_cv_func_mbstowcs_works=no],
|
|
|
|
[gcc_cv_func_mbstowcs_works=yes])])
|
2003-04-24 20:35:45 +02:00
|
|
|
if test x$gcc_cv_func_mbstowcs_works = xyes; then
|
|
|
|
AC_DEFINE(HAVE_WORKING_MBSTOWCS, 1,
|
|
|
|
[Define this macro if mbstowcs does not crash when its
|
|
|
|
first argument is NULL.])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2004-01-03 19:59:32 +01:00
|
|
|
AC_CHECK_TYPE(ssize_t, int)
|
2008-07-06 22:28:30 +02:00
|
|
|
AC_CHECK_TYPE(caddr_t, char *)
|
1998-07-20 15:35:38 +02:00
|
|
|
|
2003-06-05 00:21:21 +02:00
|
|
|
gcc_AC_FUNC_MMAP_BLACKLIST
|
1999-03-11 01:58:01 +01:00
|
|
|
|
|
|
|
case "${host}" in
|
2001-12-11 13:17:33 +01:00
|
|
|
*-*-*vms*)
|
2003-10-13 19:50:21 +02:00
|
|
|
# Under VMS, vfork works very differently than on Unix. The standard test
|
2001-12-11 13:17:33 +01:00
|
|
|
# won't work, and it isn't easily adaptable. It makes more sense to
|
|
|
|
# just force it.
|
|
|
|
ac_cv_func_vfork_works=yes
|
|
|
|
;;
|
1999-03-11 01:58:01 +01:00
|
|
|
esac
|
2005-07-06 03:56:56 +02:00
|
|
|
AC_FUNC_FORK
|
1998-02-07 14:21:36 +01:00
|
|
|
|
2001-07-18 19:17:03 +02:00
|
|
|
AM_ICONV
|
Makefile.tpl (configure-gcc): Depend on maybe-configure-intl.
top:
* Makefile.tpl (configure-gcc): Depend on maybe-configure-intl.
* Makefile.in: Regenerate.
config:
* gettext.m4: Delete all former contents.
(ZW_GNU_GETTEXT_SISTER_DIR): New macro.
* progtest.m4: New file.
gcc:
* Makefile.in (top_builddir): Set to "..", not ".".
(INTLLIBS, INTLDEPS): Delete.
(LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
(LIBDEPS): Add $(LIBICONV_DEP).
(LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
(INCLUDES): Replace -I../intl with @INCINTL@.
($(top_builddir)/intl/libintl.a): Delete rule.
(stage2-start, stage3-start, stage4-start, stageprofile-start,
stagefeedback-start): Use $$ for variable to be evaluated by
shell, not make.
* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
* aclocal.m4: sinclude ../config/progtest.m4. Add
contents of lcmessage.m4 from gettext distro.
* configure.in: Check for wchar.h and setlocale. Set
LIBICONV_DEP to the empty string and substitute it.
Call AM_LC_MESSAGES. Delete AC_ARG_ENABLE for --enable-nls;
this is handled elsewhere. Use ZW_GNU_GETTEXT_SISTER_DIR,
not CY_GNU_GETTEXT. Clear $LIBICONV if its text is included
in $LIBINTL, to avoid linking it twice.
* configure, config.in: Regenerate.
intl:
* README: Update.
* Makefile.in (INSTALL, INSTALL_DATA, MKINSTALLDIRS,
mkinstalldirs, gettextsrcdir, l): Delete.
(COMPILE): Add $(DEFS-$@), remove $(XCFLAGS).
(HEADERS): libgnuintl.h not libgnuintl.h.in. Remove os2compat.h.
(SOURCES): Remove os2compat.c.
(DEFS-dcigettext.o, DEFS-localealias.o, DEFS-localcharset.o,
DEFS-relocatable.o): New.
(all-yes): Add config.intl.
(libintl.h): Use cp, not cat.
(INCLUDES): Remove -I..
(TAGS, CTAGS, ID): Word wrap.
(mostlyclean, distclean): Remove junk.
(config.intl): New rule.
* aclocal.m4: sinclude ../config/progtest.m4 instead of
including it inline.
* config.intl.in: New file.
* configure.in: Take out unnecessary AC_CONFIG_AUX_DIR.
Take out AC_DEFINEs for LOCALEDIR, LOCALE_ALIAS_PATH,
LIBDIR, INSTALLDIR. Set LIBINTL_DEP and INCINTL and AC_SUBST
them. Add config.intl to AC_OUTPUT.
* os2compat.c, os2compat.h: Delete, unused.
From-SVN: r69071
2003-07-08 07:55:11 +02:00
|
|
|
# Until we have in-tree GNU iconv:
|
|
|
|
LIBICONV_DEP=
|
|
|
|
AC_SUBST(LIBICONV_DEP)
|
|
|
|
|
|
|
|
AM_LC_MESSAGES
|
2001-07-18 19:17:03 +02:00
|
|
|
|
2004-10-20 23:36:47 +02:00
|
|
|
AM_LANGINFO_CODESET
|
|
|
|
|
2000-04-26 02:03:37 +02:00
|
|
|
# We will need to find libiberty.h and ansidecl.h
|
|
|
|
saved_CFLAGS="$CFLAGS"
|
|
|
|
CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include"
|
2005-07-08 07:51:06 +02:00
|
|
|
gcc_AC_CHECK_DECLS(getenv atol asprintf sbrk abort atof getcwd getwd \
|
|
|
|
strsignal strstr strverscmp \
|
|
|
|
errno snprintf vsnprintf vasprintf malloc realloc calloc \
|
2005-04-13 11:13:27 +02:00
|
|
|
free basename getopt clock getpagesize gcc_UNLOCKED_FUNCS, , ,[
|
ansidecl.h: All logic from gcc/gansidecl.h moved here.
include:
* ansidecl.h: All logic from gcc/gansidecl.h moved here.
gcc:
* gansidecl.h: Delete file.
* configure.in: Change all refs to gansidecl.h to use
ansidecl.h. Adjust *_file_list so they know where ansidecl.h
lives.
* configure: Regenerate.
* Makefile.in (intl.o): Don't depend on gansidecl.h.
* defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
* ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
Don't include gansidecl.h.
* intl.c, main.c, version.c, fixinc/fixlib.h,
fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
gansidecl.h.
gcc/java:
* Make-lang.in (buffer.o, check-init.o, class.o): Don't depend
on gansidecl.h.
* buffer.c, jvgenmain.c: Don't include gansidecl.h.
libiberty:
* make-temp-file.c (try): Inline.
From-SVN: r41069
2001-04-04 02:46:27 +02:00
|
|
|
#include "ansidecl.h"
|
2000-04-26 02:03:37 +02:00
|
|
|
#include "system.h"])
|
1999-09-07 07:49:18 +02:00
|
|
|
|
2000-05-23 19:42:19 +02:00
|
|
|
gcc_AC_CHECK_DECLS(getrlimit setrlimit getrusage, , ,[
|
ansidecl.h: All logic from gcc/gansidecl.h moved here.
include:
* ansidecl.h: All logic from gcc/gansidecl.h moved here.
gcc:
* gansidecl.h: Delete file.
* configure.in: Change all refs to gansidecl.h to use
ansidecl.h. Adjust *_file_list so they know where ansidecl.h
lives.
* configure: Regenerate.
* Makefile.in (intl.o): Don't depend on gansidecl.h.
* defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
* ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
Don't include gansidecl.h.
* intl.c, main.c, version.c, fixinc/fixlib.h,
fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
gansidecl.h.
gcc/java:
* Make-lang.in (buffer.o, check-init.o, class.o): Don't depend
on gansidecl.h.
* buffer.c, jvgenmain.c: Don't include gansidecl.h.
libiberty:
* make-temp-file.c (try): Inline.
From-SVN: r41069
2001-04-04 02:46:27 +02:00
|
|
|
#include "ansidecl.h"
|
2000-04-26 02:03:37 +02:00
|
|
|
#include "system.h"
|
1998-06-30 13:10:55 +02:00
|
|
|
#ifdef HAVE_SYS_RESOURCE_H
|
|
|
|
#include <sys/resource.h>
|
|
|
|
#endif
|
|
|
|
])
|
|
|
|
|
2005-07-06 03:56:56 +02:00
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
2003-03-12 13:19:25 +01:00
|
|
|
#include "ansidecl.h"
|
|
|
|
#include "system.h"
|
|
|
|
#ifdef HAVE_SYS_RESOURCE_H
|
|
|
|
#include <sys/resource.h>
|
|
|
|
#endif
|
2005-07-06 03:56:56 +02:00
|
|
|
]], [[rlim_t l = 0;]])],[],[AC_DEFINE([rlim_t],[long],
|
2008-06-02 21:37:45 +02:00
|
|
|
[Define to `long' if <sys/resource.h> doesn't define.])])
|
2003-03-12 13:19:25 +01:00
|
|
|
|
2004-11-25 02:41:20 +01:00
|
|
|
# On AIX 5.2, <ldfcn.h> conflicts with <fcntl.h>, as both define incompatible
|
|
|
|
# FREAD and FWRITE macros. Fortunately, for GCC's single usage of ldgetname
|
|
|
|
# in collect2.c, <fcntl.h> isn't visible, but the configure test below needs
|
|
|
|
# to undef these macros to get the correct value for HAVE_DECL_LDGETNAME.
|
2003-01-20 21:41:55 +01:00
|
|
|
gcc_AC_CHECK_DECLS(ldgetname, , ,[
|
|
|
|
#include "ansidecl.h"
|
|
|
|
#include "system.h"
|
|
|
|
#ifdef HAVE_LDFCN_H
|
2004-11-25 02:41:20 +01:00
|
|
|
#undef FREAD
|
|
|
|
#undef FWRITE
|
2003-01-20 21:41:55 +01:00
|
|
|
#include <ldfcn.h>
|
|
|
|
#endif
|
|
|
|
])
|
|
|
|
|
2001-04-21 01:06:55 +02:00
|
|
|
gcc_AC_CHECK_DECLS(times, , ,[
|
|
|
|
#include "ansidecl.h"
|
|
|
|
#include "system.h"
|
|
|
|
#ifdef HAVE_SYS_TIMES_H
|
|
|
|
#include <sys/times.h>
|
|
|
|
#endif
|
|
|
|
])
|
|
|
|
|
2006-06-03 04:07:36 +02:00
|
|
|
gcc_AC_CHECK_DECLS(sigaltstack, , ,[
|
|
|
|
#include "ansidecl.h"
|
|
|
|
#include "system.h"
|
|
|
|
#include <signal.h>
|
|
|
|
])
|
|
|
|
|
2001-04-21 01:06:55 +02:00
|
|
|
# More time-related stuff.
|
|
|
|
AC_CACHE_CHECK(for struct tms, ac_cv_struct_tms, [
|
2005-07-06 03:56:56 +02:00
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
2001-04-21 01:06:55 +02:00
|
|
|
#include "ansidecl.h"
|
|
|
|
#include "system.h"
|
|
|
|
#ifdef HAVE_SYS_TIMES_H
|
|
|
|
#include <sys/times.h>
|
|
|
|
#endif
|
2005-07-06 03:56:56 +02:00
|
|
|
]], [[struct tms tms;]])],[ac_cv_struct_tms=yes],[ac_cv_struct_tms=no])])
|
2001-04-21 01:06:55 +02:00
|
|
|
if test $ac_cv_struct_tms = yes; then
|
|
|
|
AC_DEFINE(HAVE_STRUCT_TMS, 1,
|
|
|
|
[Define if <sys/times.h> defines struct tms.])
|
|
|
|
fi
|
|
|
|
|
|
|
|
# use gcc_cv_* here because this doesn't match the behavior of AC_CHECK_TYPE.
|
|
|
|
# revisit after autoconf 2.50.
|
|
|
|
AC_CACHE_CHECK(for clock_t, gcc_cv_type_clock_t, [
|
2005-07-06 03:56:56 +02:00
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
2001-04-21 01:06:55 +02:00
|
|
|
#include "ansidecl.h"
|
|
|
|
#include "system.h"
|
2005-07-06 03:56:56 +02:00
|
|
|
]], [[clock_t x;]])],[gcc_cv_type_clock_t=yes],[gcc_cv_type_clock_t=no])])
|
2001-04-21 01:06:55 +02:00
|
|
|
if test $gcc_cv_type_clock_t = yes; then
|
|
|
|
AC_DEFINE(HAVE_CLOCK_T, 1,
|
|
|
|
[Define if <time.h> defines clock_t.])
|
|
|
|
fi
|
|
|
|
|
2000-04-26 02:03:37 +02:00
|
|
|
# Restore CFLAGS from before the gcc_AC_NEED_DECLARATIONS tests.
|
|
|
|
CFLAGS="$saved_CFLAGS"
|
|
|
|
|
2003-01-07 22:03:24 +01:00
|
|
|
gcc_AC_INITFINI_ARRAY
|
|
|
|
|
1999-04-15 03:50:52 +02:00
|
|
|
# mkdir takes a single argument on some systems.
|
aclocal.m4: (GCC_HEADER_STRING...
* aclocal.m4: (GCC_HEADER_STRING, GCC_NEED_DECLARATION,
GCC_NEED_DECLARATIONS, GCC_FUNC_VFPRINTF_DOPRNT,
GCC_FUNC_PRINTF_PTR, GCC_PROG_LN_S, GCC_PROG_LN, GCC_C_VOLATILE,
AC_GCC_C_LONG_DOUBLE, GCC_FUNC_MKDIR_TAKES_ONE_ARG,
EGCS_PROG_INSTALL): Rename autoconf macros with prefix gcc_AC_.
* configure.in (AC_GCC_C_LONG_DOUBLE, GCC_PROG_LN, GCC_PROG_LN_S,
GCC_C_VOLATILE, EGCS_PROG_INSTALL, GCC_HEADER_STRING,
GCC_FUNC_VFPRINTF_DOPRNT, GCC_FUNC_PRINTF_PTR,
GCC_NEED_DECLARATIONS, GCC_FUNC_MKDIR_TAKES_ONE_ARG): Invoke with
new macros names.
From-SVN: r33383
2000-04-24 19:45:50 +02:00
|
|
|
gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
|
1999-04-15 03:50:52 +02:00
|
|
|
|
1997-05-18 14:31:53 +02:00
|
|
|
# File extensions
|
|
|
|
manext='.1'
|
|
|
|
objext='.o'
|
|
|
|
AC_SUBST(manext)
|
|
|
|
AC_SUBST(objext)
|
|
|
|
|
2002-12-16 19:23:00 +01:00
|
|
|
# With Setjmp/Longjmp based exception handling.
|
|
|
|
AC_ARG_ENABLE(sjlj-exceptions,
|
|
|
|
[ --enable-sjlj-exceptions
|
|
|
|
arrange to use setjmp/longjmp exception handling],
|
2008-03-05 00:30:47 +01:00
|
|
|
[case $target in
|
|
|
|
*-*-hpux10*)
|
|
|
|
if test $enableval != yes; then
|
|
|
|
AC_MSG_WARN([dwarf2 exceptions not supported, sjlj exceptions forced])
|
|
|
|
enableval=yes
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
force_sjlj_exceptions=yes],
|
|
|
|
[case $target in
|
|
|
|
*-*-hpux10*)
|
|
|
|
force_sjlj_exceptions=yes
|
|
|
|
enableval=yes
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
force_sjlj_exceptions=no
|
|
|
|
;;
|
|
|
|
esac])
|
|
|
|
if test $force_sjlj_exceptions = yes; then
|
|
|
|
sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi`
|
|
|
|
AC_DEFINE_UNQUOTED(CONFIG_SJLJ_EXCEPTIONS, $sjlj,
|
|
|
|
[Define 0/1 to force the choice for exception handling model.])
|
|
|
|
fi
|
2002-12-16 19:23:00 +01:00
|
|
|
|
2004-09-04 02:15:42 +02:00
|
|
|
# For platforms with the unwind ABI which includes an unwind library,
|
|
|
|
# libunwind, we can choose to use the system libunwind.
|
2006-10-09 17:55:38 +02:00
|
|
|
# config.gcc also contains tests of with_system_libunwind.
|
2008-11-12 22:37:34 +01:00
|
|
|
GCC_CHECK_UNWIND_GETIPINFO
|
2006-10-09 17:55:38 +02:00
|
|
|
|
2003-03-04 08:41:00 +01:00
|
|
|
# --------------------------------------------------------
|
|
|
|
# Build, host, and target specific configuration fragments
|
|
|
|
# --------------------------------------------------------
|
|
|
|
|
2003-08-31 21:00:39 +02:00
|
|
|
# Collect build-machine-specific information.
|
|
|
|
. ${srcdir}/config.build
|
|
|
|
|
2003-09-01 19:30:41 +02:00
|
|
|
# Collect host-machine-specific information.
|
|
|
|
. ${srcdir}/config.host
|
|
|
|
|
2002-07-27 22:54:52 +02:00
|
|
|
target_gtfiles=
|
2003-09-01 19:30:41 +02:00
|
|
|
|
|
|
|
# Collect target-machine-specific information.
|
2003-09-23 23:51:44 +02:00
|
|
|
. ${srcdir}/config.gcc
|
1997-05-18 14:31:53 +02:00
|
|
|
|
|
|
|
extra_objs="${host_extra_objs} ${extra_objs}"
|
2004-02-25 22:43:26 +01:00
|
|
|
extra_gcc_objs="${host_extra_gcc_objs} ${extra_gcc_objs}"
|
1997-05-18 14:31:53 +02:00
|
|
|
|
|
|
|
# Default the target-machine variables that were not explicitly set.
|
1998-08-14 11:23:47 +02:00
|
|
|
if test x"$tm_file" = x
|
1997-05-18 14:31:53 +02:00
|
|
|
then tm_file=$cpu_type/$cpu_type.h; fi
|
|
|
|
|
2000-11-27 11:16:16 +01:00
|
|
|
if test x"$extra_headers" = x
|
1997-05-18 14:31:53 +02:00
|
|
|
then extra_headers=; fi
|
|
|
|
|
1998-08-14 11:23:47 +02:00
|
|
|
if test x$md_file = x
|
1998-03-25 11:44:07 +01:00
|
|
|
then md_file=$cpu_type/$cpu_type.md; fi
|
1997-05-18 14:31:53 +02:00
|
|
|
|
1998-08-14 11:23:47 +02:00
|
|
|
if test x$out_file = x
|
1997-05-18 14:31:53 +02:00
|
|
|
then out_file=$cpu_type/$cpu_type.c; fi
|
|
|
|
|
1998-08-14 11:23:47 +02:00
|
|
|
if test x"$tmake_file" = x
|
1997-05-18 14:31:53 +02:00
|
|
|
then tmake_file=$cpu_type/t-$cpu_type
|
|
|
|
fi
|
|
|
|
|
1999-01-06 17:05:47 +01:00
|
|
|
if test x"$dwarf2" = xyes
|
2000-02-10 06:32:04 +01:00
|
|
|
then tm_file="$tm_file tm-dwarf2.h"
|
1999-01-06 17:05:47 +01:00
|
|
|
fi
|
|
|
|
|
1997-05-18 14:31:53 +02:00
|
|
|
# Say what files are being used for the output code and MD file.
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
echo "Using \`$srcdir/config/$out_file' for machine-specific logic."
|
1997-05-18 14:31:53 +02:00
|
|
|
echo "Using \`$srcdir/config/$md_file' as machine description file."
|
|
|
|
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
# If any of the xm_file variables contain nonexistent files, warn
|
2001-04-05 06:34:24 +02:00
|
|
|
# about them and drop them.
|
|
|
|
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
bx=
|
|
|
|
for x in $build_xm_file; do
|
|
|
|
if test -f $srcdir/config/$x
|
|
|
|
then bx="$bx $x"
|
|
|
|
else AC_MSG_WARN($srcdir/config/$x does not exist.)
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
build_xm_file="$bx"
|
|
|
|
|
|
|
|
hx=
|
|
|
|
for x in $host_xm_file; do
|
|
|
|
if test -f $srcdir/config/$x
|
|
|
|
then hx="$hx $x"
|
|
|
|
else AC_MSG_WARN($srcdir/config/$x does not exist.)
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
host_xm_file="$hx"
|
|
|
|
|
|
|
|
tx=
|
|
|
|
for x in $xm_file; do
|
|
|
|
if test -f $srcdir/config/$x
|
|
|
|
then tx="$tx $x"
|
|
|
|
else AC_MSG_WARN($srcdir/config/$x does not exist.)
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
xm_file="$tx"
|
|
|
|
|
1997-05-18 14:31:53 +02:00
|
|
|
count=a
|
|
|
|
for f in $tm_file; do
|
|
|
|
count=${count}x
|
|
|
|
done
|
1998-08-14 11:23:47 +02:00
|
|
|
if test $count = ax; then
|
1997-05-18 14:31:53 +02:00
|
|
|
echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
|
|
|
|
else
|
|
|
|
echo "Using the following target machine macro files:"
|
|
|
|
for f in $tm_file; do
|
|
|
|
echo " $srcdir/config/$f"
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
2002-12-16 19:23:00 +01:00
|
|
|
if test x$need_64bit_hwint = xyes; then
|
|
|
|
AC_DEFINE(NEED_64BIT_HOST_WIDE_INT, 1,
|
|
|
|
[Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h).])
|
|
|
|
fi
|
|
|
|
|
2004-08-31 02:29:04 +02:00
|
|
|
if test x$use_long_long_for_widest_fast_int = xyes; then
|
|
|
|
AC_DEFINE(USE_LONG_LONG_FOR_WIDEST_FAST_INT, 1,
|
|
|
|
[Define to 1 if the 'long long' (or '__int64') is wider than 'long' but still
|
|
|
|
efficiently supported by the host hardware.])
|
|
|
|
fi
|
|
|
|
|
1997-05-18 14:31:53 +02:00
|
|
|
count=a
|
|
|
|
for f in $host_xm_file; do
|
|
|
|
count=${count}x
|
|
|
|
done
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
if test $count = a; then
|
|
|
|
:
|
|
|
|
elif test $count = ax; then
|
1997-05-18 14:31:53 +02:00
|
|
|
echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
|
|
|
|
else
|
|
|
|
echo "Using the following host machine macro files:"
|
|
|
|
for f in $host_xm_file; do
|
|
|
|
echo " $srcdir/config/$f"
|
|
|
|
done
|
|
|
|
fi
|
2003-02-06 02:47:56 +01:00
|
|
|
echo "Using ${out_host_hook_obj} for host machine hooks."
|
1997-05-18 14:31:53 +02:00
|
|
|
|
1998-08-14 11:23:47 +02:00
|
|
|
if test "$host_xm_file" != "$build_xm_file"; then
|
1997-05-18 14:31:53 +02:00
|
|
|
count=a
|
|
|
|
for f in $build_xm_file; do
|
|
|
|
count=${count}x
|
|
|
|
done
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
if test $count = a; then
|
|
|
|
:
|
|
|
|
elif test $count = ax; then
|
1997-05-18 14:31:53 +02:00
|
|
|
echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
|
|
|
|
else
|
|
|
|
echo "Using the following build machine macro files:"
|
|
|
|
for f in $build_xm_file; do
|
|
|
|
echo " $srcdir/config/$f"
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2006-06-03 04:07:36 +02:00
|
|
|
case ${host} in
|
2006-11-10 00:56:57 +01:00
|
|
|
powerpc*-*-darwin*)
|
2006-06-03 04:07:36 +02:00
|
|
|
AC_CACHE_CHECK([whether mcontext_t fields have underscores],
|
|
|
|
gcc_cv_mcontext_underscores,
|
|
|
|
AC_COMPILE_IFELSE([
|
2007-02-22 00:58:22 +01:00
|
|
|
#include <sys/cdefs.h>
|
2006-06-13 18:36:40 +02:00
|
|
|
#include <sys/signal.h>
|
2006-06-03 04:07:36 +02:00
|
|
|
#include <ucontext.h>
|
|
|
|
int main() { mcontext_t m; if (m->ss.srr0) return 0; return 0; }
|
|
|
|
],
|
|
|
|
gcc_cv_mcontext_underscores=no, gcc_cv_mcontext_underscores=yes))
|
|
|
|
if test $gcc_cv_mcontext_underscores = yes; then
|
|
|
|
AC_DEFINE(HAS_MCONTEXT_T_UNDERSCORES,,dnl
|
|
|
|
[mcontext_t fields start with __])
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2004-02-29 23:50:19 +01:00
|
|
|
# ---------
|
|
|
|
# Threading
|
|
|
|
# ---------
|
|
|
|
|
2003-10-07 14:32:07 +02:00
|
|
|
# Check if a valid thread package
|
2004-04-07 03:20:59 +02:00
|
|
|
case ${enable_threads} in
|
2003-10-07 14:32:07 +02:00
|
|
|
"" | no)
|
|
|
|
# No threads
|
|
|
|
target_thread_file='single'
|
|
|
|
;;
|
|
|
|
yes)
|
|
|
|
# default
|
|
|
|
target_thread_file='single'
|
|
|
|
;;
|
2004-11-22 23:26:11 +01:00
|
|
|
aix | dce | gnat | irix | posix | posix95 | rtems | \
|
2007-09-14 16:50:26 +02:00
|
|
|
single | solaris | vxworks | win32 | mipssde)
|
2004-04-07 03:20:59 +02:00
|
|
|
target_thread_file=${enable_threads}
|
2003-10-07 14:32:07 +02:00
|
|
|
;;
|
|
|
|
*)
|
2004-04-07 03:20:59 +02:00
|
|
|
echo "${enable_threads} is an unknown thread package" 1>&2
|
2003-10-07 14:32:07 +02:00
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
if test x${thread_file} = x; then
|
|
|
|
# No thread file set by target-specific clauses in config.gcc,
|
|
|
|
# so use file chosen by default logic above
|
|
|
|
thread_file=${target_thread_file}
|
1997-05-18 14:31:53 +02:00
|
|
|
fi
|
|
|
|
|
2004-02-29 23:50:19 +01:00
|
|
|
# Make gthr-default.h if we have a thread file.
|
|
|
|
gthread_flags=
|
|
|
|
if test $thread_file != single; then
|
2008-06-14 11:53:00 +02:00
|
|
|
echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h-t
|
|
|
|
if diff gthr-default.h-t gthr-default.h 2>/dev/null; then
|
|
|
|
rm -f gthr-default.h-t
|
|
|
|
else
|
|
|
|
mv -f gthr-default.h-t gthr-default.h
|
|
|
|
fi
|
2004-02-29 23:50:19 +01:00
|
|
|
gthread_flags=-DHAVE_GTHR_DEFAULT
|
|
|
|
fi
|
|
|
|
AC_SUBST(gthread_flags)
|
|
|
|
|
|
|
|
# --------
|
|
|
|
# UNSORTED
|
|
|
|
# --------
|
|
|
|
|
2004-10-27 18:08:48 +02:00
|
|
|
use_cxa_atexit=no
|
2003-06-03 22:39:52 +02:00
|
|
|
if test x$enable___cxa_atexit = xyes || \
|
|
|
|
test x$enable___cxa_atexit = x -a x$default_use_cxa_atexit = xyes; then
|
2004-10-27 18:08:48 +02:00
|
|
|
if test x$host = x$target; then
|
2006-11-01 07:23:12 +01:00
|
|
|
case $host in
|
|
|
|
# mingw32 doesn't have __cxa_atexit but uses atexit registration
|
|
|
|
# keyed to flag_use_cxa_atexit
|
|
|
|
*-*-mingw32*)
|
|
|
|
use_cxa_atexit=yes
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_CHECK_FUNC(__cxa_atexit,[use_cxa_atexit=yes],
|
|
|
|
[echo "__cxa_atexit can't be enabled on this target"])
|
2006-11-06 20:49:31 +01:00
|
|
|
;;
|
2006-11-01 07:23:12 +01:00
|
|
|
esac
|
2004-10-27 18:08:48 +02:00
|
|
|
else
|
|
|
|
# We can't check for __cxa_atexit when building a cross, so assume
|
|
|
|
# it is available
|
|
|
|
use_cxa_atexit=yes
|
|
|
|
fi
|
|
|
|
if test x$use_cxa_atexit = xyes; then
|
2006-02-24 22:43:01 +01:00
|
|
|
AC_DEFINE(DEFAULT_USE_CXA_ATEXIT, 2,
|
2004-10-27 18:08:48 +02:00
|
|
|
[Define if you want to use __cxa_atexit, rather than atexit, to
|
|
|
|
register C++ destructors for local statics and global objects.
|
|
|
|
This is essential for fully standards-compliant handling of
|
|
|
|
destructors, but requires __cxa_atexit in libc.])
|
|
|
|
fi
|
2003-06-03 22:39:52 +02:00
|
|
|
fi
|
|
|
|
|
Makefile.in (MACHMODE_H): Add @extra_modes_file@.
* Makefile.in (MACHMODE_H): Add @extra_modes_file@.
* configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
exists, substitute its pathname as @extra_modes_file@, define
EXTRA_MODES_FILE to be an appropriate string to #include it
with, and define EXTRA_CC_MODES to 1.
* machmode.def: Update comments. Include EXTRA_MODES_FILE if
it's defined. Get rid of redundancy in calling sequence for
CC; don't use it to define CCmode, to avoid a warning.
* libgcc2.c: Include symcat.h for the sake of machmode.def.
* arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
New files.
* arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
* doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
defining extra CC modes.
From-SVN: r54478
2002-06-11 00:35:56 +02:00
|
|
|
# Look for a file containing extra machine modes.
|
2002-06-12 03:36:13 +02:00
|
|
|
if test -n "$extra_modes" && test -f $srcdir/config/$extra_modes; then
|
|
|
|
extra_modes_file='$(srcdir)'/config/${extra_modes}
|
Makefile.in (MACHMODE_H): Add @extra_modes_file@.
* Makefile.in (MACHMODE_H): Add @extra_modes_file@.
* configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
exists, substitute its pathname as @extra_modes_file@, define
EXTRA_MODES_FILE to be an appropriate string to #include it
with, and define EXTRA_CC_MODES to 1.
* machmode.def: Update comments. Include EXTRA_MODES_FILE if
it's defined. Get rid of redundancy in calling sequence for
CC; don't use it to define CCmode, to avoid a warning.
* libgcc2.c: Include symcat.h for the sake of machmode.def.
* arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
New files.
* arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
* doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
defining extra CC modes.
From-SVN: r54478
2002-06-11 00:35:56 +02:00
|
|
|
AC_SUBST(extra_modes_file)
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
AC_DEFINE_UNQUOTED(EXTRA_MODES_FILE, "config/$extra_modes",
|
Makefile.in (MACHMODE_H): Add @extra_modes_file@.
* Makefile.in (MACHMODE_H): Add @extra_modes_file@.
* configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
exists, substitute its pathname as @extra_modes_file@, define
EXTRA_MODES_FILE to be an appropriate string to #include it
with, and define EXTRA_CC_MODES to 1.
* machmode.def: Update comments. Include EXTRA_MODES_FILE if
it's defined. Get rid of redundancy in calling sequence for
CC; don't use it to define CCmode, to avoid a warning.
* libgcc2.c: Include symcat.h for the sake of machmode.def.
* arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
New files.
* arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
* doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
defining extra CC modes.
From-SVN: r54478
2002-06-11 00:35:56 +02:00
|
|
|
[Define to the name of a file containing a list of extra machine modes
|
|
|
|
for this architecture.])
|
|
|
|
fi
|
|
|
|
|
2005-03-14 21:18:43 +01:00
|
|
|
# Convert extra_options into a form suitable for Makefile use.
|
|
|
|
extra_opt_files=
|
|
|
|
for f in $extra_options; do
|
|
|
|
extra_opt_files="$extra_opt_files \$(srcdir)/config/$f"
|
|
|
|
done
|
|
|
|
AC_SUBST(extra_opt_files)
|
|
|
|
|
1998-04-14 10:32:34 +02:00
|
|
|
# auto-host.h is the file containing items generated by autoconf and is
|
1997-11-02 22:19:36 +01:00
|
|
|
# the first file included by config.h.
|
2002-12-16 19:23:00 +01:00
|
|
|
# If host=build, it is correct to have bconfig include auto-host.h
|
1998-01-25 23:11:32 +01:00
|
|
|
# as well. If host!=build, we are in error and need to do more
|
|
|
|
# work to find out the build config parameters.
|
1998-08-14 11:23:47 +02:00
|
|
|
if test x$host = x$build
|
1998-01-25 23:11:32 +01:00
|
|
|
then
|
configure.in: Kill tm.h.
* configure.in: Kill tm.h. Include the files in the $tm_file
list in all three of config.h, hconfig.h, tconfig.h, after the
relevant set of xm_files. Put TARGET_CPU_DEFAULT in all
three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
* configure: Regenerate.
* Makefile.in (clean): Don't delete tm.h.
* system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
defined, set them from EXIT_SUCCESS and EXIT_FAILURE. If
those are not defined, set SEC and FEC to 0 and 1.
* gcc.texi: Update to match.
* crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
* config/fp-bit.c, config/m68k/aux-crt2.asm,
config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
Include tconfig.h, not tm.h.
* config/xm-lynx.h, config/xm-std32.h,
config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
config/alpha/xm-alpha.h, config/arc/xm-arc.h,
config/avr/xm-avr.h, config/c4x/xm-c4x.h,
config/clipper/xm-clix.h, config/convex/xm-convex.h,
config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
config/h8300/xm-h8300.h, config/i370/xm-linux.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/ia64/xm-ia64.h,
config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pa/xm-linux.h, config/pa/xm-pa.h,
config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
config/pj/xm-pj.h, config/romp/xm-romp.h,
config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
config/v850/xm-v850.h, config/vax/xm-vax.h,
config/we32k/xm-we32k.h:
Don't include tm.h.
Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
* config/i370/xm-i370.h, config/i370/xm-mvs.h,
config/i370/xm-oe.h: Don't include tm.h. Don't define
SUCCESS_EXIT_CODE.
* config/vax/xm-vms.h: Don't include tm.h.
* config/xm-lynx.h, config/avr/xm-avr.h,
config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
Delete; made empty by above changes.
* config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
Don't include config/xm-lynx.h or tm.h.
* config/xm-gnu.h: Don't include fcntl.h.
* config/sparc/xm-lynx.h: Don't include sys/types.h and
sys/wait.h.
* config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
From-SVN: r40199
2001-03-03 04:32:55 +01:00
|
|
|
build_auto=auto-host.h
|
1998-04-14 10:32:34 +02:00
|
|
|
else
|
|
|
|
# We create a subdir, then run autoconf in the subdir.
|
|
|
|
# To prevent recursion we set host and build for the new
|
|
|
|
# invocation of configure to the build for this invocation
|
|
|
|
# of configure.
|
|
|
|
tempdir=build.$$
|
|
|
|
rm -rf $tempdir
|
|
|
|
mkdir $tempdir
|
|
|
|
cd $tempdir
|
|
|
|
case ${srcdir} in
|
2000-11-29 20:07:29 +01:00
|
|
|
/* | [A-Za-z]:[\\/]* ) realsrcdir=${srcdir};;
|
1998-04-14 10:32:34 +02:00
|
|
|
*) realsrcdir=../${srcdir};;
|
|
|
|
esac
|
2001-06-28 06:38:51 +02:00
|
|
|
saved_CFLAGS="${CFLAGS}"
|
|
|
|
CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
|
2008-06-08 18:14:33 +02:00
|
|
|
LDFLAGS="${LDFLAGS_FOR_BUILD}" \
|
2001-06-28 06:38:51 +02:00
|
|
|
${realsrcdir}/configure \
|
2004-03-05 15:11:58 +01:00
|
|
|
--enable-languages=${enable_languages-all} \
|
2002-04-08 10:53:48 +02:00
|
|
|
--target=$target_alias --host=$build_alias --build=$build_alias
|
2001-06-28 06:38:51 +02:00
|
|
|
CFLAGS="${saved_CFLAGS}"
|
1998-04-14 10:32:34 +02:00
|
|
|
|
|
|
|
# We just finished tests for the build machine, so rename
|
|
|
|
# the file auto-build.h in the gcc directory.
|
|
|
|
mv auto-host.h ../auto-build.h
|
|
|
|
cd ..
|
|
|
|
rm -rf $tempdir
|
configure.in: Kill tm.h.
* configure.in: Kill tm.h. Include the files in the $tm_file
list in all three of config.h, hconfig.h, tconfig.h, after the
relevant set of xm_files. Put TARGET_CPU_DEFAULT in all
three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
* configure: Regenerate.
* Makefile.in (clean): Don't delete tm.h.
* system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
defined, set them from EXIT_SUCCESS and EXIT_FAILURE. If
those are not defined, set SEC and FEC to 0 and 1.
* gcc.texi: Update to match.
* crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
* config/fp-bit.c, config/m68k/aux-crt2.asm,
config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
Include tconfig.h, not tm.h.
* config/xm-lynx.h, config/xm-std32.h,
config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
config/alpha/xm-alpha.h, config/arc/xm-arc.h,
config/avr/xm-avr.h, config/c4x/xm-c4x.h,
config/clipper/xm-clix.h, config/convex/xm-convex.h,
config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
config/h8300/xm-h8300.h, config/i370/xm-linux.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/ia64/xm-ia64.h,
config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pa/xm-linux.h, config/pa/xm-pa.h,
config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
config/pj/xm-pj.h, config/romp/xm-romp.h,
config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
config/v850/xm-v850.h, config/vax/xm-vax.h,
config/we32k/xm-we32k.h:
Don't include tm.h.
Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
* config/i370/xm-i370.h, config/i370/xm-mvs.h,
config/i370/xm-oe.h: Don't include tm.h. Don't define
SUCCESS_EXIT_CODE.
* config/vax/xm-vms.h: Don't include tm.h.
* config/xm-lynx.h, config/avr/xm-avr.h,
config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
Delete; made empty by above changes.
* config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
Don't include config/xm-lynx.h or tm.h.
* config/xm-gnu.h: Don't include fcntl.h.
* config/sparc/xm-lynx.h: Don't include sys/types.h and
sys/wait.h.
* config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
From-SVN: r40199
2001-03-03 04:32:55 +01:00
|
|
|
build_auto=auto-build.h
|
1998-01-25 23:11:32 +01:00
|
|
|
fi
|
2004-08-31 11:27:00 +02:00
|
|
|
AC_SUBST(build_subdir)
|
1998-01-25 23:11:32 +01:00
|
|
|
|
configure.in: Kill tm.h.
* configure.in: Kill tm.h. Include the files in the $tm_file
list in all three of config.h, hconfig.h, tconfig.h, after the
relevant set of xm_files. Put TARGET_CPU_DEFAULT in all
three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
* configure: Regenerate.
* Makefile.in (clean): Don't delete tm.h.
* system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
defined, set them from EXIT_SUCCESS and EXIT_FAILURE. If
those are not defined, set SEC and FEC to 0 and 1.
* gcc.texi: Update to match.
* crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
* config/fp-bit.c, config/m68k/aux-crt2.asm,
config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
Include tconfig.h, not tm.h.
* config/xm-lynx.h, config/xm-std32.h,
config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
config/alpha/xm-alpha.h, config/arc/xm-arc.h,
config/avr/xm-avr.h, config/c4x/xm-c4x.h,
config/clipper/xm-clix.h, config/convex/xm-convex.h,
config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
config/h8300/xm-h8300.h, config/i370/xm-linux.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/ia64/xm-ia64.h,
config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pa/xm-linux.h, config/pa/xm-pa.h,
config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
config/pj/xm-pj.h, config/romp/xm-romp.h,
config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
config/v850/xm-v850.h, config/vax/xm-vax.h,
config/we32k/xm-we32k.h:
Don't include tm.h.
Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
* config/i370/xm-i370.h, config/i370/xm-mvs.h,
config/i370/xm-oe.h: Don't include tm.h. Don't define
SUCCESS_EXIT_CODE.
* config/vax/xm-vms.h: Don't include tm.h.
* config/xm-lynx.h, config/avr/xm-avr.h,
config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
Delete; made empty by above changes.
* config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
Don't include config/xm-lynx.h or tm.h.
* config/xm-gnu.h: Don't include fcntl.h.
* config/sparc/xm-lynx.h: Don't include sys/types.h and
sys/wait.h.
* config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
From-SVN: r40199
2001-03-03 04:32:55 +01:00
|
|
|
tm_file="${tm_file} defaults.h"
|
2002-12-16 19:23:00 +01:00
|
|
|
tm_p_file="${tm_p_file} tm-preds.h"
|
|
|
|
host_xm_file="auto-host.h ansidecl.h ${host_xm_file}"
|
|
|
|
build_xm_file="${build_auto} ansidecl.h ${build_xm_file}"
|
2003-01-24 02:46:50 +01:00
|
|
|
# We don't want ansidecl.h in target files, write code there in ISO/GNU C.
|
2003-01-24 03:26:04 +01:00
|
|
|
# put this back in temporarily.
|
2005-05-08 12:13:19 +02:00
|
|
|
xm_file="auto-host.h ansidecl.h ${xm_file}"
|
configure.in (host_xm_file, [...]): Arrange to include gansidecl.h in {ht}config.h & tm.h just before the config/...
* configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
Arrange to include gansidecl.h in {ht}config.h & tm.h just
before the config/ directory headers.
(tm_file_list, host_xm_file_list, build_xm_file_list): Handle
gansidecl.h in the list of dependencies.
* Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
(TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
Likewise.
* cccp.c: Don't include gansidecl.h.
* cexp.y: Likewise.
* collect2.c: Likewise.
* config/c4x/c4x.c: Likewise.
* config/v850/v850.h: Likewise.
* cppalloc.c: Likewise.
* cpperror.c: Likewise.
* cppexp.c: Likewise.
* cppfiles.c: Likewise.
* cpphash.c: Likewise.
* cpplib.c: Likewise.
* cppmain.c: Likewise.
* cppulp.c: Likewise.
* demangle.h: Likewise.
* doprint.c: Likewise.
* dyn-string.c: Likewise.
* eh-common.h: Likewise.
* fix-header.c: Likewise.
* frame.c: Likewise.
* gcc.c: Likewise.
* gcov.c: Likewise.
* gen-protos.c: Likewise.
* gencheck.c: Likewise.
* halfpic.h: Likewise.
* hash.c: Likewise.
* machmode.h: Likewise.
* mbchar.c: Likewise.
* prefix.c: Likewise.
* protoize.c: Likewise.
* recog.h: Likewise.
* rtl.h: Likewise.
* scan-decls.c: Likewise.
* tree.h: Likewise.
* varray.h: Likewise.
From-SVN: r23558
1998-11-07 14:00:46 +01:00
|
|
|
|
2003-03-04 08:41:00 +01:00
|
|
|
# --------
|
|
|
|
# UNSORTED
|
|
|
|
# --------
|
|
|
|
|
2004-12-02 12:05:13 +01:00
|
|
|
changequote(,)dnl
|
2000-11-13 14:39:36 +01:00
|
|
|
# Compile in configure arguments.
|
2000-11-13 17:56:57 +01:00
|
|
|
if test -f configargs.h ; then
|
2000-11-13 14:39:36 +01:00
|
|
|
# Being re-configured.
|
2001-05-29 17:16:24 +02:00
|
|
|
gcc_config_arguments=`grep configuration_arguments configargs.h | sed -e 's/.*"\([^"]*\)".*/\1/'`
|
2000-11-13 14:39:36 +01:00
|
|
|
gcc_config_arguments="$gcc_config_arguments : (reconfigured) $TOPLEVEL_CONFIGURE_ARGUMENTS"
|
|
|
|
else
|
|
|
|
gcc_config_arguments="$TOPLEVEL_CONFIGURE_ARGUMENTS"
|
|
|
|
fi
|
2003-09-17 22:01:06 +02:00
|
|
|
|
|
|
|
# Double all backslashes and backslash all quotes to turn
|
|
|
|
# gcc_config_arguments into a C string.
|
|
|
|
sed -e 's/\\/\\\\/g; s/"/\\"/g' <<EOF >conftest.out
|
|
|
|
$gcc_config_arguments
|
|
|
|
EOF
|
|
|
|
gcc_config_arguments_str=`cat conftest.out`
|
|
|
|
rm -f conftest.out
|
|
|
|
|
2000-11-13 14:39:36 +01:00
|
|
|
cat > configargs.h <<EOF
|
|
|
|
/* Generated automatically. */
|
2003-09-17 22:01:06 +02:00
|
|
|
static const char configuration_arguments[] = "$gcc_config_arguments_str";
|
2001-04-26 06:28:50 +02:00
|
|
|
static const char thread_model[] = "$thread_file";
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
|
|
|
|
static const struct {
|
|
|
|
const char *name, *value;
|
|
|
|
} configure_default_options[] = $configure_default_options;
|
2000-11-13 14:39:36 +01:00
|
|
|
EOF
|
1998-08-14 11:23:47 +02:00
|
|
|
changequote([,])dnl
|
1997-05-18 14:31:53 +02:00
|
|
|
|
1999-01-27 02:43:17 +01:00
|
|
|
# Internationalization
|
Makefile.tpl (configure-gcc): Depend on maybe-configure-intl.
top:
* Makefile.tpl (configure-gcc): Depend on maybe-configure-intl.
* Makefile.in: Regenerate.
config:
* gettext.m4: Delete all former contents.
(ZW_GNU_GETTEXT_SISTER_DIR): New macro.
* progtest.m4: New file.
gcc:
* Makefile.in (top_builddir): Set to "..", not ".".
(INTLLIBS, INTLDEPS): Delete.
(LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
(LIBDEPS): Add $(LIBICONV_DEP).
(LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
(INCLUDES): Replace -I../intl with @INCINTL@.
($(top_builddir)/intl/libintl.a): Delete rule.
(stage2-start, stage3-start, stage4-start, stageprofile-start,
stagefeedback-start): Use $$ for variable to be evaluated by
shell, not make.
* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
* aclocal.m4: sinclude ../config/progtest.m4. Add
contents of lcmessage.m4 from gettext distro.
* configure.in: Check for wchar.h and setlocale. Set
LIBICONV_DEP to the empty string and substitute it.
Call AM_LC_MESSAGES. Delete AC_ARG_ENABLE for --enable-nls;
this is handled elsewhere. Use ZW_GNU_GETTEXT_SISTER_DIR,
not CY_GNU_GETTEXT. Clear $LIBICONV if its text is included
in $LIBINTL, to avoid linking it twice.
* configure, config.in: Regenerate.
intl:
* README: Update.
* Makefile.in (INSTALL, INSTALL_DATA, MKINSTALLDIRS,
mkinstalldirs, gettextsrcdir, l): Delete.
(COMPILE): Add $(DEFS-$@), remove $(XCFLAGS).
(HEADERS): libgnuintl.h not libgnuintl.h.in. Remove os2compat.h.
(SOURCES): Remove os2compat.c.
(DEFS-dcigettext.o, DEFS-localealias.o, DEFS-localcharset.o,
DEFS-relocatable.o): New.
(all-yes): Add config.intl.
(libintl.h): Use cp, not cat.
(INCLUDES): Remove -I..
(TAGS, CTAGS, ID): Word wrap.
(mostlyclean, distclean): Remove junk.
(config.intl): New rule.
* aclocal.m4: sinclude ../config/progtest.m4 instead of
including it inline.
* config.intl.in: New file.
* configure.in: Take out unnecessary AC_CONFIG_AUX_DIR.
Take out AC_DEFINEs for LOCALEDIR, LOCALE_ALIAS_PATH,
LIBDIR, INSTALLDIR. Set LIBINTL_DEP and INCINTL and AC_SUBST
them. Add config.intl to AC_OUTPUT.
* os2compat.c, os2compat.h: Delete, unused.
From-SVN: r69071
2003-07-08 07:55:11 +02:00
|
|
|
ZW_GNU_GETTEXT_SISTER_DIR
|
2000-05-31 19:46:30 +02:00
|
|
|
|
Makefile.tpl (configure-gcc): Depend on maybe-configure-intl.
top:
* Makefile.tpl (configure-gcc): Depend on maybe-configure-intl.
* Makefile.in: Regenerate.
config:
* gettext.m4: Delete all former contents.
(ZW_GNU_GETTEXT_SISTER_DIR): New macro.
* progtest.m4: New file.
gcc:
* Makefile.in (top_builddir): Set to "..", not ".".
(INTLLIBS, INTLDEPS): Delete.
(LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
(LIBDEPS): Add $(LIBICONV_DEP).
(LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
(INCLUDES): Replace -I../intl with @INCINTL@.
($(top_builddir)/intl/libintl.a): Delete rule.
(stage2-start, stage3-start, stage4-start, stageprofile-start,
stagefeedback-start): Use $$ for variable to be evaluated by
shell, not make.
* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
* aclocal.m4: sinclude ../config/progtest.m4. Add
contents of lcmessage.m4 from gettext distro.
* configure.in: Check for wchar.h and setlocale. Set
LIBICONV_DEP to the empty string and substitute it.
Call AM_LC_MESSAGES. Delete AC_ARG_ENABLE for --enable-nls;
this is handled elsewhere. Use ZW_GNU_GETTEXT_SISTER_DIR,
not CY_GNU_GETTEXT. Clear $LIBICONV if its text is included
in $LIBINTL, to avoid linking it twice.
* configure, config.in: Regenerate.
intl:
* README: Update.
* Makefile.in (INSTALL, INSTALL_DATA, MKINSTALLDIRS,
mkinstalldirs, gettextsrcdir, l): Delete.
(COMPILE): Add $(DEFS-$@), remove $(XCFLAGS).
(HEADERS): libgnuintl.h not libgnuintl.h.in. Remove os2compat.h.
(SOURCES): Remove os2compat.c.
(DEFS-dcigettext.o, DEFS-localealias.o, DEFS-localcharset.o,
DEFS-relocatable.o): New.
(all-yes): Add config.intl.
(libintl.h): Use cp, not cat.
(INCLUDES): Remove -I..
(TAGS, CTAGS, ID): Word wrap.
(mostlyclean, distclean): Remove junk.
(config.intl): New rule.
* aclocal.m4: sinclude ../config/progtest.m4 instead of
including it inline.
* config.intl.in: New file.
* configure.in: Take out unnecessary AC_CONFIG_AUX_DIR.
Take out AC_DEFINEs for LOCALEDIR, LOCALE_ALIAS_PATH,
LIBDIR, INSTALLDIR. Set LIBINTL_DEP and INCINTL and AC_SUBST
them. Add config.intl to AC_OUTPUT.
* os2compat.c, os2compat.h: Delete, unused.
From-SVN: r69071
2003-07-08 07:55:11 +02:00
|
|
|
# If LIBINTL contains LIBICONV, then clear LIBICONV so we don't get
|
|
|
|
# -liconv on the link line twice.
|
|
|
|
case "$LIBINTL" in *$LIBICONV*)
|
|
|
|
LIBICONV= ;;
|
|
|
|
esac
|
1999-01-27 02:43:17 +01:00
|
|
|
|
configure.ac: Add --enable-secureplt.
* configure.ac: Add --enable-secureplt.
(HAVE_AS_REL16): Test for R_PPC_REL16 relocs.
* config.in: Regenerate.
* configure: Regenerate.
* config.gcc (powerpc64-*-linux*, powerpc-*-linux*): Add
rs6000/secureplt.h to tm_file when enable_secureplt.
* doc/invoke.texi (msecure-plt, mbss-plt): Document.
* doc/install.texi: Document --enable-targets and --enable-secureplt.
Correct xrefs to "Using the GNU Compiler Collection (GCC)".
* config/rs6000/secureplt.h: New file.
* config/rs6000/sysv4.h (TARGET_SECURE_PLT): Define.
(SUBTARGET_OVERRIDE_OPTIONS): Error if -msecure-plt given without
assembler support.
(CC1_SECURE_PLT_DEFAULT_SPEC): Define.
(CC1_SPEC): Delete duplicate mno-sdata. Invoke cc1_secure_plt_default.
(SUBTARGET_EXTRA_SPECS): Add cc1_secure_plt_default.
* config/rs6000/sysv4.opt (msecure-plt, bss-plt): Add options.
* config/rs6000/rs6000.h (TARGET_SECURE_PLT): Define.
* config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Handle
TARGET_SECURE_PLT got register load sequence.
(rs6000_emit_prologue): Call rs6000_emit_load_toc_table when
TARGET_SECURE_PLT.
(rs6000_elf_declare_function_name): Don't emit toc address offset
word when TARGET_SECURE_PLT.
* config/rs6000/rs6000.md (elf_high, elf_low): Move past load_toc_*.
(load_toc_v4_PIC_1) Enable for TARGET_SECURE_PLT.
(load_toc_v4_PIC_3b, load_toc_v4_PIC_3c): New insns.
(call, call_value): Mark pic_offset_table_rtx used for sysv pic and
TARGET_SECURE_PLT.
(call_nonlocal_sysv, call_value_nonlocal_sysv, sibcall_nonlocal_sysv,
sibcall_value_nonlocal_sysv): Add 32768 offset when TARGET_SECURE_PLT
and -fPIC.
* config/rs6000/tramp.asm (trampoline_initial): Use "bcl 20,31".
(__trampoline_setup): Likewise. Init r30 before plt call.
From-SVN: r100415
2005-06-01 02:30:26 +02:00
|
|
|
AC_ARG_ENABLE(secureplt,
|
|
|
|
[ --enable-secureplt enable -msecure-plt by default for PowerPC],
|
|
|
|
[], [])
|
|
|
|
|
2008-05-23 09:53:16 +02:00
|
|
|
AC_ARG_ENABLE(cld,
|
|
|
|
[ --enable-cld enable -mcld by default for 32bit x86], [],
|
|
|
|
[enable_cld=no])
|
|
|
|
|
1999-08-15 00:04:44 +02:00
|
|
|
# Windows32 Registry support for specifying GCC installation paths.
|
|
|
|
AC_ARG_ENABLE(win32-registry,
|
|
|
|
[ --disable-win32-registry
|
2001-06-11 17:01:40 +02:00
|
|
|
disable lookup of installation paths in the
|
|
|
|
Registry on Windows hosts
|
|
|
|
--enable-win32-registry enable registry lookup (default)
|
1999-08-15 00:04:44 +02:00
|
|
|
--enable-win32-registry=KEY
|
2001-06-11 17:01:40 +02:00
|
|
|
use KEY instead of GCC version as the last portion
|
|
|
|
of the registry key],,)
|
gcc-version.m4: Delete.
config:
* gcc-version.m4: Delete.
fastjar:
* Makefile.am (fastjar_TEXINFOS): Add gcc-vers.texi.
(BASEVER, DEVPHASE): New variables.
(POD2MAN): Adjust setting of --release option.
(fastjar.1, grepjar.1, gcc-vers.texi): New rules.
* Makefile.in: Regenerate.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
* aclocal.m4, configure: Regenerate.
gcc:
* BASE-VER, DATESTAMP, DEV-PHASE: New files.
* Makefile.in (gcc_version, gcc_version_trigger, ): Delete.
(BASEVER, DEVPHASE, DATESTAMP, BASEVER_c, DEVPHASE_c, DATESTAMP_c)
(BASEVER_s, DEVPHASE_s, DATESTAMP_s): New variables.
(version): Define using $(BASEVER_c).
(Makefile, config.status, build/gcov-iov.o): No longer depends on
version.c.
(version.o): Depend on version files; add custom generation command.
(prefix.o): Define BASEVER on command line.
(s-iov): Depend on version files; adjust command.
(TEXI_CPP_FILES, TEX_IGCC_FILES, TEXI_GCCINT_FILES, TEXI_CPPINT_FILES):
Add gcc-vers.texi.
(gcc-vers.texi): New rule.
(doc/%.info, doc/%.dvi): Add -I . to command line.
(doc/gccinstall.dvi): Likewise.
(PACKAGE): Delete. All uses replaced with "gcc".
* aclocal.m4: Do not include gcc-version.m4.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
Do not AC_SUBST nor AC_DEFINE PACKAGE or VERSION.
Set is_release based on contents of DEV-PHASE.
Set gcc_version based on contents of BASE-VER.
Define WIN32_REGISTRY_KEY only if the user overrode the default.
* config.in, configure: Regenerate.
* gccbug.in: Determine version of GCC in use at runtime.
* gcov-iov.c: Get version number and development phase from
command line, not by including version.c.
* intl.c: Replace all uses of PACKAGE with "gcc".
* libada-mk.in: Delete unused "gcc_version" variable.
* prefix.c: Default WIN32_REGISTRY_KEY to BASEVER.
* version.c: (VERSUFFIX): New hook for redistributors; adjust
commentary to match.
(version_string): Put together from pieces.
* config/alpha/x-vms: Do not use $(gcc_version).
* config/i386/t-nwld: Likewise.
* doc/include/gcc-common.texi: Include gcc-vers.texi for
version-GCC and DEVELOPMENT.
gcc/ada:
* Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
(doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
to dependencies.
gcc/fortran:
* Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
gcc/java:
* Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
gcc/treelang:
* Make-lang.in (TEXI_TREELANG_FILES): Add gcc-vers.texi.
libstdc++-v3:
* include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc
subdirectory. Generate #define of __GLIBCXX__ from contents of
that file.
* include/Makefile.in: Regenerate.
* include/bits/c++config: Do not define __GLIBCXX__.
maintainer-scripts:
* README: Update.
* gcc_release: Update gcc/DEV-PHASE if that file exists, instead
of gcc/version.c.
* update_version: Handle updating gcc/DATESTAMP.
* update_web_docs: Generate gcc-vers.texi first.
From-SVN: r96549
2005-03-16 07:04:10 +01:00
|
|
|
|
config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
2001-05-01 Zack Weinberg <zackw@stanford.edu>
* config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
Remove references to deleted files.
(*-*-openbsd): No need to override xmake_file.
(*-*-sysv4): Treat like *-*-sysv.
* configure.in: Probe for ldopen in various places, and set up
collect2 to be linked with them if found.
Don't dink with Windows registry stuff unless $host_os is a
Win32 os name. Check to see if we need -ladvapi32.
* configure: Regenerate.
* Makefile: Get rid of CLIB and HOST_CLIB.
Substitute in COLLECT2_LIBS and link collect2 against its contents.
* build-make: Get rid of HOST_CLIB.
* config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
config/rs6000/x-rs6000: Delete.
* config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
Don't set CLIB.
24 x-host fragments remain, 0 x-cpu, 3 top level.
2001-05-01 Zack Weinberg <zackw@stanford.edu>
* aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
* configure: Regenerate.
From-SVN: r41732
2001-05-01 19:45:05 +02:00
|
|
|
case $host_os in
|
gcc-version.m4: Delete.
config:
* gcc-version.m4: Delete.
fastjar:
* Makefile.am (fastjar_TEXINFOS): Add gcc-vers.texi.
(BASEVER, DEVPHASE): New variables.
(POD2MAN): Adjust setting of --release option.
(fastjar.1, grepjar.1, gcc-vers.texi): New rules.
* Makefile.in: Regenerate.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
* aclocal.m4, configure: Regenerate.
gcc:
* BASE-VER, DATESTAMP, DEV-PHASE: New files.
* Makefile.in (gcc_version, gcc_version_trigger, ): Delete.
(BASEVER, DEVPHASE, DATESTAMP, BASEVER_c, DEVPHASE_c, DATESTAMP_c)
(BASEVER_s, DEVPHASE_s, DATESTAMP_s): New variables.
(version): Define using $(BASEVER_c).
(Makefile, config.status, build/gcov-iov.o): No longer depends on
version.c.
(version.o): Depend on version files; add custom generation command.
(prefix.o): Define BASEVER on command line.
(s-iov): Depend on version files; adjust command.
(TEXI_CPP_FILES, TEX_IGCC_FILES, TEXI_GCCINT_FILES, TEXI_CPPINT_FILES):
Add gcc-vers.texi.
(gcc-vers.texi): New rule.
(doc/%.info, doc/%.dvi): Add -I . to command line.
(doc/gccinstall.dvi): Likewise.
(PACKAGE): Delete. All uses replaced with "gcc".
* aclocal.m4: Do not include gcc-version.m4.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
Do not AC_SUBST nor AC_DEFINE PACKAGE or VERSION.
Set is_release based on contents of DEV-PHASE.
Set gcc_version based on contents of BASE-VER.
Define WIN32_REGISTRY_KEY only if the user overrode the default.
* config.in, configure: Regenerate.
* gccbug.in: Determine version of GCC in use at runtime.
* gcov-iov.c: Get version number and development phase from
command line, not by including version.c.
* intl.c: Replace all uses of PACKAGE with "gcc".
* libada-mk.in: Delete unused "gcc_version" variable.
* prefix.c: Default WIN32_REGISTRY_KEY to BASEVER.
* version.c: (VERSUFFIX): New hook for redistributors; adjust
commentary to match.
(version_string): Put together from pieces.
* config/alpha/x-vms: Do not use $(gcc_version).
* config/i386/t-nwld: Likewise.
* doc/include/gcc-common.texi: Include gcc-vers.texi for
version-GCC and DEVELOPMENT.
gcc/ada:
* Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
(doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
to dependencies.
gcc/fortran:
* Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
gcc/java:
* Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
gcc/treelang:
* Make-lang.in (TEXI_TREELANG_FILES): Add gcc-vers.texi.
libstdc++-v3:
* include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc
subdirectory. Generate #define of __GLIBCXX__ from contents of
that file.
* include/Makefile.in: Regenerate.
* include/bits/c++config: Do not define __GLIBCXX__.
maintainer-scripts:
* README: Update.
* gcc_release: Update gcc/DEV-PHASE if that file exists, instead
of gcc/version.c.
* update_version: Handle updating gcc/DATESTAMP.
* update_web_docs: Generate gcc-vers.texi first.
From-SVN: r96549
2005-03-16 07:04:10 +01:00
|
|
|
win32 | pe | cygwin* | mingw32* | uwin*)
|
|
|
|
if test "x$enable_win32_registry" != xno; then
|
|
|
|
AC_SEARCH_LIBS(RegOpenKeyExA, advapi32,, [enable_win32_registry=no])
|
|
|
|
fi
|
1999-08-15 00:04:44 +02:00
|
|
|
|
gcc-version.m4: Delete.
config:
* gcc-version.m4: Delete.
fastjar:
* Makefile.am (fastjar_TEXINFOS): Add gcc-vers.texi.
(BASEVER, DEVPHASE): New variables.
(POD2MAN): Adjust setting of --release option.
(fastjar.1, grepjar.1, gcc-vers.texi): New rules.
* Makefile.in: Regenerate.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
* aclocal.m4, configure: Regenerate.
gcc:
* BASE-VER, DATESTAMP, DEV-PHASE: New files.
* Makefile.in (gcc_version, gcc_version_trigger, ): Delete.
(BASEVER, DEVPHASE, DATESTAMP, BASEVER_c, DEVPHASE_c, DATESTAMP_c)
(BASEVER_s, DEVPHASE_s, DATESTAMP_s): New variables.
(version): Define using $(BASEVER_c).
(Makefile, config.status, build/gcov-iov.o): No longer depends on
version.c.
(version.o): Depend on version files; add custom generation command.
(prefix.o): Define BASEVER on command line.
(s-iov): Depend on version files; adjust command.
(TEXI_CPP_FILES, TEX_IGCC_FILES, TEXI_GCCINT_FILES, TEXI_CPPINT_FILES):
Add gcc-vers.texi.
(gcc-vers.texi): New rule.
(doc/%.info, doc/%.dvi): Add -I . to command line.
(doc/gccinstall.dvi): Likewise.
(PACKAGE): Delete. All uses replaced with "gcc".
* aclocal.m4: Do not include gcc-version.m4.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
Do not AC_SUBST nor AC_DEFINE PACKAGE or VERSION.
Set is_release based on contents of DEV-PHASE.
Set gcc_version based on contents of BASE-VER.
Define WIN32_REGISTRY_KEY only if the user overrode the default.
* config.in, configure: Regenerate.
* gccbug.in: Determine version of GCC in use at runtime.
* gcov-iov.c: Get version number and development phase from
command line, not by including version.c.
* intl.c: Replace all uses of PACKAGE with "gcc".
* libada-mk.in: Delete unused "gcc_version" variable.
* prefix.c: Default WIN32_REGISTRY_KEY to BASEVER.
* version.c: (VERSUFFIX): New hook for redistributors; adjust
commentary to match.
(version_string): Put together from pieces.
* config/alpha/x-vms: Do not use $(gcc_version).
* config/i386/t-nwld: Likewise.
* doc/include/gcc-common.texi: Include gcc-vers.texi for
version-GCC and DEVELOPMENT.
gcc/ada:
* Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
(doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
to dependencies.
gcc/fortran:
* Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
gcc/java:
* Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
gcc/treelang:
* Make-lang.in (TEXI_TREELANG_FILES): Add gcc-vers.texi.
libstdc++-v3:
* include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc
subdirectory. Generate #define of __GLIBCXX__ from contents of
that file.
* include/Makefile.in: Regenerate.
* include/bits/c++config: Do not define __GLIBCXX__.
maintainer-scripts:
* README: Update.
* gcc_release: Update gcc/DEV-PHASE if that file exists, instead
of gcc/version.c.
* update_version: Handle updating gcc/DATESTAMP.
* update_web_docs: Generate gcc-vers.texi first.
From-SVN: r96549
2005-03-16 07:04:10 +01:00
|
|
|
if test "x$enable_win32_registry" != xno; then
|
|
|
|
AC_DEFINE(ENABLE_WIN32_REGISTRY, 1,
|
|
|
|
[Define to 1 if installation paths should be looked up in the Windows
|
|
|
|
Registry. Ignored on non-Windows hosts.])
|
|
|
|
|
|
|
|
if test "x$enable_win32_registry" != xyes \
|
|
|
|
&& test "x$enable_win32_registry" != x; then
|
|
|
|
AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$enable_win32_registry",
|
|
|
|
[Define to be the last component of the Windows registry key under which
|
|
|
|
to look for installation paths. The full key used will be
|
|
|
|
HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}.
|
|
|
|
The default is the GCC version number.])
|
|
|
|
fi
|
|
|
|
fi
|
1999-08-15 00:04:44 +02:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
1997-06-10 01:22:36 +02:00
|
|
|
# Get an absolute path to the GCC top-level source directory
|
2002-05-16 19:43:21 +02:00
|
|
|
holddir=`${PWDCMD-pwd}`
|
1997-06-10 01:22:36 +02:00
|
|
|
cd $srcdir
|
2002-05-16 19:43:21 +02:00
|
|
|
topdir=`${PWDCMD-pwd}`
|
1997-06-10 01:22:36 +02:00
|
|
|
cd $holddir
|
|
|
|
|
1997-07-19 04:22:30 +02:00
|
|
|
# Conditionalize the makefile for this host machine.
|
2003-08-31 08:07:42 +02:00
|
|
|
xmake_file=
|
2003-08-31 21:37:19 +02:00
|
|
|
for f in ${host_xmake_file}
|
1997-07-22 18:25:40 +02:00
|
|
|
do
|
1998-08-14 11:23:47 +02:00
|
|
|
if test -f ${srcdir}/config/$f
|
1997-07-22 18:25:40 +02:00
|
|
|
then
|
2003-08-31 08:07:42 +02:00
|
|
|
xmake_file="${xmake_file} \$(srcdir)/config/$f"
|
1997-07-22 18:25:40 +02:00
|
|
|
fi
|
|
|
|
done
|
1997-05-18 14:31:53 +02:00
|
|
|
|
1997-07-19 04:22:30 +02:00
|
|
|
# Conditionalize the makefile for this target machine.
|
2003-08-31 08:07:42 +02:00
|
|
|
tmake_file_=
|
2003-08-31 21:37:19 +02:00
|
|
|
for f in ${tmake_file}
|
1997-07-22 18:25:40 +02:00
|
|
|
do
|
1998-08-14 11:23:47 +02:00
|
|
|
if test -f ${srcdir}/config/$f
|
1997-07-22 18:25:40 +02:00
|
|
|
then
|
2003-08-31 08:07:42 +02:00
|
|
|
tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
|
1997-07-22 18:25:40 +02:00
|
|
|
fi
|
|
|
|
done
|
2003-08-31 08:07:42 +02:00
|
|
|
tmake_file="${tmake_file_}"
|
1997-06-09 22:48:13 +02:00
|
|
|
|
1997-07-19 04:22:30 +02:00
|
|
|
out_object_file=`basename $out_file .c`.o
|
1997-06-09 22:48:13 +02:00
|
|
|
|
2005-03-14 21:18:43 +01:00
|
|
|
tm_file_list="options.h"
|
|
|
|
tm_include_list="options.h"
|
1997-07-19 04:22:30 +02:00
|
|
|
for f in $tm_file; do
|
1999-04-08 09:27:38 +02:00
|
|
|
case $f in
|
2007-03-06 10:06:35 +01:00
|
|
|
./* )
|
|
|
|
f=`echo $f | sed 's/^..//'`
|
|
|
|
tm_file_list="${tm_file_list} $f"
|
|
|
|
tm_include_list="${tm_include_list} $f"
|
|
|
|
;;
|
ansidecl.h: All logic from gcc/gansidecl.h moved here.
include:
* ansidecl.h: All logic from gcc/gansidecl.h moved here.
gcc:
* gansidecl.h: Delete file.
* configure.in: Change all refs to gansidecl.h to use
ansidecl.h. Adjust *_file_list so they know where ansidecl.h
lives.
* configure: Regenerate.
* Makefile.in (intl.o): Don't depend on gansidecl.h.
* defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
* ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
Don't include gansidecl.h.
* intl.c, main.c, version.c, fixinc/fixlib.h,
fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
gansidecl.h.
gcc/java:
* Make-lang.in (buffer.o, check-init.o, class.o): Don't depend
on gansidecl.h.
* buffer.c, jvgenmain.c: Don't include gansidecl.h.
libiberty:
* make-temp-file.c (try): Inline.
From-SVN: r41069
2001-04-04 02:46:27 +02:00
|
|
|
defaults.h )
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
tm_file_list="${tm_file_list} \$(srcdir)/$f"
|
|
|
|
tm_include_list="${tm_include_list} $f"
|
|
|
|
;;
|
|
|
|
* )
|
|
|
|
tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
|
|
|
|
tm_include_list="${tm_include_list} config/$f"
|
|
|
|
;;
|
1999-04-08 09:27:38 +02:00
|
|
|
esac
|
1997-07-19 04:22:30 +02:00
|
|
|
done
|
1997-05-18 14:31:53 +02:00
|
|
|
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
tm_p_file_list=
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
tm_p_include_list=
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
for f in $tm_p_file; do
|
2002-12-16 19:23:00 +01:00
|
|
|
case $f in
|
|
|
|
tm-preds.h )
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
tm_p_file_list="${tm_p_file_list} $f"
|
|
|
|
tm_p_include_list="${tm_p_include_list} $f"
|
|
|
|
;;
|
|
|
|
* )
|
|
|
|
tm_p_file_list="${tm_p_file_list} \$(srcdir)/config/$f"
|
|
|
|
tm_p_include_list="${tm_p_include_list} config/$f"
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
xm_file_list=
|
|
|
|
xm_include_list=
|
|
|
|
for f in $xm_file; do
|
|
|
|
case $f in
|
|
|
|
ansidecl.h )
|
|
|
|
xm_file_list="${xm_file_list} \$(srcdir)/../include/$f"
|
|
|
|
xm_include_list="${xm_include_list} $f"
|
|
|
|
;;
|
|
|
|
auto-host.h )
|
|
|
|
xm_file_list="${xm_file_list} $f"
|
|
|
|
xm_include_list="${xm_include_list} $f"
|
|
|
|
;;
|
|
|
|
* )
|
|
|
|
xm_file_list="${xm_file_list} \$(srcdir)/config/$f"
|
|
|
|
xm_include_list="${xm_include_list} config/$f"
|
|
|
|
;;
|
2002-12-16 19:23:00 +01:00
|
|
|
esac
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
done
|
|
|
|
|
1997-07-19 04:22:30 +02:00
|
|
|
host_xm_file_list=
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
host_xm_include_list=
|
1997-07-19 04:22:30 +02:00
|
|
|
for f in $host_xm_file; do
|
1999-04-08 09:27:38 +02:00
|
|
|
case $f in
|
ansidecl.h: All logic from gcc/gansidecl.h moved here.
include:
* ansidecl.h: All logic from gcc/gansidecl.h moved here.
gcc:
* gansidecl.h: Delete file.
* configure.in: Change all refs to gansidecl.h to use
ansidecl.h. Adjust *_file_list so they know where ansidecl.h
lives.
* configure: Regenerate.
* Makefile.in (intl.o): Don't depend on gansidecl.h.
* defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
* ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
Don't include gansidecl.h.
* intl.c, main.c, version.c, fixinc/fixlib.h,
fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
gansidecl.h.
gcc/java:
* Make-lang.in (buffer.o, check-init.o, class.o): Don't depend
on gansidecl.h.
* buffer.c, jvgenmain.c: Don't include gansidecl.h.
libiberty:
* make-temp-file.c (try): Inline.
From-SVN: r41069
2001-04-04 02:46:27 +02:00
|
|
|
ansidecl.h )
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
host_xm_file_list="${host_xm_file_list} \$(srcdir)/../include/$f"
|
|
|
|
host_xm_include_list="${host_xm_include_list} $f"
|
|
|
|
;;
|
2002-06-04 09:11:05 +02:00
|
|
|
auto-host.h )
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
host_xm_file_list="${host_xm_file_list} $f"
|
|
|
|
host_xm_include_list="${host_xm_include_list} $f"
|
|
|
|
;;
|
|
|
|
* )
|
|
|
|
host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f"
|
|
|
|
host_xm_include_list="${host_xm_include_list} config/$f"
|
|
|
|
;;
|
1999-04-08 09:27:38 +02:00
|
|
|
esac
|
1997-07-19 04:22:30 +02:00
|
|
|
done
|
|
|
|
|
|
|
|
build_xm_file_list=
|
|
|
|
for f in $build_xm_file; do
|
1999-04-08 09:27:38 +02:00
|
|
|
case $f in
|
ansidecl.h: All logic from gcc/gansidecl.h moved here.
include:
* ansidecl.h: All logic from gcc/gansidecl.h moved here.
gcc:
* gansidecl.h: Delete file.
* configure.in: Change all refs to gansidecl.h to use
ansidecl.h. Adjust *_file_list so they know where ansidecl.h
lives.
* configure: Regenerate.
* Makefile.in (intl.o): Don't depend on gansidecl.h.
* defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
* ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
Don't include gansidecl.h.
* intl.c, main.c, version.c, fixinc/fixlib.h,
fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
gansidecl.h.
gcc/java:
* Make-lang.in (buffer.o, check-init.o, class.o): Don't depend
on gansidecl.h.
* buffer.c, jvgenmain.c: Don't include gansidecl.h.
libiberty:
* make-temp-file.c (try): Inline.
From-SVN: r41069
2001-04-04 02:46:27 +02:00
|
|
|
ansidecl.h )
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
build_xm_file_list="${build_xm_file_list} \$(srcdir)/../include/$f"
|
|
|
|
build_xm_include_list="${build_xm_include_list} $f"
|
|
|
|
;;
|
2002-06-04 09:11:05 +02:00
|
|
|
auto-build.h | auto-host.h )
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
build_xm_file_list="${build_xm_file_list} $f"
|
|
|
|
build_xm_include_list="${build_xm_include_list} $f"
|
|
|
|
;;
|
|
|
|
* )
|
|
|
|
build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f"
|
|
|
|
build_xm_include_list="${build_xm_include_list} config/$f"
|
|
|
|
;;
|
1999-04-08 09:27:38 +02:00
|
|
|
esac
|
1997-07-19 04:22:30 +02:00
|
|
|
done
|
1997-05-18 14:31:53 +02:00
|
|
|
|
2006-12-13 10:28:16 +01:00
|
|
|
# Define macro CROSS_DIRECTORY_STRUCTURE in compilation if this is a
|
|
|
|
# cross-compiler which does not use the native headers and libraries.
|
build-make, cross-make: Delete file.
* build-make, cross-make: Delete file.
* configure.in: Set and substitute CROSS, ALL,
SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
whether build == host and host == target. Do not
AC_SUBST_FILE build_overrides or cross_overrides. Do not
AC_SUBST cross_defines or extra_c_flags.
* Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
(SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
partially or completely with autoconf-substituted @variable@
notation.
(INSTALL_TARGET, @cross_defines@, @cross_overrides@,
@build_overrides@, @extra_c_flags@, all.build, install-build,
install-cross-rest, install-float-h-cross): Deleted.
(install-normal): Rename to install. Delete old "install"
indirection rule.
* ada/Makefile.in, ch/Makefile.in: Don't set ALL. Delete
@cross_defines@, @cross_overrides@, @build_overrides@ stanzas.
INTERNAL_CFLAGS is now @CROSS@ -DIN_GCC; update comment.
From-SVN: r47617
2001-12-04 19:02:50 +01:00
|
|
|
# Also use all.cross instead of all.internal and adjust SYSTEM_HEADER_DIR.
|
|
|
|
CROSS= AC_SUBST(CROSS)
|
|
|
|
ALL=all.internal AC_SUBST(ALL)
|
|
|
|
SYSTEM_HEADER_DIR='$(NATIVE_SYSTEM_HEADER_DIR)' AC_SUBST(SYSTEM_HEADER_DIR)
|
2005-07-29 21:20:44 +02:00
|
|
|
|
|
|
|
if test "x$with_build_sysroot" != x; then
|
2007-03-06 16:50:28 +01:00
|
|
|
build_system_header_dir=$with_build_sysroot'$${sysroot_headers_suffix}$(NATIVE_SYSTEM_HEADER_DIR)'
|
2005-07-29 21:20:44 +02:00
|
|
|
else
|
|
|
|
# This value is used, even on a native system, because
|
|
|
|
# CROSS_SYSTEM_HEADER_DIR is just
|
|
|
|
# $(TARGET_SYSTEM_ROOT)$(NATIVE_SYSTEM_HEADER_DIR).
|
|
|
|
build_system_header_dir='$(CROSS_SYSTEM_HEADER_DIR)'
|
|
|
|
fi
|
|
|
|
|
1998-08-14 11:23:47 +02:00
|
|
|
if test x$host != x$target
|
1997-07-19 04:22:30 +02:00
|
|
|
then
|
2006-12-13 10:28:16 +01:00
|
|
|
CROSS="-DCROSS_DIRECTORY_STRUCTURE"
|
build-make, cross-make: Delete file.
* build-make, cross-make: Delete file.
* configure.in: Set and substitute CROSS, ALL,
SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
whether build == host and host == target. Do not
AC_SUBST_FILE build_overrides or cross_overrides. Do not
AC_SUBST cross_defines or extra_c_flags.
* Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
(SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
partially or completely with autoconf-substituted @variable@
notation.
(INSTALL_TARGET, @cross_defines@, @cross_overrides@,
@build_overrides@, @extra_c_flags@, all.build, install-build,
install-cross-rest, install-float-h-cross): Deleted.
(install-normal): Rename to install. Delete old "install"
indirection rule.
* ada/Makefile.in, ch/Makefile.in: Don't set ALL. Delete
@cross_defines@, @cross_overrides@, @build_overrides@ stanzas.
INTERNAL_CFLAGS is now @CROSS@ -DIN_GCC; update comment.
From-SVN: r47617
2001-12-04 19:02:50 +01:00
|
|
|
ALL=all.cross
|
2005-07-25 21:42:04 +02:00
|
|
|
SYSTEM_HEADER_DIR=$build_system_header_dir
|
2002-05-23 00:09:18 +02:00
|
|
|
case "$host","$target" in
|
2003-08-20 04:58:58 +02:00
|
|
|
# Darwin crosses can use the host system's libraries and headers,
|
|
|
|
# because of the fat library support. Of course, it must be the
|
|
|
|
# same version of Darwin on both sides. Allow the user to
|
|
|
|
# just say --target=foo-darwin without a version number to mean
|
|
|
|
# "the version on this system".
|
|
|
|
*-*-darwin*,*-*-darwin*)
|
|
|
|
hostos=`echo $host | sed 's/.*-darwin/darwin/'`
|
|
|
|
targetos=`echo $target | sed 's/.*-darwin/darwin/'`
|
|
|
|
if test $hostos = $targetos -o $targetos = darwin ; then
|
|
|
|
CROSS=
|
|
|
|
SYSTEM_HEADER_DIR='$(NATIVE_SYSTEM_HEADER_DIR)'
|
|
|
|
with_headers=yes
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
|
2002-05-23 00:09:18 +02:00
|
|
|
i?86-*-*,x86_64-*-* \
|
|
|
|
| powerpc*-*-*,powerpc64*-*-*)
|
|
|
|
CROSS="$CROSS -DNATIVE_CROSS" ;;
|
|
|
|
esac
|
2003-04-11 06:40:57 +02:00
|
|
|
elif test "x$TARGET_SYSTEM_ROOT" != x; then
|
2005-07-29 21:20:44 +02:00
|
|
|
SYSTEM_HEADER_DIR=$build_system_header_dir
|
1997-07-19 04:22:30 +02:00
|
|
|
fi
|
1997-05-18 14:31:53 +02:00
|
|
|
|
2000-05-24 08:21:49 +02:00
|
|
|
# If this is a cross-compiler that does not
|
|
|
|
# have its own set of headers then define
|
|
|
|
# inhibit_libc
|
|
|
|
|
2003-06-03 21:01:22 +02:00
|
|
|
# If this is using newlib, without having the headers available now,
|
|
|
|
# then define inhibit_libc in LIBGCC2_CFLAGS.
|
Makefile.in: Exterminate all references to assert.h.
* Makefile.in: Exterminate all references to assert.h.
* cross-make: Likewise.
* assert.h: Delete.
* configure.in: Correct commentary.
* configure: Regenerate.
* po/POTFILES.in: Remove assert.h.
* libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
Remove __eprintf.
* config/t-freebsd, config/t-linux, config/t-linux-aout,
config/t-netbsd, config/t-rtems, config/x-linux,
config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
No need to override INSTALL_ASSERT_H.
* fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
fixinc/fixincl.sh: Don't install assert.h into objdir/include.
From-SVN: r41972
2001-05-11 19:03:02 +02:00
|
|
|
# This prevents libgcc2 from containing any code which requires libc
|
|
|
|
# support.
|
2008-03-27 11:04:08 +01:00
|
|
|
: ${inhibit_libc=false}
|
2003-06-03 21:01:22 +02:00
|
|
|
if { { test x$host != x$target && test "x$with_sysroot" = x ; } ||
|
|
|
|
test x$with_newlib = xyes ; } &&
|
2003-08-21 04:19:33 +02:00
|
|
|
{ test "x$with_headers" = x || test "x$with_headers" = xno ; } ; then
|
2005-07-25 21:42:04 +02:00
|
|
|
inhibit_libc=true
|
2000-05-24 08:21:49 +02:00
|
|
|
fi
|
|
|
|
AC_SUBST(inhibit_libc)
|
|
|
|
|
build-make, cross-make: Delete file.
* build-make, cross-make: Delete file.
* configure.in: Set and substitute CROSS, ALL,
SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
whether build == host and host == target. Do not
AC_SUBST_FILE build_overrides or cross_overrides. Do not
AC_SUBST cross_defines or extra_c_flags.
* Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
(SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
partially or completely with autoconf-substituted @variable@
notation.
(INSTALL_TARGET, @cross_defines@, @cross_overrides@,
@build_overrides@, @extra_c_flags@, all.build, install-build,
install-cross-rest, install-float-h-cross): Deleted.
(install-normal): Rename to install. Delete old "install"
indirection rule.
* ada/Makefile.in, ch/Makefile.in: Don't set ALL. Delete
@cross_defines@, @cross_overrides@, @build_overrides@ stanzas.
INTERNAL_CFLAGS is now @CROSS@ -DIN_GCC; update comment.
From-SVN: r47617
2001-12-04 19:02:50 +01:00
|
|
|
# When building gcc with a cross-compiler, we need to adjust things so
|
|
|
|
# that the generator programs are still built with the native compiler.
|
inclhack.def (aix_syswait, [...]): Remove.
fixincludes:
* inclhack.def (aix_syswait, exception_structure,
pthread_page_size): Remove.
(math_exception): Remove mention of fixproto in comment.
* fixincl.x: Regenerate.
* mkheaders.in: Do not handle STMP_FIXPROTO.
gcc:
* config/arm/t-arm-coff, config/h8300/coff.h,
config/i386/i386-aout.h, config/i386/i386-coff.h,
config/libgloss.h, config/m68k/coff.h, config/m68k/m68k-aout.h,
config/pdp11/2bsd.h, config/rs6000/aix41.h,
config/rs6000/aix41.opt, config/rs6000/t-newas, config/sh/coff.h,
fix-header.c, fixproto, gen-protos.c, protoize.c, scan-decls.c,
scan-types.sh, scan.c, scan.h, sort-protos, sys-protos.h,
sys-types.h: Remove.
* Makefile.in: Remove protoize and fixproto support and references
in comments.
(SYSCALLS.c.X-warn, TARGET_GETGROUPS_T, STMP_FIXPROTO,
PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, FIXPROTO_DEFINES):
Remove.
(ALL_HOST_OBJS): Remove $(PROTO_OBJS).
(MOSTLYCLEANFILES): Remove protoize$(exeext) and
unprotoize$(exeext).
(rest.encap): Don't depend on $(STMP_FIXPROTO)
(.PHONY): Don't depend on proto.
(libgcc-support): Don't depend on $(STMP_FIXPROTO).
(proto, PROTO_OBJS, protoize$(exeext), unprotoize$(exeext),
protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize-simple,
deduced.h, GEN_PROTOS_OBJS, build/gen-protos$(build_exeext),
build/gen-protos.o, build/scan.o, xsys-protos.h,
build/fix-header$(build_exeext), build/fix-header.o,
build/scan-decls.o, fixhdr.ready, stmp-fixproto,
stmp-install-fixproto): Remove.
(mostlyclean): Don't remove xsys-protos.hT, SYSCALLS.c.X,
SYSCALLS.c or fixproto files.
(install-common): Don't install protoize.
(install-headers-tar, install-headers-cpio, install-headers-cp):
Don't depend on $(STMP_FIXPROTO).
(install-mkheaders): Don't depend on $(STMP_FIXPROTO). Don't
install fixproto files or write out fixproto settings.
(uninstall): Don't uninstall protoize.
* config.gcc (use_fixproto): Remove.
(arm-*-coff*, armel-*-coff*, h8300-*-*, i[34567]86-*-aout*,
i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd,
rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
* config/m32r/t-linux (STMP_FIXPROTO): Remove.
* config/m68k/m68k.c: Remove M68K_TARGET_COFF-conditional code.
* config/mips/t-iris (FIXPROTO_DEFINES): Remove.
* config/pa/t-pa-hpux (FIXPROTO_DEFINES): Remove.
* config/pdp11/pdp11.c: Remove TWO_BSD-conditional code.
* config/t-svr4 (FIXPROTO_DEFINES): Remove.
* config/t-vxworks (STMP_FIXPROTO): Remove.
* configure.ac (AC_TYPE_GETGROUPS, TARGET_GETGROUPS_T,
STMP_FIXPROTO): Remove.
* config.in, configure: Regenerate.
* crtstuff.c (gid_t, uid_t): Don't undefine.
* doc/install.texi: Change m68k-coff to m68k-elf in example.
(arm-*-coff, arm-*-aout: Remove target entries.
(*-ibm-aix*): Mention removal of support for AIX 4.2 and older.
Remove mention of AIX 4.1.
(m68k-*-*): Remove mention of m68k-*-aout and m68k-*-coff*.
* doc/invoke.texi (Running Protoize): Remove.
* doc/trouble.texi (Actual Bugs): Remove mention of fixproto.
(Protoize Caveats): Remove.
* tsystem.h: Update comments on headers assumed to exist.
gcc/po:
* EXCLUDES (fix-header.c, gen-protos.c, scan-decls.c, scan.c,
scan.h): Remove.
gcc/testsuite:
* g++.old-deja/g++.ext/attrib5.C, g++.old-deja/g++.jason/thunk3.C,
gcc.c-torture/compile/981006-1.c: Don't XFAIL or add special
options for removed targets.
libgcc:
* config.host (arm-*-coff*, armel-*-coff*, arm-semi-aof,
armel-semi-aof, h8300-*-*, i[34567]86-*-aout*, i[34567]86-*-coff*,
m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd, rs6000-ibm-aix4.[12]*,
powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
From-SVN: r145158
2009-03-28 07:51:09 +01:00
|
|
|
# Also, we cannot run fixincludes.
|
build-make, cross-make: Delete file.
* build-make, cross-make: Delete file.
* configure.in: Set and substitute CROSS, ALL,
SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
whether build == host and host == target. Do not
AC_SUBST_FILE build_overrides or cross_overrides. Do not
AC_SUBST cross_defines or extra_c_flags.
* Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
(SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
partially or completely with autoconf-substituted @variable@
notation.
(INSTALL_TARGET, @cross_defines@, @cross_overrides@,
@build_overrides@, @extra_c_flags@, all.build, install-build,
install-cross-rest, install-float-h-cross): Deleted.
(install-normal): Rename to install. Delete old "install"
indirection rule.
* ada/Makefile.in, ch/Makefile.in: Don't set ALL. Delete
@cross_defines@, @cross_overrides@, @build_overrides@ stanzas.
INTERNAL_CFLAGS is now @CROSS@ -DIN_GCC; update comment.
From-SVN: r47617
2001-12-04 19:02:50 +01:00
|
|
|
|
|
|
|
# These are the normal (build=host) settings:
|
2003-06-17 23:53:49 +02:00
|
|
|
CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD)
|
2002-12-16 19:23:00 +01:00
|
|
|
BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS)
|
2008-06-08 18:14:33 +02:00
|
|
|
BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
|
build-make, cross-make: Delete file.
* build-make, cross-make: Delete file.
* configure.in: Set and substitute CROSS, ALL,
SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
whether build == host and host == target. Do not
AC_SUBST_FILE build_overrides or cross_overrides. Do not
AC_SUBST cross_defines or extra_c_flags.
* Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
(SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
partially or completely with autoconf-substituted @variable@
notation.
(INSTALL_TARGET, @cross_defines@, @cross_overrides@,
@build_overrides@, @extra_c_flags@, all.build, install-build,
install-cross-rest, install-float-h-cross): Deleted.
(install-normal): Rename to install. Delete old "install"
indirection rule.
* ada/Makefile.in, ch/Makefile.in: Don't set ALL. Delete
@cross_defines@, @cross_overrides@, @build_overrides@ stanzas.
INTERNAL_CFLAGS is now @CROSS@ -DIN_GCC; update comment.
From-SVN: r47617
2001-12-04 19:02:50 +01:00
|
|
|
STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
|
config.gcc: Do per-target disabling of fixproto here in clauses, not in t- fragments.
* config.gcc: Do per-target disabling of fixproto here in clauses,
not in t- fragments.
* configure.in: Adjust to set STMP_FIXPROTO correctly.
* configure: Regenerate.
* config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
* config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
t-interix, t-linux-aout: Delete files consisting only of
setting of STMP_FIXPROTO.
From-SVN: r71687
2003-09-23 20:56:00 +02:00
|
|
|
|
2003-07-09 13:48:24 +02:00
|
|
|
# And these apply if build != host, or we are generating coverage data
|
|
|
|
if test x$build != x$host || test "x$coverage_flags" != x
|
1997-07-19 04:22:30 +02:00
|
|
|
then
|
2003-06-28 03:27:46 +02:00
|
|
|
BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
|
2008-06-08 18:14:33 +02:00
|
|
|
BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
|
1997-07-19 04:22:30 +02:00
|
|
|
fi
|
1997-05-18 14:31:53 +02:00
|
|
|
|
1997-07-17 22:02:27 +02:00
|
|
|
# Expand extra_headers to include complete path.
|
|
|
|
# This substitutes for lots of t-* files.
|
|
|
|
extra_headers_list=
|
2003-10-13 20:18:01 +02:00
|
|
|
# Prepend $(srcdir)/config/${cpu_type}/ to every entry in extra_headers.
|
|
|
|
for file in ${extra_headers} ; do
|
|
|
|
extra_headers_list="${extra_headers_list} \$(srcdir)/config/${cpu_type}/${file}"
|
|
|
|
done
|
1997-07-17 22:02:27 +02:00
|
|
|
|
2007-07-13 08:12:51 +02:00
|
|
|
# If use_gcc_tgmath is set, append ginclude/tgmath.h.
|
|
|
|
if test x"$use_gcc_tgmath" = xyes
|
|
|
|
then extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/tgmath.h"
|
|
|
|
fi
|
|
|
|
|
2004-04-05 05:58:46 +02:00
|
|
|
# Define collect2 in Makefile.
|
|
|
|
case $host_can_use_collect2 in
|
|
|
|
no) collect2= ;;
|
|
|
|
*) collect2='collect2$(exeext)' ;;
|
|
|
|
esac
|
|
|
|
AC_SUBST([collect2])
|
|
|
|
|
1997-07-19 04:22:30 +02:00
|
|
|
# Add a definition of USE_COLLECT2 if system wants one.
|
2003-03-04 08:41:00 +01:00
|
|
|
case $use_collect2 in
|
|
|
|
no) use_collect2= ;;
|
|
|
|
"") ;;
|
|
|
|
*)
|
|
|
|
host_xm_defines="${host_xm_defines} USE_COLLECT2"
|
|
|
|
xm_defines="${xm_defines} USE_COLLECT2"
|
2004-04-05 05:58:46 +02:00
|
|
|
case $host_can_use_collect2 in
|
|
|
|
no)
|
|
|
|
AC_MSG_ERROR([collect2 is required but cannot be built on this system])
|
|
|
|
;;
|
|
|
|
esac
|
2003-03-04 08:41:00 +01:00
|
|
|
;;
|
|
|
|
esac
|
1997-07-19 04:22:30 +02:00
|
|
|
|
2004-02-29 21:43:45 +01:00
|
|
|
# ---------------------------
|
|
|
|
# Assembler & linker features
|
|
|
|
# ---------------------------
|
|
|
|
|
2008-04-02 12:07:58 +02:00
|
|
|
# During stage 2, ld is actually gcc/collect-ld, which is a small script to
|
|
|
|
# discern between when to use prev-ld/ld-new and when to use ld/ld-new.
|
|
|
|
# However when ld-new is first executed from the build tree, libtool will
|
|
|
|
# relink it as .libs/lt-ld-new, so that it can give it an RPATH that refers
|
|
|
|
# to the build tree. While doing this we need to use the previous-stage
|
|
|
|
# linker, or we have an infinite loop. The presence of a shell script as
|
|
|
|
# ld/ld-new, and the fact that the script *uses ld itself*, is what confuses
|
|
|
|
# the gcc/collect-ld script. So we need to know how libtool works, or
|
|
|
|
# exec-tool will fail.
|
|
|
|
|
|
|
|
m4_defun([_LT_CONFIG_COMMANDS], [])
|
|
|
|
AC_PROG_LIBTOOL
|
|
|
|
AC_SUBST(objdir)
|
|
|
|
AC_SUBST(enable_fast_install)
|
|
|
|
|
2003-03-29 00:15:42 +01:00
|
|
|
# Identify the assembler which will work hand-in-glove with the newly
|
|
|
|
# built GCC, so that we can examine its features. This is the assembler
|
|
|
|
# which will be driven by the driver program.
|
|
|
|
#
|
|
|
|
# If build != host, and we aren't building gas in-tree, we identify a
|
|
|
|
# build->target assembler and hope that it will have the same features
|
|
|
|
# as the host->target assembler we'll be using.
|
2000-09-22 20:24:29 +02:00
|
|
|
gcc_cv_gas_major_version=
|
|
|
|
gcc_cv_gas_minor_version=
|
1998-09-08 02:41:00 +02:00
|
|
|
gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
|
2006-01-26 19:52:49 +01:00
|
|
|
|
|
|
|
m4_pattern_allow([AS_FOR_TARGET])dnl
|
|
|
|
AS_VAR_SET_IF(gcc_cv_as,, [
|
1998-11-02 03:17:53 +01:00
|
|
|
if test -x "$DEFAULT_ASSEMBLER"; then
|
|
|
|
gcc_cv_as="$DEFAULT_ASSEMBLER"
|
2003-03-04 08:41:00 +01:00
|
|
|
elif test -f $gcc_cv_as_gas_srcdir/configure.in \
|
2004-05-25 21:46:49 +02:00
|
|
|
&& test -f ../gas/Makefile \
|
|
|
|
&& test x$build = x$host; then
|
2006-01-26 19:52:49 +01:00
|
|
|
gcc_cv_as=../gas/as-new$build_exeext
|
|
|
|
elif test -x as$build_exeext; then
|
|
|
|
# Build using assembler in the current directory.
|
|
|
|
gcc_cv_as=./as$build_exeext
|
|
|
|
elif test -x $AS_FOR_TARGET; then
|
|
|
|
gcc_cv_as="$AS_FOR_TARGET"
|
|
|
|
else
|
|
|
|
AC_PATH_PROG(gcc_cv_as, $AS_FOR_TARGET)
|
|
|
|
fi])
|
|
|
|
|
|
|
|
ORIGINAL_AS_FOR_TARGET=$gcc_cv_as
|
|
|
|
AC_SUBST(ORIGINAL_AS_FOR_TARGET)
|
2007-04-13 09:04:39 +02:00
|
|
|
case "$ORIGINAL_AS_FOR_TARGET" in
|
|
|
|
./as | ./as$build_exeext) ;;
|
|
|
|
*) AC_CONFIG_FILES(as:exec-tool.in, [chmod +x as]) ;;
|
|
|
|
esac
|
2006-01-26 19:52:49 +01:00
|
|
|
|
|
|
|
AC_MSG_CHECKING(what assembler to use)
|
|
|
|
if test "$gcc_cv_as" = ../gas/as-new$build_exeext; then
|
2004-05-25 21:46:49 +02:00
|
|
|
# Single tree build which includes gas. We want to prefer it
|
|
|
|
# over whatever linker top-level may have detected, since
|
|
|
|
# we'll use what we're building after installation anyway.
|
2006-01-26 19:52:49 +01:00
|
|
|
AC_MSG_RESULT(newly built gas)
|
2003-03-12 21:56:05 +01:00
|
|
|
in_tree_gas=yes
|
|
|
|
_gcc_COMPUTE_GAS_VERSION
|
2003-06-23 03:13:35 +02:00
|
|
|
in_tree_gas_is_elf=no
|
|
|
|
if grep 'obj_format = elf' ../gas/Makefile > /dev/null \
|
|
|
|
|| (grep 'obj_format = multi' ../gas/Makefile \
|
|
|
|
&& grep 'extra_objects =.* obj-elf' ../gas/Makefile) > /dev/null
|
|
|
|
then
|
|
|
|
in_tree_gas_is_elf=yes
|
|
|
|
fi
|
2006-01-26 19:52:49 +01:00
|
|
|
else
|
|
|
|
AC_MSG_RESULT($gcc_cv_as)
|
|
|
|
in_tree_gas=no
|
2000-09-22 20:24:29 +02:00
|
|
|
fi
|
|
|
|
|
2003-03-29 00:15:42 +01:00
|
|
|
# Identify the linker which will work hand-in-glove with the newly
|
|
|
|
# built GCC, so that we can examine its features. This is the linker
|
|
|
|
# which will be driven by the driver program.
|
|
|
|
#
|
|
|
|
# If build != host, and we aren't building gas in-tree, we identify a
|
|
|
|
# build->target linker and hope that it will have the same features
|
|
|
|
# as the host->target linker we'll be using.
|
configure.in: Check for ld.
* configure.in: Check for ld.
(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
* configure, config.in: Rebuilt.
* config.gcc: Add crtbeginT.o to extra_parts where needed.
* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
frame unwinding on Linux.
* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
frame unwinding.
* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
iterate further if pc falls into current library, but fde was not
found.
* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
if using glibc.
(LINK_EH_SPEC): Define.
* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
* Makefile.in (crtbeginT.o): Add rule.
* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
If neither -static-libgcc nor -shared-libgcc is passed and -shared,
use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
If none of the above switches are passed, use -lgcc -lgcc_eh.
(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
creating libgcc_s.so, put them into separate libgcc_eh.a instead.
* unwind-dw2-fde.c: Don't include any headers if this file
is included from other .c file.
* unwind-dw2-fde-glibc.c: New file.
* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
Use it instead of EH_FRAME_SECTION_NAME where appropriate.
From-SVN: r48039
2001-12-15 12:49:18 +01:00
|
|
|
gcc_cv_gld_major_version=
|
|
|
|
gcc_cv_gld_minor_version=
|
|
|
|
gcc_cv_ld_gld_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/ld
|
|
|
|
gcc_cv_ld_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd
|
2006-01-26 19:52:49 +01:00
|
|
|
|
|
|
|
AS_VAR_SET_IF(gcc_cv_ld,, [
|
configure.in: Check for ld.
* configure.in: Check for ld.
(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
* configure, config.in: Rebuilt.
* config.gcc: Add crtbeginT.o to extra_parts where needed.
* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
frame unwinding on Linux.
* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
frame unwinding.
* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
iterate further if pc falls into current library, but fde was not
found.
* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
if using glibc.
(LINK_EH_SPEC): Define.
* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
* Makefile.in (crtbeginT.o): Add rule.
* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
If neither -static-libgcc nor -shared-libgcc is passed and -shared,
use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
If none of the above switches are passed, use -lgcc -lgcc_eh.
(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
creating libgcc_s.so, put them into separate libgcc_eh.a instead.
* unwind-dw2-fde.c: Don't include any headers if this file
is included from other .c file.
* unwind-dw2-fde-glibc.c: New file.
* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
Use it instead of EH_FRAME_SECTION_NAME where appropriate.
From-SVN: r48039
2001-12-15 12:49:18 +01:00
|
|
|
if test -x "$DEFAULT_LINKER"; then
|
|
|
|
gcc_cv_ld="$DEFAULT_LINKER"
|
2003-03-04 08:41:00 +01:00
|
|
|
elif test -f $gcc_cv_ld_gld_srcdir/configure.in \
|
2004-05-25 21:46:49 +02:00
|
|
|
&& test -f ../ld/Makefile \
|
|
|
|
&& test x$build = x$host; then
|
2006-01-26 19:52:49 +01:00
|
|
|
gcc_cv_ld=../ld/ld-new$build_exeext
|
|
|
|
elif test -x collect-ld$build_exeext; then
|
|
|
|
# Build using linker in the current directory.
|
|
|
|
gcc_cv_ld=./collect-ld$build_exeext
|
|
|
|
elif test -x $LD_FOR_TARGET; then
|
|
|
|
gcc_cv_ld="$LD_FOR_TARGET"
|
|
|
|
else
|
|
|
|
AC_PATH_PROG(gcc_cv_ld, $LD_FOR_TARGET)
|
|
|
|
fi])
|
|
|
|
|
|
|
|
ORIGINAL_LD_FOR_TARGET=$gcc_cv_ld
|
|
|
|
AC_SUBST(ORIGINAL_LD_FOR_TARGET)
|
2007-04-13 09:04:39 +02:00
|
|
|
case "$ORIGINAL_LD_FOR_TARGET" in
|
|
|
|
./collect-ld | ./collect-ld$build_exeext) ;;
|
|
|
|
*) AC_CONFIG_FILES(collect-ld:exec-tool.in, [chmod +x collect-ld]) ;;
|
|
|
|
esac
|
2006-01-26 19:52:49 +01:00
|
|
|
|
|
|
|
AC_MSG_CHECKING(what linker to use)
|
|
|
|
if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext; then
|
2004-05-25 21:46:49 +02:00
|
|
|
# Single tree build which includes ld. We want to prefer it
|
|
|
|
# over whatever linker top-level may have detected, since
|
|
|
|
# we'll use what we're building after installation anyway.
|
2006-01-26 19:52:49 +01:00
|
|
|
AC_MSG_RESULT(newly built ld)
|
2003-03-04 08:41:00 +01:00
|
|
|
in_tree_ld=yes
|
2003-06-23 03:13:35 +02:00
|
|
|
in_tree_ld_is_elf=no
|
|
|
|
if (grep 'EMUL = .*elf' ../ld/Makefile \
|
2004-09-11 06:26:36 +02:00
|
|
|
|| grep 'EMUL = .*linux' ../ld/Makefile \
|
|
|
|
|| grep 'EMUL = .*lynx' ../ld/Makefile) > /dev/null; then
|
2003-06-23 03:13:35 +02:00
|
|
|
in_tree_ld_is_elf=yes
|
|
|
|
fi
|
configure.in: Check for ld.
* configure.in: Check for ld.
(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
* configure, config.in: Rebuilt.
* config.gcc: Add crtbeginT.o to extra_parts where needed.
* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
frame unwinding on Linux.
* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
frame unwinding.
* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
iterate further if pc falls into current library, but fde was not
found.
* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
if using glibc.
(LINK_EH_SPEC): Define.
* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
* Makefile.in (crtbeginT.o): Add rule.
* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
If neither -static-libgcc nor -shared-libgcc is passed and -shared,
use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
If none of the above switches are passed, use -lgcc -lgcc_eh.
(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
creating libgcc_s.so, put them into separate libgcc_eh.a instead.
* unwind-dw2-fde.c: Don't include any headers if this file
is included from other .c file.
* unwind-dw2-fde-glibc.c: New file.
* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
Use it instead of EH_FRAME_SECTION_NAME where appropriate.
From-SVN: r48039
2001-12-15 12:49:18 +01:00
|
|
|
for f in $gcc_cv_ld_bfd_srcdir/configure $gcc_cv_ld_gld_srcdir/configure $gcc_cv_ld_gld_srcdir/configure.in $gcc_cv_ld_gld_srcdir/Makefile.in
|
|
|
|
do
|
|
|
|
changequote(,)dnl
|
2004-09-17 14:45:34 +02:00
|
|
|
gcc_cv_gld_version=`sed -n -e 's/^[ ]*\(VERSION=[0-9]*\.[0-9]*.*\)/\1/p' < $f`
|
configure.in: Check for ld.
* configure.in: Check for ld.
(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
* configure, config.in: Rebuilt.
* config.gcc: Add crtbeginT.o to extra_parts where needed.
* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
frame unwinding on Linux.
* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
frame unwinding.
* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
iterate further if pc falls into current library, but fde was not
found.
* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
if using glibc.
(LINK_EH_SPEC): Define.
* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
* Makefile.in (crtbeginT.o): Add rule.
* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
If neither -static-libgcc nor -shared-libgcc is passed and -shared,
use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
If none of the above switches are passed, use -lgcc -lgcc_eh.
(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
creating libgcc_s.so, put them into separate libgcc_eh.a instead.
* unwind-dw2-fde.c: Don't include any headers if this file
is included from other .c file.
* unwind-dw2-fde-glibc.c: New file.
* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
Use it instead of EH_FRAME_SECTION_NAME where appropriate.
From-SVN: r48039
2001-12-15 12:49:18 +01:00
|
|
|
if test x$gcc_cv_gld_version != x; then
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
gcc_cv_gld_major_version=`expr "$gcc_cv_gld_version" : "VERSION=\([0-9]*\)"`
|
|
|
|
gcc_cv_gld_minor_version=`expr "$gcc_cv_gld_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
|
|
|
|
changequote([,])dnl
|
2006-01-26 19:52:49 +01:00
|
|
|
else
|
|
|
|
AC_MSG_RESULT($gcc_cv_ld)
|
|
|
|
in_tree_ld=no
|
configure.in: Check for ld.
* configure.in: Check for ld.
(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
* configure, config.in: Rebuilt.
* config.gcc: Add crtbeginT.o to extra_parts where needed.
* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
frame unwinding on Linux.
* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
frame unwinding.
* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
iterate further if pc falls into current library, but fde was not
found.
* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
if using glibc.
(LINK_EH_SPEC): Define.
* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
* Makefile.in (crtbeginT.o): Add rule.
* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
If neither -static-libgcc nor -shared-libgcc is passed and -shared,
use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
If none of the above switches are passed, use -lgcc -lgcc_eh.
(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
creating libgcc_s.so, put them into separate libgcc_eh.a instead.
* unwind-dw2-fde.c: Don't include any headers if this file
is included from other .c file.
* unwind-dw2-fde-glibc.c: New file.
* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
Use it instead of EH_FRAME_SECTION_NAME where appropriate.
From-SVN: r48039
2001-12-15 12:49:18 +01:00
|
|
|
fi
|
|
|
|
|
2000-09-22 20:24:29 +02:00
|
|
|
# Figure out what nm we will be using.
|
2003-04-16 08:51:20 +02:00
|
|
|
gcc_cv_binutils_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/binutils
|
2006-01-26 19:52:49 +01:00
|
|
|
AS_VAR_SET_IF(gcc_cv_nm,, [
|
2005-06-16 14:49:06 +02:00
|
|
|
if test -f $gcc_cv_binutils_srcdir/configure.in \
|
2006-05-02 02:55:43 +02:00
|
|
|
&& test -f ../binutils/Makefile \
|
|
|
|
&& test x$build = x$host; then
|
2005-06-16 14:49:06 +02:00
|
|
|
gcc_cv_nm=../binutils/nm-new$build_exeext
|
|
|
|
elif test -x nm$build_exeext; then
|
2004-10-27 18:06:39 +02:00
|
|
|
gcc_cv_nm=./nm$build_exeext
|
2006-01-26 19:52:49 +01:00
|
|
|
elif test -x $NM_FOR_TARGET; then
|
|
|
|
gcc_cv_nm="$NM_FOR_TARGET"
|
|
|
|
else
|
|
|
|
AC_PATH_PROG(gcc_cv_nm, $NM_FOR_TARGET)
|
|
|
|
fi])
|
2005-06-16 14:49:06 +02:00
|
|
|
|
|
|
|
AC_MSG_CHECKING(what nm to use)
|
2006-01-26 19:52:49 +01:00
|
|
|
if test "$gcc_cv_nm" = ../binutils/nm-new$build_exeext; then
|
|
|
|
# Single tree build which includes binutils.
|
|
|
|
AC_MSG_RESULT(newly built nm)
|
|
|
|
in_tree_nm=yes
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT($gcc_cv_nm)
|
|
|
|
in_tree_nm=no
|
|
|
|
fi
|
|
|
|
|
|
|
|
ORIGINAL_NM_FOR_TARGET=$gcc_cv_nm
|
|
|
|
AC_SUBST(ORIGINAL_NM_FOR_TARGET)
|
2007-04-13 09:04:39 +02:00
|
|
|
case "$ORIGINAL_NM_FOR_TARGET" in
|
|
|
|
./nm | ./nm$build_exeext) ;;
|
|
|
|
*) AC_CONFIG_FILES(nm:exec-tool.in, [chmod +x nm]) ;;
|
|
|
|
esac
|
|
|
|
|
2000-09-22 20:24:29 +02:00
|
|
|
|
2001-11-15 13:11:52 +01:00
|
|
|
# Figure out what objdump we will be using.
|
2006-01-26 19:52:49 +01:00
|
|
|
AS_VAR_SET_IF(gcc_cv_objdump,, [
|
2005-10-06 17:24:09 +02:00
|
|
|
if test -f $gcc_cv_binutils_srcdir/configure.in \
|
2006-05-02 02:55:43 +02:00
|
|
|
&& test -f ../binutils/Makefile \
|
|
|
|
&& test x$build = x$host; then
|
2003-04-16 08:51:20 +02:00
|
|
|
# Single tree build which includes binutils.
|
2005-06-16 14:49:06 +02:00
|
|
|
gcc_cv_objdump=../binutils/objdump$build_exeext
|
2005-10-06 17:24:09 +02:00
|
|
|
elif test -x objdump$build_exeext; then
|
|
|
|
gcc_cv_objdump=./objdump$build_exeext
|
2006-01-26 19:52:49 +01:00
|
|
|
elif test -x $OBJDUMP_FOR_TARGET; then
|
|
|
|
gcc_cv_objdump="$OBJDUMP_FOR_TARGET"
|
|
|
|
else
|
|
|
|
AC_PATH_PROG(gcc_cv_objdump, $OBJDUMP_FOR_TARGET)
|
|
|
|
fi])
|
2005-10-06 17:24:09 +02:00
|
|
|
|
|
|
|
AC_MSG_CHECKING(what objdump to use)
|
2006-01-26 19:52:49 +01:00
|
|
|
if test "$gcc_cv_objdump" = ../binutils/objdump$build_exeext; then
|
|
|
|
# Single tree build which includes binutils.
|
|
|
|
AC_MSG_RESULT(newly built objdump)
|
|
|
|
elif test x$gcc_cv_objdump = x; then
|
|
|
|
AC_MSG_RESULT(not found)
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT($gcc_cv_objdump)
|
|
|
|
fi
|
2001-11-15 13:11:52 +01:00
|
|
|
|
2008-12-03 10:09:43 +01:00
|
|
|
# Figure out what readelf we will be using.
|
|
|
|
AS_VAR_SET_IF(gcc_cv_readelf,, [
|
|
|
|
if test -f $gcc_cv_binutils_srcdir/configure.in \
|
|
|
|
&& test -f ../binutils/Makefile \
|
|
|
|
&& test x$build = x$host; then
|
|
|
|
# Single tree build which includes binutils.
|
|
|
|
gcc_cv_readelf=../binutils/readelf$build_exeext
|
|
|
|
elif test -x readelf$build_exeext; then
|
|
|
|
gcc_cv_readelf=./readelf$build_exeext
|
|
|
|
else
|
|
|
|
AC_PATH_PROG(gcc_cv_readelf, readelf)
|
|
|
|
fi])
|
|
|
|
|
|
|
|
AC_MSG_CHECKING(what readelf to use)
|
|
|
|
if test "$gcc_cv_readelf" = ../binutils/readelf$build_exeext; then
|
|
|
|
# Single tree build which includes binutils.
|
|
|
|
AC_MSG_RESULT(newly built readelf)
|
|
|
|
elif test x$gcc_cv_readelf = x; then
|
|
|
|
AC_MSG_RESULT(not found)
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT($gcc_cv_readelf)
|
|
|
|
fi
|
|
|
|
|
2000-09-22 20:24:29 +02:00
|
|
|
# Figure out what assembler alignment features are present.
|
2003-07-12 22:03:14 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE([.balign and .p2align], gcc_cv_as_balign_and_p2align,
|
|
|
|
[2,6,0],,
|
|
|
|
[.balign 4
|
|
|
|
.p2align 2],,
|
|
|
|
[AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN, 1,
|
|
|
|
[Define if your assembler supports .balign and .p2align.])])
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([.p2align with maximum skip], gcc_cv_as_max_skip_p2align,
|
|
|
|
[2,8,0],,
|
|
|
|
[.p2align 4,,7],,
|
|
|
|
[AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN, 1,
|
|
|
|
[Define if your assembler supports specifying the maximum number
|
|
|
|
of bytes to skip when using the GAS .p2align command.])])
|
|
|
|
|
2007-01-01 21:58:38 +01:00
|
|
|
gcc_GAS_CHECK_FEATURE([.literal16], gcc_cv_as_literal16,
|
|
|
|
[2,8,0],,
|
|
|
|
[.literal16],,
|
|
|
|
[AC_DEFINE(HAVE_GAS_LITERAL16, 1,
|
|
|
|
[Define if your assembler supports .literal16.])])
|
|
|
|
|
2003-07-12 22:03:14 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE([working .subsection -1], gcc_cv_as_subsection_m1,
|
|
|
|
[elf,2,9,0],,
|
|
|
|
[conftest_label1: .word 0
|
1998-09-11 00:28:30 +02:00
|
|
|
.subsection -1
|
|
|
|
conftest_label2: .word 0
|
2003-07-12 22:03:14 +02:00
|
|
|
.previous],
|
|
|
|
[if test x$gcc_cv_nm != x; then
|
|
|
|
$gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
|
|
|
|
$gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
|
|
|
|
if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1
|
|
|
|
then :
|
|
|
|
else gcc_cv_as_subsection_m1=yes
|
|
|
|
fi
|
|
|
|
rm -f conftest.nm1 conftest.nm2
|
|
|
|
fi],
|
|
|
|
[AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING, 1,
|
|
|
|
[Define if your assembler supports .subsection and .subsection -1 starts
|
|
|
|
emitting at the beginning of your section.])])
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([.weak], gcc_cv_as_weak,
|
|
|
|
[2,2,0],,
|
|
|
|
[ .weak foobar],,
|
|
|
|
[AC_DEFINE(HAVE_GAS_WEAK, 1, [Define if your assembler supports .weak.])])
|
|
|
|
|
2005-11-09 21:13:41 +01:00
|
|
|
gcc_GAS_CHECK_FEATURE([.weakref], gcc_cv_as_weakref,
|
|
|
|
[2,17,0],,
|
|
|
|
[ .weakref foobar, barfnot],,
|
|
|
|
[AC_DEFINE(HAVE_GAS_WEAKREF, 1, [Define if your assembler supports .weakref.])])
|
|
|
|
|
2004-12-15 06:10:57 +01:00
|
|
|
gcc_GAS_CHECK_FEATURE([.nsubspa comdat], gcc_cv_as_nsubspa_comdat,
|
|
|
|
[2,15,91],,
|
|
|
|
[ .SPACE $TEXT$
|
|
|
|
.NSUBSPA $CODE$,COMDAT],,
|
|
|
|
[AC_DEFINE(HAVE_GAS_NSUBSPA_COMDAT, 1, [Define if your assembler supports .nsubspa comdat option.])])
|
|
|
|
|
2003-07-12 22:03:14 +02:00
|
|
|
# .hidden needs to be supported in both the assembler and the linker,
|
|
|
|
# because GNU LD versions before 2.12.1 have buggy support for STV_HIDDEN.
|
|
|
|
# This is irritatingly difficult to feature test for; we have to check the
|
|
|
|
# date string after the version number. If we've got an in-tree
|
|
|
|
# ld, we don't know its patchlevel version, so we set the baseline at 2.13
|
|
|
|
# to be safe.
|
|
|
|
# The gcc_GAS_CHECK_FEATURE call just sets a cache variable.
|
|
|
|
gcc_GAS_CHECK_FEATURE([.hidden], gcc_cv_as_hidden,
|
|
|
|
[elf,2,13,0],,
|
|
|
|
[ .hidden foobar
|
|
|
|
foobar:])
|
|
|
|
|
|
|
|
AC_CACHE_CHECK(linker for .hidden support, gcc_cv_ld_hidden,
|
|
|
|
[if test $in_tree_ld = yes ; then
|
|
|
|
gcc_cv_ld_hidden=no
|
|
|
|
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 13 -o "$gcc_cv_gld_major_version" -gt 2 \
|
|
|
|
&& test $in_tree_ld_is_elf = yes; then
|
|
|
|
gcc_cv_ld_hidden=yes
|
|
|
|
fi
|
|
|
|
else
|
2008-12-16 14:09:57 +01:00
|
|
|
changequote(,)dnl
|
2003-07-12 22:03:14 +02:00
|
|
|
gcc_cv_ld_hidden=yes
|
2003-09-10 02:13:11 +02:00
|
|
|
ld_ver=`$gcc_cv_ld --version 2>/dev/null | sed 1q`
|
2003-07-12 22:03:14 +02:00
|
|
|
if echo "$ld_ver" | grep GNU > /dev/null; then
|
|
|
|
ld_vers=`echo $ld_ver | sed -n \
|
2008-01-22 14:55:11 +01:00
|
|
|
-e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'`
|
2003-07-12 22:03:14 +02:00
|
|
|
ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
|
2005-05-08 18:58:03 +02:00
|
|
|
ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
|
|
|
|
ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
|
|
|
|
ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
|
2003-07-12 22:03:14 +02:00
|
|
|
if test 0"$ld_date" -lt 20020404; then
|
|
|
|
if test -n "$ld_date"; then
|
|
|
|
# If there was date string, but was earlier than 2002-04-04, fail
|
|
|
|
gcc_cv_ld_hidden=no
|
|
|
|
elif test -z "$ld_vers"; then
|
|
|
|
# If there was no date string nor ld version number, something is wrong
|
|
|
|
gcc_cv_ld_hidden=no
|
|
|
|
else
|
|
|
|
test -z "$ld_vers_patch" && ld_vers_patch=0
|
|
|
|
if test "$ld_vers_major" -lt 2; then
|
|
|
|
gcc_cv_ld_hidden=no
|
|
|
|
elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 12; then
|
|
|
|
gcc_cv_ld_hidden="no"
|
|
|
|
elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -eq 12 -a "$ld_vers_patch" -eq 0; then
|
|
|
|
gcc_cv_ld_hidden=no
|
2002-05-01 22:37:41 +02:00
|
|
|
fi
|
2003-07-12 22:03:14 +02:00
|
|
|
fi
|
configure.in (mips*-*-irix6*o32): Enable stabs.
* configure.in (mips*-*-irix6*o32): Enable stabs.
gcc:
* config.gcc (mips-sgi-irix6*o32): New configuration.
* configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
configurations.
* configure: Regenerate.
* config/mips/iris6-o32-as.h: New file.
* config/mips/iris6-o32.h: New file.
* config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
(NM_FLAGS): Define.
(HAVE_AS_SHF_MERGE): Undefine.
* config/mips/t-iris5-as: New file.
* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
* config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
dp-bit.c, fp-bit.c): Move ...
* config/mips/t-iris5-6: ... here.
New file, shared by IRIX 5 and IRIX 6.
* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
mips-sgi-irix5*): Use it.
* config/mips/iris6.h: Remove duplicate comment.
* config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
!TARGET_IRIX6]: Define.
(mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
* config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
gcc/testsuite:
* gcc.misc-tests/linkage.exp: Handle mips-sgi-irix6*o32
configuration and IRIX 6 O32 ABI.
libstdc++-v3:
* configure.target (target_os switch): Allow for irix6*o32
configurations.
From-SVN: r55401
2002-07-11 20:56:58 +02:00
|
|
|
fi
|
2003-07-12 22:03:14 +02:00
|
|
|
else
|
2003-12-16 18:49:57 +01:00
|
|
|
case "${target}" in
|
2004-01-09 22:20:53 +01:00
|
|
|
hppa64*-*-hpux* | ia64*-*-hpux*)
|
2003-12-16 18:49:57 +01:00
|
|
|
gcc_cv_ld_hidden=yes
|
|
|
|
;;
|
2008-12-16 14:09:57 +01:00
|
|
|
*-*-solaris2.9* | *-*-solaris2.1[0-9]*)
|
|
|
|
gcc_cv_ld_hidden=yes
|
|
|
|
;;
|
2003-12-16 18:49:57 +01:00
|
|
|
*)
|
|
|
|
gcc_cv_ld_hidden=no
|
|
|
|
;;
|
|
|
|
esac
|
2003-07-12 22:03:14 +02:00
|
|
|
fi
|
2008-12-16 14:09:57 +01:00
|
|
|
changequote([,])dnl
|
2003-07-12 22:03:14 +02:00
|
|
|
fi])
|
|
|
|
libgcc_visibility=no
|
2002-02-26 22:39:07 +01:00
|
|
|
AC_SUBST(libgcc_visibility)
|
2005-05-08 12:13:19 +02:00
|
|
|
GCC_TARGET_TEMPLATE([HAVE_GAS_HIDDEN])
|
2003-07-24 18:16:51 +02:00
|
|
|
if test $gcc_cv_as_hidden = yes && test $gcc_cv_ld_hidden = yes; then
|
2003-07-12 22:03:14 +02:00
|
|
|
libgcc_visibility=yes
|
|
|
|
AC_DEFINE(HAVE_GAS_HIDDEN, 1,
|
|
|
|
[Define if your assembler and linker support .hidden.])
|
|
|
|
fi
|
2000-04-05 09:34:36 +02:00
|
|
|
|
2008-11-03 20:03:28 +01:00
|
|
|
AC_MSG_CHECKING(linker read-only and read-write section mixing)
|
|
|
|
gcc_cv_ld_ro_rw_mix=unknown
|
|
|
|
if test $in_tree_ld = yes ; then
|
|
|
|
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2 \
|
|
|
|
&& test $in_tree_ld_is_elf = yes; then
|
|
|
|
gcc_cv_ld_ro_rw_mix=read-write
|
|
|
|
fi
|
|
|
|
elif test x$gcc_cv_as != x -a x$gcc_cv_ld != x -a x$gcc_cv_objdump != x ; then
|
|
|
|
echo '.section myfoosect, "a"' > conftest1.s
|
|
|
|
echo '.section myfoosect, "aw"' > conftest2.s
|
|
|
|
echo '.byte 1' >> conftest2.s
|
|
|
|
echo '.section myfoosect, "a"' > conftest3.s
|
|
|
|
echo '.byte 0' >> conftest3.s
|
|
|
|
if $gcc_cv_as -o conftest1.o conftest1.s > /dev/null 2>&1 \
|
|
|
|
&& $gcc_cv_as -o conftest2.o conftest2.s > /dev/null 2>&1 \
|
|
|
|
&& $gcc_cv_as -o conftest3.o conftest3.s > /dev/null 2>&1 \
|
|
|
|
&& $gcc_cv_ld -shared -o conftest1.so conftest1.o \
|
|
|
|
conftest2.o conftest3.o > /dev/null 2>&1; then
|
|
|
|
gcc_cv_ld_ro_rw_mix=`$gcc_cv_objdump -h conftest1.so \
|
|
|
|
| sed -e '/myfoosect/!d' -e N`
|
|
|
|
if echo "$gcc_cv_ld_ro_rw_mix" | grep CONTENTS > /dev/null; then
|
|
|
|
if echo "$gcc_cv_ld_ro_rw_mix" | grep READONLY > /dev/null; then
|
|
|
|
gcc_cv_ld_ro_rw_mix=read-only
|
|
|
|
else
|
|
|
|
gcc_cv_ld_ro_rw_mix=read-write
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
changequote(,)dnl
|
|
|
|
rm -f conftest.* conftest[123].*
|
|
|
|
changequote([,])dnl
|
|
|
|
fi
|
|
|
|
if test x$gcc_cv_ld_ro_rw_mix = xread-write; then
|
|
|
|
AC_DEFINE(HAVE_LD_RO_RW_SECTION_MIXING, 1,
|
|
|
|
[Define if your linker links a mix of read-only
|
|
|
|
and read-write sections into a read-write section.])
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($gcc_cv_ld_ro_rw_mix)
|
|
|
|
|
2003-07-12 22:03:14 +02:00
|
|
|
# Check if we have .[us]leb128, and support symbol arithmetic with it.
|
|
|
|
gcc_GAS_CHECK_FEATURE([.sleb128 and .uleb128], gcc_cv_as_leb128,
|
|
|
|
[elf,2,11,0],,
|
|
|
|
[ .data
|
2001-03-08 20:36:21 +01:00
|
|
|
.uleb128 L2 - L1
|
|
|
|
L1:
|
|
|
|
.uleb128 1280
|
|
|
|
.sleb128 -1010
|
2003-07-12 22:03:14 +02:00
|
|
|
L2:],
|
|
|
|
[# GAS versions before 2.11 do not support uleb128,
|
|
|
|
# despite appearing to.
|
|
|
|
# ??? There exists an elf-specific test that will crash
|
|
|
|
# the assembler. Perhaps it's better to figure out whether
|
|
|
|
# arbitrary sections are supported and try the test.
|
2003-09-10 02:13:11 +02:00
|
|
|
as_ver=`$gcc_cv_as --version 2>/dev/null | sed 1q`
|
2003-07-12 22:03:14 +02:00
|
|
|
if echo "$as_ver" | grep GNU > /dev/null; then
|
2001-04-04 04:06:24 +02:00
|
|
|
changequote(,)dnl
|
2007-08-23 19:42:08 +02:00
|
|
|
as_vers=`echo $as_ver | sed -n \
|
2008-01-22 14:55:11 +01:00
|
|
|
-e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'`
|
2007-08-23 19:42:08 +02:00
|
|
|
as_major=`expr "$as_vers" : '\([0-9]*\)'`
|
|
|
|
as_minor=`expr "$as_vers" : '[0-9]*\.\([0-9]*\)'`
|
2001-04-04 04:06:24 +02:00
|
|
|
changequote([,])dnl
|
2003-07-12 22:03:14 +02:00
|
|
|
if test $as_major -eq 2 && test $as_minor -lt 11
|
|
|
|
then :
|
|
|
|
else gcc_cv_as_leb128=yes
|
|
|
|
fi
|
|
|
|
fi],
|
|
|
|
[AC_DEFINE(HAVE_AS_LEB128, 1,
|
|
|
|
[Define if your assembler supports .sleb128 and .uleb128.])])
|
|
|
|
|
2008-08-05 19:24:37 +02:00
|
|
|
# Check if we have assembler support for unwind directives.
|
|
|
|
gcc_GAS_CHECK_FEATURE([cfi directives], gcc_cv_as_cfi_directive,
|
2008-08-20 12:23:08 +02:00
|
|
|
,,
|
2008-08-05 19:24:37 +02:00
|
|
|
[ .text
|
|
|
|
.cfi_startproc
|
|
|
|
.cfi_offset 0, 0
|
|
|
|
.cfi_same_value 1
|
|
|
|
.cfi_def_cfa 1, 2
|
|
|
|
.cfi_escape 1, 2, 3, 4, 5
|
2008-11-03 20:03:28 +01:00
|
|
|
.cfi_endproc],
|
|
|
|
[case "$target" in
|
|
|
|
*-*-solaris*)
|
|
|
|
# If the linker used on Solaris (like Sun ld) isn't capable of merging
|
|
|
|
# read-only and read-write sections, we need to make sure that the
|
|
|
|
# assembler used emits read-write .eh_frame sections.
|
|
|
|
if test "x$gcc_cv_ld_ro_rw_mix" != xread-write; then
|
|
|
|
if test "x$gcc_cv_objdump" != x; then
|
|
|
|
if $gcc_cv_objdump -h conftest.o 2>/dev/null | \
|
|
|
|
sed -e /.eh_frame/!d -e N | grep READONLY > /dev/null; then
|
|
|
|
gcc_cv_as_cfi_directive=no
|
|
|
|
else
|
|
|
|
gcc_cv_as_cfi_directive=yes
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
# no objdump, err on the side of caution
|
|
|
|
gcc_cv_as_cfi_directive=no
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
gcc_cv_as_cfi_directive=yes
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
*-*-*)
|
|
|
|
gcc_cv_as_cfi_directive=yes
|
|
|
|
;;
|
|
|
|
esac])
|
2008-12-03 10:09:43 +01:00
|
|
|
if test $gcc_cv_as_cfi_directive = yes && test x$gcc_cv_readelf != x; then
|
|
|
|
gcc_GAS_CHECK_FEATURE([working cfi advance], gcc_cv_as_cfi_advance_working,
|
|
|
|
,,
|
|
|
|
[ .text
|
|
|
|
.cfi_startproc
|
|
|
|
.cfi_adjust_cfa_offset 64
|
|
|
|
.skip 512, 0
|
|
|
|
.cfi_adjust_cfa_offset 128
|
|
|
|
.cfi_endproc],
|
|
|
|
[
|
|
|
|
changequote(,)dnl
|
|
|
|
if $gcc_cv_readelf -wf conftest.o 2>/dev/null \
|
|
|
|
| grep 'DW_CFA_advance_loc[12]:[ ][ ]*512[ ]' >/dev/null; then
|
|
|
|
gcc_cv_as_cfi_advance_working=yes
|
|
|
|
fi
|
|
|
|
changequote([,])dnl
|
|
|
|
])
|
|
|
|
else
|
2008-12-20 23:32:30 +01:00
|
|
|
# no readelf, err on the side of caution
|
|
|
|
gcc_cv_as_cfi_advance_working=no
|
2008-12-03 10:09:43 +01:00
|
|
|
fi
|
2008-08-05 19:24:37 +02:00
|
|
|
AC_DEFINE_UNQUOTED(HAVE_GAS_CFI_DIRECTIVE,
|
2008-12-03 10:09:43 +01:00
|
|
|
[`if test $gcc_cv_as_cfi_directive = yes \
|
|
|
|
&& test $gcc_cv_as_cfi_advance_working = yes; then echo 1; else echo 0; fi`],
|
2008-08-07 18:29:22 +02:00
|
|
|
[Define 0/1 if your assembler supports CFI directives.])
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([cfi personality directive],
|
2008-08-20 12:23:08 +02:00
|
|
|
gcc_cv_as_cfi_personality_directive, ,,
|
2008-08-07 18:29:22 +02:00
|
|
|
[ .text
|
2008-08-21 21:31:02 +02:00
|
|
|
.cfi_startproc
|
2008-08-07 18:29:22 +02:00
|
|
|
.cfi_personality 0, symbol
|
|
|
|
.cfi_endproc])
|
|
|
|
AC_DEFINE_UNQUOTED(HAVE_GAS_CFI_PERSONALITY_DIRECTIVE,
|
|
|
|
[`if test $gcc_cv_as_cfi_personality_directive = yes;
|
|
|
|
then echo 1; else echo 0; fi`],
|
|
|
|
[Define 0/1 if your assembler supports .cfi_personality.])
|
2008-08-05 19:24:37 +02:00
|
|
|
|
2003-07-12 22:03:14 +02:00
|
|
|
# GAS versions up to and including 2.11.0 may mis-optimize
|
|
|
|
# .eh_frame data.
|
|
|
|
gcc_GAS_CHECK_FEATURE(eh_frame optimization, gcc_cv_as_eh_frame,
|
|
|
|
[elf,2,12,0],,
|
|
|
|
[ .text
|
2001-05-15 03:45:10 +02:00
|
|
|
.LFB1:
|
|
|
|
.4byte 0
|
|
|
|
.L1:
|
|
|
|
.4byte 0
|
|
|
|
.LFE1:
|
|
|
|
.section .eh_frame,"aw",@progbits
|
|
|
|
__FRAME_BEGIN__:
|
|
|
|
.4byte .LECIE1-.LSCIE1
|
|
|
|
.LSCIE1:
|
|
|
|
.4byte 0x0
|
|
|
|
.byte 0x1
|
|
|
|
.ascii "z\0"
|
|
|
|
.byte 0x1
|
|
|
|
.byte 0x78
|
|
|
|
.byte 0x1a
|
|
|
|
.byte 0x0
|
|
|
|
.byte 0x4
|
|
|
|
.4byte 1
|
|
|
|
.p2align 1
|
|
|
|
.LECIE1:
|
|
|
|
.LSFDE1:
|
|
|
|
.4byte .LEFDE1-.LASFDE1
|
|
|
|
.LASFDE1:
|
|
|
|
.4byte .LASFDE1-__FRAME_BEGIN__
|
|
|
|
.4byte .LFB1
|
|
|
|
.4byte .LFE1-.LFB1
|
|
|
|
.byte 0x4
|
|
|
|
.4byte .LFE1-.LFB1
|
|
|
|
.byte 0x4
|
|
|
|
.4byte .L1-.LFB1
|
2003-07-12 22:03:14 +02:00
|
|
|
.LEFDE1:],
|
2004-01-03 19:52:58 +01:00
|
|
|
[ dnl # For autoconf 2.5x, must protect trailing spaces with @&t@.
|
|
|
|
cat > conftest.lit <<EOF
|
2001-05-15 03:45:10 +02:00
|
|
|
0000 10000000 00000000 017a0001 781a0004 .........z..x...
|
|
|
|
0010 01000000 12000000 18000000 00000000 ................
|
2004-01-03 19:52:58 +01:00
|
|
|
0020 08000000 04080000 0044 .........D @&t@
|
2001-07-17 23:51:19 +02:00
|
|
|
EOF
|
2004-01-03 19:52:58 +01:00
|
|
|
cat > conftest.big <<EOF
|
2001-07-17 23:51:19 +02:00
|
|
|
0000 00000010 00000000 017a0001 781a0004 .........z..x...
|
|
|
|
0010 00000001 00000012 00000018 00000000 ................
|
2004-01-03 19:52:58 +01:00
|
|
|
0020 00000008 04000000 0844 .........D @&t@
|
2001-05-15 03:45:10 +02:00
|
|
|
EOF
|
2003-07-12 22:03:14 +02:00
|
|
|
# If the assembler didn't choke, and we can objdump,
|
|
|
|
# and we got the correct data, then succeed.
|
2006-07-04 15:50:40 +02:00
|
|
|
# The text in the here-document typically retains its unix-style line
|
|
|
|
# endings, while the output of objdump will use host line endings.
|
|
|
|
# Therefore, use diff -b for the comparisons.
|
2003-07-12 22:03:14 +02:00
|
|
|
if test x$gcc_cv_objdump != x \
|
|
|
|
&& $gcc_cv_objdump -s -j .eh_frame conftest.o 2>/dev/null \
|
|
|
|
| tail -3 > conftest.got \
|
2006-07-04 15:50:40 +02:00
|
|
|
&& { diff -b conftest.lit conftest.got > /dev/null 2>&1 \
|
|
|
|
|| diff -b conftest.big conftest.got > /dev/null 2>&1; }
|
2003-07-12 22:03:14 +02:00
|
|
|
then
|
|
|
|
gcc_cv_as_eh_frame=yes
|
|
|
|
elif AC_TRY_COMMAND($gcc_cv_as -o conftest.o --traditional-format /dev/null); then
|
|
|
|
gcc_cv_as_eh_frame=buggy
|
|
|
|
else
|
|
|
|
# Uh oh, what do we do now?
|
|
|
|
gcc_cv_as_eh_frame=no
|
|
|
|
fi])
|
|
|
|
|
|
|
|
if test $gcc_cv_as_eh_frame = buggy; then
|
|
|
|
AC_DEFINE(USE_AS_TRADITIONAL_FORMAT, 1,
|
|
|
|
[Define if your assembler mis-optimizes .eh_frame data.])
|
2001-09-11 18:50:05 +02:00
|
|
|
fi
|
|
|
|
|
2003-07-12 22:03:14 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE(section merging support, gcc_cv_as_shf_merge,
|
|
|
|
[elf,2,12,0], [--fatal-warnings],
|
2003-09-23 21:47:00 +02:00
|
|
|
[.section .rodata.str, "aMS", @progbits, 1])
|
2004-09-15 19:03:22 +02:00
|
|
|
if test $gcc_cv_as_shf_merge = no; then
|
|
|
|
gcc_GAS_CHECK_FEATURE(section merging support, gcc_cv_as_shf_merge,
|
|
|
|
[elf,2,12,0], [--fatal-warnings],
|
|
|
|
[.section .rodata.str, "aMS", %progbits, 1])
|
|
|
|
fi
|
2003-09-23 21:47:00 +02:00
|
|
|
AC_DEFINE_UNQUOTED(HAVE_GAS_SHF_MERGE,
|
|
|
|
[`if test $gcc_cv_as_shf_merge = yes; then echo 1; else echo 0; fi`],
|
|
|
|
[Define 0/1 if your assembler supports marking sections with SHF_MERGE flag.])
|
2003-07-12 22:03:14 +02:00
|
|
|
|
2004-09-15 19:03:22 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE(COMDAT group support, gcc_cv_as_comdat_group,
|
2005-05-08 18:58:03 +02:00
|
|
|
[elf,2,16,0], [--fatal-warnings],
|
2004-09-15 19:03:22 +02:00
|
|
|
[.section .text,"axG",@progbits,.foo,comdat])
|
|
|
|
if test $gcc_cv_as_comdat_group = yes; then
|
|
|
|
gcc_cv_as_comdat_group_percent=no
|
|
|
|
else
|
|
|
|
gcc_GAS_CHECK_FEATURE(COMDAT group support, gcc_cv_as_comdat_group_percent,
|
2005-05-08 18:58:03 +02:00
|
|
|
[elf,2,16,0], [--fatal-warnings],
|
2004-09-15 19:03:22 +02:00
|
|
|
[.section .text,"axG",%progbits,.foo,comdat])
|
|
|
|
fi
|
2005-05-08 18:58:03 +02:00
|
|
|
if test $in_tree_ld != yes && test x"$ld_vers" != x; then
|
|
|
|
comdat_group=yes
|
|
|
|
if test 0"$ld_date" -lt 20050308; then
|
|
|
|
if test -n "$ld_date"; then
|
|
|
|
# If there was date string, but was earlier than 2005-03-08, fail
|
|
|
|
comdat_group=no
|
|
|
|
elif test "$ld_vers_major" -lt 2; then
|
|
|
|
comdat_group=no
|
|
|
|
elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 16; then
|
|
|
|
comdat_group=no
|
|
|
|
fi
|
|
|
|
fi
|
2006-02-14 17:46:04 +01:00
|
|
|
else
|
|
|
|
# assume linkers other than GNU ld don't support COMDAT group
|
|
|
|
comdat_group=no
|
|
|
|
fi
|
|
|
|
if test $comdat_group = no; then
|
|
|
|
gcc_cv_as_comdat_group=no
|
|
|
|
gcc_cv_as_comdat_group_percent=no
|
2005-05-08 18:58:03 +02:00
|
|
|
fi
|
|
|
|
AC_DEFINE_UNQUOTED(HAVE_COMDAT_GROUP,
|
2004-09-15 19:03:22 +02:00
|
|
|
[`if test $gcc_cv_as_comdat_group = yes || test $gcc_cv_as_comdat_group_percent = yes; then echo 1; else echo 0; fi`],
|
2005-05-08 18:58:03 +02:00
|
|
|
[Define 0/1 if your assembler and linker support COMDAT groups.])
|
2004-09-15 19:03:22 +02:00
|
|
|
|
2008-09-19 02:18:42 +02:00
|
|
|
# Thread-local storage - the check is heavily parameterized.
|
configure.in (HAVE_AS_TLS): New test.
* configure.in (HAVE_AS_TLS): New test.
* config.in, configure: Rebuild.
* config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
(ix86_tls_dialect_string, ix86_tls_dialect): New.
(override_options): Set it.
(tls_model_chars, tls_symbolic_operand): New.
(tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
(local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
(local_exec_symbolic_operand): New.
(get_pic_label_name): Merge into output_set_got.
(ix86_asm_file_end): Emit pic_label_name if defined.
(legitimate_constant_p, constant_address_p): New.
(legitimate_pic_operand_p): New.
(legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
(legitimate_address_p): Likewise.
(ix86_encode_section_info): Rename from i386_; handle tls decls.
(ix86_strip_name_encoding): New.
(get_thread_pointer): New.
(legitimize_address): Handle tls symbols.
(output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
Remove UNSPEC_PLT.
(struct machine_function): Add some_ld_name.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
(print_operand) [&]: Use it. Handle UNSPEC_TP.
(output_addr_const_extra): New.
(maybe_get_pool_constant): New.
(ix86_split_to_parts): Use it.
(ix86_expand_move): Handle tls symbols.
(ix86_tls_get_addr): New.
* config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
(TARGET_OPTIONS): Add tls-dialect.
(CONSTANT_ADDRESS_P): Use new out-of-line function.
(LEGITIMATE_CONSTANT_P): Likewise.
(LEGITIMATE_PIC_OPERAND_P): Likewise.
(TARGET_STRIP_NAME_ENCODING): New.
(ASM_OUTPUT_LABELREF): New.
(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
(OUTPUT_ADDR_CONST_EXTRA): New.
(PREDICATE_CODES): Update.
(ix86_tls_dialect, ix86_tls_dialect_string): New.
* config/i386/i386.md: Regroup and renumber unspec constants.
(tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
(tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
(tls_global_dynamic, tls_local_dynamic_base): New.
(tls_local_dynamic_once): New.
* config/i386/i386-protos.h: Update.
From-SVN: r53812
2002-05-23 23:55:30 +02:00
|
|
|
conftest_s=
|
|
|
|
tls_first_major=
|
|
|
|
tls_first_minor=
|
linux.h (NO_PROFILE_COUNTERS): Define to 1.
* config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
* config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
* config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
* config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
* final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
(profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
* config/rs6000/rs6000.c (output_profile_hook): Likewise.
* configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
Pass it to $gcc_cv_as.
* configure: Rebuilt.
* config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
(print_operand): Allow TARGET_AIX to be non-constant.
(rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
Define unconditionally.
(rs6000_elf_declare_function_name): New function.
* config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
non-constant.
* config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
to 1.
(DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
[IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
is defined.
(TARGET_AIX): Define to 1 if TARGET_64BIT.
(PROCESSOR_DEFAULT): Remove.
(TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
[RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
(ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
-m32 and -m64.
(MULTILIB_DEFAULTS): Define.
(SUBSUBTARGET_EXTRA_SPECS): Define.
(ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
(TARGET_TOC): Define only if !RS6000_BI_ARCH.
(TARGET_NO_TOC): Remove.
[!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
TARGET_PROTOTYPE): Define to 0.
(NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
(PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
if !TARGET_64BIT.
(USER_LABEL_PREFIX): Remove.
(JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
(SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
if TARGET_64BIT.
(TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
(LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
(STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
(TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
TARGET_64BIT.
(RS6000_CALL_GLUE): Likewise.
(SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
RESTORE_FP_SUFFIX): Likewise.
(ASM_DECLARE_FUNCTION_NAME): Remove.
(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
name if TARGET_64BIT.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
!TARGET_64BIT.
(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
(ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
(DRAFT_V4_STRUCT_RET): Define.
(SIGNAL_FRAMESIZE): New enum value.
(MD_FALLBACK_FRAME_STATE_FOR): Define.
* config/rs6000/default64.h: New file.
* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
options.
(SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
if !TARGET_64BIT.
[!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
(ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
function.
(TARGET_OS_SYSV_CPP_BUILTINS): Define.
(TARGET_OS_CPP_BUILTINS): Use it.
(CPP_SYSV_SPEC): Remove.
(CPP_SPEC): Remove cpp_sysv.
(SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
Add SUBSUBTARGET_EXTRA_SPECS.
(SUBSUBTARGET_EXTRA_SPECS): Define.
* config/rs6000/biarch64.h: New file.
* config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
New prototype.
* config/rs6000/x-linux64: New file.
* config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
multilibs.
* config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
* config/rs6000/eabi-cn.asm: Likewise.
* config/rs6000/tramp.asm: Likewise.
* config/rs6000/sol-ci.asm: Likewise.
* config/rs6000/sol-cn.asm: Likewise.
* config/rs6000/linux.h (TARGET_64BIT): Define to 0.
(TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
* config/rs6000/ppc-asm.h: Move __powerpc64__ section before
_CALL_AIXDESC section.
* config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
or default32.
Co-Authored-By: Alan Modra <amodra@bigpond.net.au>
From-SVN: r67442
2003-06-04 17:23:42 +02:00
|
|
|
tls_as_opt=
|
configure.in (HAVE_AS_TLS): New test.
* configure.in (HAVE_AS_TLS): New test.
* config.in, configure: Rebuild.
* config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
(ix86_tls_dialect_string, ix86_tls_dialect): New.
(override_options): Set it.
(tls_model_chars, tls_symbolic_operand): New.
(tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
(local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
(local_exec_symbolic_operand): New.
(get_pic_label_name): Merge into output_set_got.
(ix86_asm_file_end): Emit pic_label_name if defined.
(legitimate_constant_p, constant_address_p): New.
(legitimate_pic_operand_p): New.
(legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
(legitimate_address_p): Likewise.
(ix86_encode_section_info): Rename from i386_; handle tls decls.
(ix86_strip_name_encoding): New.
(get_thread_pointer): New.
(legitimize_address): Handle tls symbols.
(output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
Remove UNSPEC_PLT.
(struct machine_function): Add some_ld_name.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
(print_operand) [&]: Use it. Handle UNSPEC_TP.
(output_addr_const_extra): New.
(maybe_get_pool_constant): New.
(ix86_split_to_parts): Use it.
(ix86_expand_move): Handle tls symbols.
(ix86_tls_get_addr): New.
* config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
(TARGET_OPTIONS): Add tls-dialect.
(CONSTANT_ADDRESS_P): Use new out-of-line function.
(LEGITIMATE_CONSTANT_P): Likewise.
(LEGITIMATE_PIC_OPERAND_P): Likewise.
(TARGET_STRIP_NAME_ENCODING): New.
(ASM_OUTPUT_LABELREF): New.
(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
(OUTPUT_ADDR_CONST_EXTRA): New.
(PREDICATE_CODES): Update.
(ix86_tls_dialect, ix86_tls_dialect_string): New.
* config/i386/i386.md: Regroup and renumber unspec constants.
(tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
(tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
(tls_global_dynamic, tls_local_dynamic_base): New.
(tls_local_dynamic_once): New.
* config/i386/i386-protos.h: Update.
From-SVN: r53812
2002-05-23 23:55:30 +02:00
|
|
|
case "$target" in
|
|
|
|
changequote(,)dnl
|
configure.in (HAVE_AS_TLS): Add alpha tests.
* configure.in (HAVE_AS_TLS): Add alpha tests.
* configure: Rebuild.
* config/alpha/alpha.c (TARGET_AS_TLS): New.
(alpha_tls_size, alpha_tls_size_string): New.
(overide_options): Set it. Always install machine_status hooks.
(input_operand): Accept got tls predicates.
(local_symbol_p): Merge into ...
(local_symbolic_operand): ... here. Reject tls symbols.
(global_symbolic_operand): Likewise.
(tls_symbolic_operand_1, dtp16_symbolic_operand): New.
(dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
(tp16_symbolic_operand, tp32_symbolic_operand): New.
(gottp_symbolic_operand, tls_symbolic_operand_type): New.
(alpha_encode_section_info): Handle TLS symbols.
(alpha_strip_name_encoding): Likewise.
(alpha_legitimate_address_p): Likewise.
(alpha_legitimize_address): Likewise.
(alpha_expand_mov): Early exit to avoid nop moves.
(struct machine_function): Move from unicosmk.h. Add some_ld_name.
(alpha_init_machine_status, alpha_mark_machine_status,
alpha_free_machine_status): Always define.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
(print_operand, print_operand_address): Add TLS relocs.
* config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
(MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
(TARGET_SWITCHES): Add -mtls-kernel.
(alpha_tls_size, alpha_tls_size_string): New.
(TARGET_OPTIONS): Add -mtls-size=.
(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
(ASM_OUTPUT_LABELREF): Skip %.
(PRINT_OPERAND_PUNCT_VALID_P): Add &.
(PREDICATE_CODES): Update.
* config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
UNSPEC_TP, UNSPECV_SET_TP): New.
(adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
(call_value_osf_2_er): Accept anything as op4.
* config/alpha/alpha-protos.h: Update.
* config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
From-SVN: r54125
2002-06-01 02:19:10 +02:00
|
|
|
alpha*-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
foo: .long 25
|
|
|
|
.text
|
|
|
|
ldq $27,__tls_get_addr($29) !literal!1
|
|
|
|
lda $16,foo($29) !tlsgd!1
|
|
|
|
jsr $26,($27),__tls_get_addr !lituse_tlsgd!1
|
|
|
|
ldq $27,__tls_get_addr($29) !literal!2
|
|
|
|
lda $16,foo($29) !tlsldm!2
|
|
|
|
jsr $26,($27),__tls_get_addr !lituse_tlsldm!2
|
|
|
|
ldq $1,foo($29) !gotdtprel
|
|
|
|
ldah $2,foo($29) !dtprelhi
|
|
|
|
lda $3,foo($2) !dtprello
|
|
|
|
lda $4,foo($29) !dtprel
|
|
|
|
ldq $1,foo($29) !gottprel
|
|
|
|
ldah $2,foo($29) !tprelhi
|
|
|
|
lda $3,foo($2) !tprello
|
|
|
|
lda $4,foo($29) !tprel'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=13
|
2004-01-19 17:57:05 +01:00
|
|
|
tls_as_opt=--fatal-warnings
|
configure.in (HAVE_AS_TLS): Add alpha tests.
* configure.in (HAVE_AS_TLS): Add alpha tests.
* configure: Rebuild.
* config/alpha/alpha.c (TARGET_AS_TLS): New.
(alpha_tls_size, alpha_tls_size_string): New.
(overide_options): Set it. Always install machine_status hooks.
(input_operand): Accept got tls predicates.
(local_symbol_p): Merge into ...
(local_symbolic_operand): ... here. Reject tls symbols.
(global_symbolic_operand): Likewise.
(tls_symbolic_operand_1, dtp16_symbolic_operand): New.
(dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
(tp16_symbolic_operand, tp32_symbolic_operand): New.
(gottp_symbolic_operand, tls_symbolic_operand_type): New.
(alpha_encode_section_info): Handle TLS symbols.
(alpha_strip_name_encoding): Likewise.
(alpha_legitimate_address_p): Likewise.
(alpha_legitimize_address): Likewise.
(alpha_expand_mov): Early exit to avoid nop moves.
(struct machine_function): Move from unicosmk.h. Add some_ld_name.
(alpha_init_machine_status, alpha_mark_machine_status,
alpha_free_machine_status): Always define.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
(print_operand, print_operand_address): Add TLS relocs.
* config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
(MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
(TARGET_SWITCHES): Add -mtls-kernel.
(alpha_tls_size, alpha_tls_size_string): New.
(TARGET_OPTIONS): Add -mtls-size=.
(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
(ASM_OUTPUT_LABELREF): Skip %.
(PRINT_OPERAND_PUNCT_VALID_P): Add &.
(PREDICATE_CODES): Update.
* config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
UNSPEC_TP, UNSPECV_SET_TP): New.
(adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
(call_value_osf_2_er): Accept anything as op4.
* config/alpha/alpha-protos.h: Update.
* config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
From-SVN: r54125
2002-06-01 02:19:10 +02:00
|
|
|
;;
|
2009-03-24 18:46:03 +01:00
|
|
|
cris-*-*|crisv32-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
x: .long 25
|
|
|
|
.text
|
|
|
|
move.d x:IE,$r10
|
|
|
|
nop'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=20
|
|
|
|
tls_as_opt=--fatal-warnings
|
|
|
|
;;
|
2005-01-26 21:36:07 +01:00
|
|
|
frv*-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
x: .long 25
|
|
|
|
.text
|
|
|
|
call #gettlsoff(x)'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=14
|
|
|
|
;;
|
configure.ac (hppa*-*-linux*): Check for a TLS capable gas.
* configure.ac (hppa*-*-linux*: Check for a TLS capable gas.
* configure: Regenerate.
* config/pa/pa-protos.h (tls_symbolic_operand): Declare.
(pa_tls_referenced_p): Declare.
* config/pa/pa.c (legitimize_pic_address): Reject TLS operands.
(gen_tls_tga, gen_tls_get_addr, hppa_tls_call): New.
(legitimize_tls_address): New.
(hppa_legitimize_address): Handle TLS addresses.
(pa_tls_symbol_ref_1, pa_tls_referenced_p): New.
(TARGET_CANNOT_FORCE_CONST_MEM): Define.
(emit_move_sequence): Handle TLS addresses.
(pa_encode_section_info): Call default handler to handle common
sections.
* config/pa/pa.h (PA_SYMBOL_REF_TLS_P): New.
(CONSTANT_ADDRESS_P): Reject TLS operands.
(TARGET_HAVE_TLS) [HAVE_AS_TLS]: Define.
* config/pa/pa.md (UNSPEC_TP, UNSPEC_TLSGD, UNSPEC_TLSLDM)
(UNSPEC_TLSLDO, UNSPEC_TLSLDBASE, UNSPEC_TLSIE)
(UNSPEC_TLSLE): Define new constants.
(tgd_load, tld_load, tld_offset_load, tp_load, tie_load, tle_load): New.
* config/pa/predicates.md (symbolic_operand): Reject TLS operands.
(tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand)
(tie_symbolic_operand, tle_symbolic_operand): New
From-SVN: r101648
2005-07-06 04:18:21 +02:00
|
|
|
hppa*-*-linux*)
|
|
|
|
conftest_s='
|
|
|
|
t1: .reg %r20
|
|
|
|
t2: .reg %r21
|
|
|
|
gp: .reg %r19
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
foo: .long 25
|
|
|
|
.text
|
|
|
|
.align 4
|
|
|
|
addil LT%foo-$tls_gdidx$,gp
|
|
|
|
ldo RT%foo-$tls_gdidx$(%r1),%arg0
|
|
|
|
b __tls_get_addr
|
|
|
|
nop
|
|
|
|
addil LT%foo-$tls_ldidx$,gp
|
|
|
|
b __tls_get_addr
|
|
|
|
ldo RT%foo-$tls_ldidx$(%r1),%arg0
|
|
|
|
addil LR%foo-$tls_dtpoff$,%ret0
|
|
|
|
ldo RR%foo-$tls_dtpoff$(%r1),%t1
|
|
|
|
mfctl %cr27,%t1
|
|
|
|
addil LT%foo-$tls_ieoff$,gp
|
|
|
|
ldw RT%foo-$tls_ieoff$(%r1),%t2
|
|
|
|
add %t1,%t2,%t3
|
|
|
|
mfctl %cr27,%t1
|
|
|
|
addil LR%foo-$tls_leoff$,%t1
|
|
|
|
ldo RR%foo-$tls_leoff$(%r1),%t2'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=15
|
|
|
|
tls_as_opt=--fatal-warnings
|
|
|
|
;;
|
configure.ac: Add test for ARM TLS support.
* configure.ac: Add test for ARM TLS support.
* configure: Regenerated.
* config/arm/arm-protos.h (legitimize_tls_address)
(arm_tls_referenced_p, tls_mentioned_p)
(arm_output_addr_const_extra): New prototypes.
(thumb_legitimize_pic_address): Delete.
* config/arm/arm.c: Include "gt-arm.h".
(enum tls_reloc): New.
(arm_cannot_copy_insn_p, arm_tls_symbol_p, load_tls_operand)
(pcrel_constant_p, get_tls_get_addr, arm_load_tp)
(arm_call_tls_get_addr, legitimize_tls_address)
(arm_tls_referenced_p, arm_tls_operand_p_1, tls_mentioned_p)
(arm_init_tls_builtins, arm_emit_tls_decoration)
(arm_output_addr_const_extra): New functions.
(TARGET_CANNOT_COPY_INSN_P, TARGET_CANNOT_FORCE_CONST_MEM)
(TARGET_HAVE_TLS): Define.
(target_thread_pointer): New.
(arm_override_options): Handle -mtp=.
(legitimize_pic_address): Ignore UNSPECs.
(arm_legitimate_address_p, thumb_legitimate_address_p): Handle PC
relative symbols.
(arm_legitimize_address, thumb_legitimize_address): Handle TLS.
(tls_get_addr_libfunc): New variable.
(symbol_mentioned_p, label_mentioned_p): Ignore UNSPEC_TLS.
(arm_init_builtins): Call arm_init_tls_builtins.
(arm_expand_builtin): Handle ARM_BUILTIN_THREAD_POINTER.
(arm_encode_section_info): Call default_encode_section_info.
* config/arm/arm.h (TARGET_HARD_TP, TARGET_SOFT_TP): Define.
(enum arm_tp_type): New.
(target_thread_pointer): Add declaration.
(LEGITIMATE_CONSTANT_P): Handle TLS.
(LEGITIMATE_PIC_OPERAND_P): Handle TLS.
(OUTPUT_ADDR_CONST_EXTRA): Call arm_output_addr_const_extra.
(enum arm_builtins): Add ARM_BUILTIN_THREAD_POINTER.
* config/arm/arm.md: Add UNSPEC_TLS.
(movsi): Handle TLS.
(pic_add_dot_plus_four, pic_add_dot_plus_eight): Allow for
non-PIC.
(tls_load_dot_plus_eight): New insn and a peephole to create it.
(load_tp_hard, load_tp_soft): New insns.
* arm.opt: Add -mtp=.
* doc/invoke.texi (ARM Options): Document -mtp.
Co-Authored-By: Paul Brook <paul@codesourcery.com>
Co-Authored-By: Phil Blundell <pb@reciva.com>
From-SVN: r106489
2005-11-04 16:02:51 +01:00
|
|
|
arm*-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",%progbits
|
|
|
|
foo: .long 25
|
|
|
|
.text
|
|
|
|
.word foo(gottpoff)
|
|
|
|
.word foo(tpoff)
|
|
|
|
.word foo(tlsgd)
|
|
|
|
.word foo(tlsldm)
|
|
|
|
.word foo(tlsldo)'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=17
|
|
|
|
;;
|
configure.in (HAVE_AS_TLS): New test.
* configure.in (HAVE_AS_TLS): New test.
* config.in, configure: Rebuild.
* config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
(ix86_tls_dialect_string, ix86_tls_dialect): New.
(override_options): Set it.
(tls_model_chars, tls_symbolic_operand): New.
(tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
(local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
(local_exec_symbolic_operand): New.
(get_pic_label_name): Merge into output_set_got.
(ix86_asm_file_end): Emit pic_label_name if defined.
(legitimate_constant_p, constant_address_p): New.
(legitimate_pic_operand_p): New.
(legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
(legitimate_address_p): Likewise.
(ix86_encode_section_info): Rename from i386_; handle tls decls.
(ix86_strip_name_encoding): New.
(get_thread_pointer): New.
(legitimize_address): Handle tls symbols.
(output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
Remove UNSPEC_PLT.
(struct machine_function): Add some_ld_name.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
(print_operand) [&]: Use it. Handle UNSPEC_TP.
(output_addr_const_extra): New.
(maybe_get_pool_constant): New.
(ix86_split_to_parts): Use it.
(ix86_expand_move): Handle tls symbols.
(ix86_tls_get_addr): New.
* config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
(TARGET_OPTIONS): Add tls-dialect.
(CONSTANT_ADDRESS_P): Use new out-of-line function.
(LEGITIMATE_CONSTANT_P): Likewise.
(LEGITIMATE_PIC_OPERAND_P): Likewise.
(TARGET_STRIP_NAME_ENCODING): New.
(ASM_OUTPUT_LABELREF): New.
(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
(OUTPUT_ADDR_CONST_EXTRA): New.
(PREDICATE_CODES): Update.
(ix86_tls_dialect, ix86_tls_dialect_string): New.
* config/i386/i386.md: Regroup and renumber unspec constants.
(tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
(tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
(tls_global_dynamic, tls_local_dynamic_base): New.
(tls_local_dynamic_once): New.
* config/i386/i386-protos.h: Update.
From-SVN: r53812
2002-05-23 23:55:30 +02:00
|
|
|
i[34567]86-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
foo: .long 25
|
|
|
|
.text
|
|
|
|
movl %gs:0, %eax
|
|
|
|
leal foo@TLSGD(,%ebx,1), %eax
|
|
|
|
leal foo@TLSLDM(%ebx), %eax
|
|
|
|
leal foo@DTPOFF(%eax), %edx
|
|
|
|
movl foo@GOTTPOFF(%ebx), %eax
|
|
|
|
subl foo@GOTTPOFF(%ebx), %eax
|
i386.c (x86_64_sign_extended_value): Add allow_rip argument.
* config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
from constant pool or LABEL_REFs as sign extended if allow_rip.
Change all +-1GB limits to +-16MB.
(x86_64_general_operand, x86_64_szext_general_operand,
x86_64_nonmemory_operand, x86_64_movabs_operand,
x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
legitimate_address_p, ix86_expand_int_movcc): Update callers.
(local_symbolic_operand): Don't allow offsets bigger than +-16MB
in CM_SMALL_PIC model.
(legitimate_pic_address_disp_p): Don't check offsets before
calling local_symbolic_operand.
(legitimize_pic_address): Force offsets bigger than +-16MB into
register.
* config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
* config/i386/i386-protos.h (x86_64_sign_extended_value): Update
prototype.
* configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
* configure: Rebuilt.
* config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
(legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
-fpic.
(ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
non-pic code if TARGET_64BIT.
(legitimize_address): Generate 64-bit TLS sequences.
(output_pic_addr_const): Support x86-64 TLS operators.
(i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
(print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
(output_addr_const_extra): Support x86-64 TLS operators.
(maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
(ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
unconditionally.
* config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
(*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
(*tls_global_dynamic_sun): Renamed to...
(*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
(tls_global_dynamic): Renamed to...
(tls_global_dynamic_32): ... this.
(tls_global_dynamic_64, *tls_global_dynamic_64): New.
(*tls_local_dynamic_base_dynamic_gnu): Renamed to...
(*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
(*tls_local_dynamic_base_dynamic_sun): Renamed to...
(*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
(tls_local_dynamic_base_dynamic): Renamed to...
(tls_local_dynamic_base_dynamic_32): ... this.
(tls_local_dynamic_base_dynamic_64,
*tls_local_dynamic_base_dynamic_64): New.
(*tls_local_dynamic_once): Renamed to...
(*tls_local_dynamic_32_once): ... this.
* gcc.dg/tls/pic-1.c: New test.
* gcc.dg/tls/nonpic-1.c: New test.
* gcc.dg/20021018-1.c: New test.
From-SVN: r58383
2002-10-21 22:27:14 +02:00
|
|
|
addl foo@GOTNTPOFF(%ebx), %eax
|
|
|
|
movl foo@INDNTPOFF, %eax
|
configure.in (HAVE_AS_TLS): New test.
* configure.in (HAVE_AS_TLS): New test.
* config.in, configure: Rebuild.
* config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
(ix86_tls_dialect_string, ix86_tls_dialect): New.
(override_options): Set it.
(tls_model_chars, tls_symbolic_operand): New.
(tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
(local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
(local_exec_symbolic_operand): New.
(get_pic_label_name): Merge into output_set_got.
(ix86_asm_file_end): Emit pic_label_name if defined.
(legitimate_constant_p, constant_address_p): New.
(legitimate_pic_operand_p): New.
(legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
(legitimate_address_p): Likewise.
(ix86_encode_section_info): Rename from i386_; handle tls decls.
(ix86_strip_name_encoding): New.
(get_thread_pointer): New.
(legitimize_address): Handle tls symbols.
(output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
Remove UNSPEC_PLT.
(struct machine_function): Add some_ld_name.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
(print_operand) [&]: Use it. Handle UNSPEC_TP.
(output_addr_const_extra): New.
(maybe_get_pool_constant): New.
(ix86_split_to_parts): Use it.
(ix86_expand_move): Handle tls symbols.
(ix86_tls_get_addr): New.
* config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
(TARGET_OPTIONS): Add tls-dialect.
(CONSTANT_ADDRESS_P): Use new out-of-line function.
(LEGITIMATE_CONSTANT_P): Likewise.
(LEGITIMATE_PIC_OPERAND_P): Likewise.
(TARGET_STRIP_NAME_ENCODING): New.
(ASM_OUTPUT_LABELREF): New.
(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
(OUTPUT_ADDR_CONST_EXTRA): New.
(PREDICATE_CODES): Update.
(ix86_tls_dialect, ix86_tls_dialect_string): New.
* config/i386/i386.md: Regroup and renumber unspec constants.
(tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
(tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
(tls_global_dynamic, tls_local_dynamic_base): New.
(tls_local_dynamic_once): New.
* config/i386/i386-protos.h: Update.
From-SVN: r53812
2002-05-23 23:55:30 +02:00
|
|
|
movl $foo@TPOFF, %eax
|
|
|
|
subl $foo@TPOFF, %eax
|
|
|
|
leal foo@NTPOFF(%ecx), %eax'
|
|
|
|
tls_first_major=2
|
i386.c (x86_64_sign_extended_value): Add allow_rip argument.
* config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
from constant pool or LABEL_REFs as sign extended if allow_rip.
Change all +-1GB limits to +-16MB.
(x86_64_general_operand, x86_64_szext_general_operand,
x86_64_nonmemory_operand, x86_64_movabs_operand,
x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
legitimate_address_p, ix86_expand_int_movcc): Update callers.
(local_symbolic_operand): Don't allow offsets bigger than +-16MB
in CM_SMALL_PIC model.
(legitimate_pic_address_disp_p): Don't check offsets before
calling local_symbolic_operand.
(legitimize_pic_address): Force offsets bigger than +-16MB into
register.
* config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
* config/i386/i386-protos.h (x86_64_sign_extended_value): Update
prototype.
* configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
* configure: Rebuilt.
* config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
(legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
-fpic.
(ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
non-pic code if TARGET_64BIT.
(legitimize_address): Generate 64-bit TLS sequences.
(output_pic_addr_const): Support x86-64 TLS operators.
(i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
(print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
(output_addr_const_extra): Support x86-64 TLS operators.
(maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
(ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
unconditionally.
* config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
(*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
(*tls_global_dynamic_sun): Renamed to...
(*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
(tls_global_dynamic): Renamed to...
(tls_global_dynamic_32): ... this.
(tls_global_dynamic_64, *tls_global_dynamic_64): New.
(*tls_local_dynamic_base_dynamic_gnu): Renamed to...
(*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
(*tls_local_dynamic_base_dynamic_sun): Renamed to...
(*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
(tls_local_dynamic_base_dynamic): Renamed to...
(tls_local_dynamic_base_dynamic_32): ... this.
(tls_local_dynamic_base_dynamic_64,
*tls_local_dynamic_base_dynamic_64): New.
(*tls_local_dynamic_once): Renamed to...
(*tls_local_dynamic_32_once): ... this.
* gcc.dg/tls/pic-1.c: New test.
* gcc.dg/tls/nonpic-1.c: New test.
* gcc.dg/20021018-1.c: New test.
From-SVN: r58383
2002-10-21 22:27:14 +02:00
|
|
|
tls_first_minor=14
|
2004-01-19 17:57:05 +01:00
|
|
|
tls_as_opt=--fatal-warnings
|
i386.c (x86_64_sign_extended_value): Add allow_rip argument.
* config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
from constant pool or LABEL_REFs as sign extended if allow_rip.
Change all +-1GB limits to +-16MB.
(x86_64_general_operand, x86_64_szext_general_operand,
x86_64_nonmemory_operand, x86_64_movabs_operand,
x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
legitimate_address_p, ix86_expand_int_movcc): Update callers.
(local_symbolic_operand): Don't allow offsets bigger than +-16MB
in CM_SMALL_PIC model.
(legitimate_pic_address_disp_p): Don't check offsets before
calling local_symbolic_operand.
(legitimize_pic_address): Force offsets bigger than +-16MB into
register.
* config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
* config/i386/i386-protos.h (x86_64_sign_extended_value): Update
prototype.
* configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
* configure: Rebuilt.
* config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
(legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
-fpic.
(ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
non-pic code if TARGET_64BIT.
(legitimize_address): Generate 64-bit TLS sequences.
(output_pic_addr_const): Support x86-64 TLS operators.
(i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
(print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
(output_addr_const_extra): Support x86-64 TLS operators.
(maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
(ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
unconditionally.
* config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
(*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
(*tls_global_dynamic_sun): Renamed to...
(*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
(tls_global_dynamic): Renamed to...
(tls_global_dynamic_32): ... this.
(tls_global_dynamic_64, *tls_global_dynamic_64): New.
(*tls_local_dynamic_base_dynamic_gnu): Renamed to...
(*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
(*tls_local_dynamic_base_dynamic_sun): Renamed to...
(*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
(tls_local_dynamic_base_dynamic): Renamed to...
(tls_local_dynamic_base_dynamic_32): ... this.
(tls_local_dynamic_base_dynamic_64,
*tls_local_dynamic_base_dynamic_64): New.
(*tls_local_dynamic_once): Renamed to...
(*tls_local_dynamic_32_once): ... this.
* gcc.dg/tls/pic-1.c: New test.
* gcc.dg/tls/nonpic-1.c: New test.
* gcc.dg/20021018-1.c: New test.
From-SVN: r58383
2002-10-21 22:27:14 +02:00
|
|
|
;;
|
|
|
|
x86_64-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
foo: .long 25
|
|
|
|
.text
|
|
|
|
movq %fs:0, %rax
|
|
|
|
leaq foo@TLSGD(%rip), %rdi
|
|
|
|
leaq foo@TLSLD(%rip), %rdi
|
|
|
|
leaq foo@DTPOFF(%rax), %rdx
|
|
|
|
movq foo@GOTTPOFF(%rip), %rax
|
|
|
|
movq $foo@TPOFF, %rax'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=14
|
2004-01-19 17:57:05 +01:00
|
|
|
tls_as_opt=--fatal-warnings
|
configure.in (HAVE_AS_TLS): New test.
* configure.in (HAVE_AS_TLS): New test.
* config.in, configure: Rebuild.
* config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
(ix86_tls_dialect_string, ix86_tls_dialect): New.
(override_options): Set it.
(tls_model_chars, tls_symbolic_operand): New.
(tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
(local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
(local_exec_symbolic_operand): New.
(get_pic_label_name): Merge into output_set_got.
(ix86_asm_file_end): Emit pic_label_name if defined.
(legitimate_constant_p, constant_address_p): New.
(legitimate_pic_operand_p): New.
(legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
(legitimate_address_p): Likewise.
(ix86_encode_section_info): Rename from i386_; handle tls decls.
(ix86_strip_name_encoding): New.
(get_thread_pointer): New.
(legitimize_address): Handle tls symbols.
(output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
Remove UNSPEC_PLT.
(struct machine_function): Add some_ld_name.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
(print_operand) [&]: Use it. Handle UNSPEC_TP.
(output_addr_const_extra): New.
(maybe_get_pool_constant): New.
(ix86_split_to_parts): Use it.
(ix86_expand_move): Handle tls symbols.
(ix86_tls_get_addr): New.
* config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
(TARGET_OPTIONS): Add tls-dialect.
(CONSTANT_ADDRESS_P): Use new out-of-line function.
(LEGITIMATE_CONSTANT_P): Likewise.
(LEGITIMATE_PIC_OPERAND_P): Likewise.
(TARGET_STRIP_NAME_ENCODING): New.
(ASM_OUTPUT_LABELREF): New.
(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
(OUTPUT_ADDR_CONST_EXTRA): New.
(PREDICATE_CODES): Update.
(ix86_tls_dialect, ix86_tls_dialect_string): New.
* config/i386/i386.md: Regroup and renumber unspec constants.
(tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
(tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
(tls_global_dynamic, tls_local_dynamic_base): New.
(tls_local_dynamic_once): New.
* config/i386/i386-protos.h: Update.
From-SVN: r53812
2002-05-23 23:55:30 +02:00
|
|
|
;;
|
configure.in (HAVE_AS_TLS): Add ia64 test.
* configure.in (HAVE_AS_TLS): Add ia64 test.
* configure: Rebuild.
* config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
(override_options): Set it.
(TARGET_HAVE_TLS): New.
(sdata_symbolic_operand): Look for 's'.
(tls_symbolic_operand): New.
(ia64_expand_load_address): Abort for tls symbols.
(gen_tls_get_addr): New.
(gen_thread_pointer): New.
(ia64_expand_move): Split out from movdi. Handle tls symbols.
(rtx_needs_barrier): Add new unspecs.
(ia64_encode_section_info): Handle tls symbols.
(ia64_strip_name_encoding): Strip two encoding chars.
* config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
(TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
(TARGET_OPTIONS): Add tls-size.
(ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
* config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
(movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
(movsf, movdf): Likewise.
(movdi_symbolic): Use match_scratch. Don't split if we won't
have a scratch availiable.
(load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
* config/ia64/ia64-protos.h: Update.
* config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
sdata_symbolic_operand.
(ASM_OUTPUT_LABELREF): Strip two characters.
From-SVN: r53874
2002-05-25 21:51:43 +02:00
|
|
|
ia64-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
foo: data8 25
|
|
|
|
.text
|
|
|
|
addl r16 = @ltoff(@dtpmod(foo#)), gp
|
|
|
|
addl r17 = @ltoff(@dtprel(foo#)), gp
|
|
|
|
addl r18 = @ltoff(@tprel(foo#)), gp
|
|
|
|
addl r19 = @dtprel(foo#), gp
|
|
|
|
adds r21 = @dtprel(foo#), r13
|
|
|
|
movl r23 = @dtprel(foo#)
|
|
|
|
addl r20 = @tprel(foo#), gp
|
|
|
|
adds r22 = @tprel(foo#), r13
|
|
|
|
movl r24 = @tprel(foo#)'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=13
|
2004-01-19 17:57:05 +01:00
|
|
|
tls_as_opt=--fatal-warnings
|
configure.in (HAVE_AS_TLS): Add ia64 test.
* configure.in (HAVE_AS_TLS): Add ia64 test.
* configure: Rebuild.
* config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
(override_options): Set it.
(TARGET_HAVE_TLS): New.
(sdata_symbolic_operand): Look for 's'.
(tls_symbolic_operand): New.
(ia64_expand_load_address): Abort for tls symbols.
(gen_tls_get_addr): New.
(gen_thread_pointer): New.
(ia64_expand_move): Split out from movdi. Handle tls symbols.
(rtx_needs_barrier): Add new unspecs.
(ia64_encode_section_info): Handle tls symbols.
(ia64_strip_name_encoding): Strip two encoding chars.
* config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
(TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
(TARGET_OPTIONS): Add tls-size.
(ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
* config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
(movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
(movsf, movdf): Likewise.
(movdi_symbolic): Use match_scratch. Don't split if we won't
have a scratch availiable.
(load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
* config/ia64/ia64-protos.h: Update.
* config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
sdata_symbolic_operand.
(ASM_OUTPUT_LABELREF): Strip two characters.
From-SVN: r53874
2002-05-25 21:51:43 +02:00
|
|
|
;;
|
configure.ac: Check for MIPS TLS.
* configure.ac: Check for MIPS TLS.
* configure: Regenerated.
* config/mips/mips-protos.h (enum mips_symbol_type): Add
SYMBOL_TLS, SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL,
SYMBOL_GOTTPREL, and SYMBOL_TPREL.
* config/mips/mips.c (mips_regno_to_class): Handle V1_REG.
(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
(mips_classify_symbol, mips_symbolic_constant_p)
(mips_symbolic_address_p, mips_symbol_insns): Handle TLS symbols.
(mips_tls_operand_p, mips_call_tls_get_addr)
(mips_legitimize_tls_address, mips_cannot_force_const_mem)
(mips_tls_symbol_ref_1): New functions.
(mips_legitimize_address, mips_legitimize_const_move): Call
mips_legitimize_tls_address.
(override_options): Handle V1_REG and TLS symbols. Disable TLS
for MIPS16.
* config/mips/mips.h (enum reg_class, REG_CLASS_NAMES)
(REG_CLASS_CONTENTS, GR_REG_CLASS_P): Include V1_REG.
(mips_char_to_class): Document V1_REG.
(HAVE_AS_TLS): Provide default.
* config/mips/mips.md (UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): New
constants.
(load_got<mode>): Renamed from *load_got<mode>. Allow when
!TARGET_ABICALLS.
(tls_get_tp_<mode>): New instruction.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r96380
2005-03-13 19:03:25 +01:00
|
|
|
mips*-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section .tdata,"awT",@progbits
|
|
|
|
x:
|
|
|
|
.word 2
|
|
|
|
.text
|
|
|
|
addiu $4, $28, %tlsgd(x)
|
|
|
|
addiu $4, $28, %tlsldm(x)
|
|
|
|
lui $4, %dtprel_hi(x)
|
|
|
|
addiu $4, $4, %dtprel_lo(x)
|
|
|
|
lw $4, %gottprel(x)($28)
|
|
|
|
lui $4, %tprel_hi(x)
|
|
|
|
addiu $4, $4, %tprel_lo(x)'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=16
|
|
|
|
tls_as_opt='-32 --fatal-warnings'
|
|
|
|
;;
|
configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
2003-05-12 Janis Johnson <janis187@us.ibm.com>
Alan Modra <amodra@bigpond.net.au>
Jakub Jelinek <jakub@redhat.com>
* configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
* configure: Rebuild.
* config/rs6000/rs6000-protos.h: Update.
* config/rs6000/rs6000.c (rs6000_tls_size): New.
(rs6000_tls_size_string): New.
(rs6000_parse_tls_size_option): New.
(rs6000_legitimize_tls_address): New.
(rs6000_tls_get_addr): New.
(rs6000_got_sym): New.
(rs6000_tls_symbol_ref): New.
(rs6000_tls_symbol_ref_1): New.
(rs6000_get_some_local_dynamic_name): New.
(rs6000_get_some_local_dynamic_name_1): New.
(TARGET_HAVE_TLS): New.
(TARGET_CANNOT_FORCE_CONST_MEM): New.
(rs6000_override_options): Handle -mtls-size option.
(constant_pool_expr_1): Handle TLS symbols.
(rs6000_legitimize_address): Handle TLS symbols.
(rs6000_tls_referenced_p): New.
(rs6000_legitimate_address): Handle TLS symbols.
(rs6000_emit_move): Handle TLS symbols.
(print_operand): Handle TLS symbols.
(uses_TOC): Handle TLS symbols.
(rs6000_emit_prologue): Use symbol for unspec constant.
* config/rs6000/rs6000.h (HAVE_AS_TLS): New.
(some_ld_name): New.
(LEGITIMATE_CONSTANT_P): Handle TLS symbols.
(PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
(PREDICATE_CODES): Add rs6000_tls_symbol_ref.
* config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
Support TLS.
(tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
tls_tls_64): New.
* config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
Co-Authored-By: Alan Modra <amodra@bigpond.net.au>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r66742
2003-05-13 00:30:31 +02:00
|
|
|
powerpc-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
.align 2
|
|
|
|
ld0: .space 4
|
|
|
|
ld1: .space 4
|
|
|
|
x1: .space 4
|
|
|
|
x2: .space 4
|
|
|
|
x3: .space 4
|
|
|
|
.text
|
|
|
|
addi 3,31,ld0@got@tlsgd
|
|
|
|
bl __tls_get_addr
|
|
|
|
addi 3,31,x1@got@tlsld
|
|
|
|
bl __tls_get_addr
|
|
|
|
addi 9,3,x1@dtprel
|
|
|
|
addis 9,3,x2@dtprel@ha
|
|
|
|
addi 9,9,x2@dtprel@l
|
|
|
|
lwz 9,x3@got@tprel(31)
|
|
|
|
add 9,9,x@tls
|
|
|
|
addi 9,2,x1@tprel
|
|
|
|
addis 9,2,x2@tprel@ha
|
|
|
|
addi 9,9,x2@tprel@l'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=14
|
2004-01-19 17:57:05 +01:00
|
|
|
tls_as_opt="-a32 --fatal-warnings"
|
configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
2003-05-12 Janis Johnson <janis187@us.ibm.com>
Alan Modra <amodra@bigpond.net.au>
Jakub Jelinek <jakub@redhat.com>
* configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
* configure: Rebuild.
* config/rs6000/rs6000-protos.h: Update.
* config/rs6000/rs6000.c (rs6000_tls_size): New.
(rs6000_tls_size_string): New.
(rs6000_parse_tls_size_option): New.
(rs6000_legitimize_tls_address): New.
(rs6000_tls_get_addr): New.
(rs6000_got_sym): New.
(rs6000_tls_symbol_ref): New.
(rs6000_tls_symbol_ref_1): New.
(rs6000_get_some_local_dynamic_name): New.
(rs6000_get_some_local_dynamic_name_1): New.
(TARGET_HAVE_TLS): New.
(TARGET_CANNOT_FORCE_CONST_MEM): New.
(rs6000_override_options): Handle -mtls-size option.
(constant_pool_expr_1): Handle TLS symbols.
(rs6000_legitimize_address): Handle TLS symbols.
(rs6000_tls_referenced_p): New.
(rs6000_legitimate_address): Handle TLS symbols.
(rs6000_emit_move): Handle TLS symbols.
(print_operand): Handle TLS symbols.
(uses_TOC): Handle TLS symbols.
(rs6000_emit_prologue): Use symbol for unspec constant.
* config/rs6000/rs6000.h (HAVE_AS_TLS): New.
(some_ld_name): New.
(LEGITIMATE_CONSTANT_P): Handle TLS symbols.
(PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
(PREDICATE_CODES): Add rs6000_tls_symbol_ref.
* config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
Support TLS.
(tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
tls_tls_64): New.
* config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
Co-Authored-By: Alan Modra <amodra@bigpond.net.au>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r66742
2003-05-13 00:30:31 +02:00
|
|
|
;;
|
|
|
|
powerpc64-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
.align 3
|
|
|
|
ld0: .space 8
|
|
|
|
ld1: .space 8
|
|
|
|
x1: .space 8
|
|
|
|
x2: .space 8
|
|
|
|
x3: .space 8
|
|
|
|
.text
|
|
|
|
addi 3,2,ld0@got@tlsgd
|
|
|
|
bl .__tls_get_addr
|
|
|
|
nop
|
|
|
|
addi 3,2,ld1@toc
|
|
|
|
bl .__tls_get_addr
|
|
|
|
nop
|
|
|
|
addi 3,2,x1@got@tlsld
|
|
|
|
bl .__tls_get_addr
|
|
|
|
nop
|
|
|
|
addi 9,3,x1@dtprel
|
|
|
|
bl .__tls_get_addr
|
|
|
|
nop
|
|
|
|
addis 9,3,x2@dtprel@ha
|
|
|
|
addi 9,9,x2@dtprel@l
|
|
|
|
bl .__tls_get_addr
|
|
|
|
nop
|
|
|
|
ld 9,x3@got@dtprel(2)
|
|
|
|
add 9,9,3
|
|
|
|
bl .__tls_get_addr
|
|
|
|
nop'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=14
|
2004-01-19 17:57:05 +01:00
|
|
|
tls_as_opt="-a64 --fatal-warnings"
|
configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
2003-05-12 Janis Johnson <janis187@us.ibm.com>
Alan Modra <amodra@bigpond.net.au>
Jakub Jelinek <jakub@redhat.com>
* configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
* configure: Rebuild.
* config/rs6000/rs6000-protos.h: Update.
* config/rs6000/rs6000.c (rs6000_tls_size): New.
(rs6000_tls_size_string): New.
(rs6000_parse_tls_size_option): New.
(rs6000_legitimize_tls_address): New.
(rs6000_tls_get_addr): New.
(rs6000_got_sym): New.
(rs6000_tls_symbol_ref): New.
(rs6000_tls_symbol_ref_1): New.
(rs6000_get_some_local_dynamic_name): New.
(rs6000_get_some_local_dynamic_name_1): New.
(TARGET_HAVE_TLS): New.
(TARGET_CANNOT_FORCE_CONST_MEM): New.
(rs6000_override_options): Handle -mtls-size option.
(constant_pool_expr_1): Handle TLS symbols.
(rs6000_legitimize_address): Handle TLS symbols.
(rs6000_tls_referenced_p): New.
(rs6000_legitimate_address): Handle TLS symbols.
(rs6000_emit_move): Handle TLS symbols.
(print_operand): Handle TLS symbols.
(uses_TOC): Handle TLS symbols.
(rs6000_emit_prologue): Use symbol for unspec constant.
* config/rs6000/rs6000.h (HAVE_AS_TLS): New.
(some_ld_name): New.
(LEGITIMATE_CONSTANT_P): Handle TLS symbols.
(PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
(PREDICATE_CODES): Add rs6000_tls_symbol_ref.
* config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
Support TLS.
(tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
tls_tls_64): New.
* config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
Co-Authored-By: Alan Modra <amodra@bigpond.net.au>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r66742
2003-05-13 00:30:31 +02:00
|
|
|
;;
|
configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
* configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
* configure: Regenerate.
* config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
(tls_symbolic_reference_mentioned_p): Add prototype.
(s390_tls_get_offset): Add prototype.
(emit_pic_move): Remove prototype, replace by ...
(emit_symbolic_move): .. this new prototype.
* config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
(tls_model_chars): New global variable.
(s390_encode_section_info): Encode TLS model.
Use targetm.binds_local_p to check for local symbols.
(s390_strip_name_encoding): New function.
(TARGET_STRIP_NAME_ENCODING): Define.
(get_thread_pointer): New function.
(legitimize_tls_address): New function.
(legitimize_address): Call it.
(emit_pic_move): Remove, replace by ...
(emit_symbolic_move): ... this new function.
(larl_operand): Handle TLS operands.
(legitimate_constant_p): Likewise.
(s390_decompose_address): Likewise.
(s390_cannot_force_const_mem): New function.
(TARGET_CANNOT_FORCE_CONST_MEM): Define.
(s390_output_symbolic_const): Handle TLS unspecs.
(print_operand): New code 'J'.
(machine_function): Add struct member 'some_ld_name'.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
(enum s390_builtin): New type.
(code_for_builtin_64, code_for_builtin_31): New global variables.
(s390_init_builtins, s390_expand_builtin): New functions.
(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
* config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
(ASM_OUTPUT_LABELREF): Define.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
* config/s390/s390.md: Define TLS UNSPEC constants.
("movdi", "movsi"): Handle TLS operands.
("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
("*tls_load_64", "*tls_load_31"): New insns.
("call_value_tls", "call_value_tls_exp"): New expanders.
("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
"bas_tls_64", "bas_tls_31"): New insns.
From-SVN: r61714
2003-01-24 18:10:22 +01:00
|
|
|
s390-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
foo: .long 25
|
|
|
|
.text
|
|
|
|
.long foo@TLSGD
|
|
|
|
.long foo@TLSLDM
|
|
|
|
.long foo@DTPOFF
|
|
|
|
.long foo@NTPOFF
|
|
|
|
.long foo@GOTNTPOFF
|
|
|
|
.long foo@INDNTPOFF
|
|
|
|
l %r1,foo@GOTNTPOFF(%r12)
|
|
|
|
l %r1,0(%r1):tls_load:foo
|
|
|
|
bas %r14,0(%r1,%r13):tls_gdcall:foo
|
|
|
|
bas %r14,0(%r1,%r13):tls_ldcall:foo'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=14
|
2004-01-19 17:57:05 +01:00
|
|
|
tls_as_opt="-m31 --fatal-warnings"
|
configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
* configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
* configure: Regenerate.
* config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
(tls_symbolic_reference_mentioned_p): Add prototype.
(s390_tls_get_offset): Add prototype.
(emit_pic_move): Remove prototype, replace by ...
(emit_symbolic_move): .. this new prototype.
* config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
(tls_model_chars): New global variable.
(s390_encode_section_info): Encode TLS model.
Use targetm.binds_local_p to check for local symbols.
(s390_strip_name_encoding): New function.
(TARGET_STRIP_NAME_ENCODING): Define.
(get_thread_pointer): New function.
(legitimize_tls_address): New function.
(legitimize_address): Call it.
(emit_pic_move): Remove, replace by ...
(emit_symbolic_move): ... this new function.
(larl_operand): Handle TLS operands.
(legitimate_constant_p): Likewise.
(s390_decompose_address): Likewise.
(s390_cannot_force_const_mem): New function.
(TARGET_CANNOT_FORCE_CONST_MEM): Define.
(s390_output_symbolic_const): Handle TLS unspecs.
(print_operand): New code 'J'.
(machine_function): Add struct member 'some_ld_name'.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
(enum s390_builtin): New type.
(code_for_builtin_64, code_for_builtin_31): New global variables.
(s390_init_builtins, s390_expand_builtin): New functions.
(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
* config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
(ASM_OUTPUT_LABELREF): Define.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
* config/s390/s390.md: Define TLS UNSPEC constants.
("movdi", "movsi"): Handle TLS operands.
("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
("*tls_load_64", "*tls_load_31"): New insns.
("call_value_tls", "call_value_tls_exp"): New expanders.
("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
"bas_tls_64", "bas_tls_31"): New insns.
From-SVN: r61714
2003-01-24 18:10:22 +01:00
|
|
|
;;
|
|
|
|
s390x-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
foo: .long 25
|
|
|
|
.text
|
|
|
|
.quad foo@TLSGD
|
|
|
|
.quad foo@TLSLDM
|
|
|
|
.quad foo@DTPOFF
|
|
|
|
.quad foo@NTPOFF
|
|
|
|
.quad foo@GOTNTPOFF
|
|
|
|
lg %r1,foo@GOTNTPOFF(%r12)
|
|
|
|
larl %r1,foo@INDNTPOFF
|
|
|
|
brasl %r14,__tls_get_offset@PLT:tls_gdcall:foo
|
|
|
|
brasl %r14,__tls_get_offset@PLT:tls_ldcall:foo'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=14
|
2004-01-19 17:57:05 +01:00
|
|
|
tls_as_opt="-m64 -Aesame --fatal-warnings"
|
configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
* configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
* configure: Regenerate.
* config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
(tls_symbolic_reference_mentioned_p): Add prototype.
(s390_tls_get_offset): Add prototype.
(emit_pic_move): Remove prototype, replace by ...
(emit_symbolic_move): .. this new prototype.
* config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
(tls_model_chars): New global variable.
(s390_encode_section_info): Encode TLS model.
Use targetm.binds_local_p to check for local symbols.
(s390_strip_name_encoding): New function.
(TARGET_STRIP_NAME_ENCODING): Define.
(get_thread_pointer): New function.
(legitimize_tls_address): New function.
(legitimize_address): Call it.
(emit_pic_move): Remove, replace by ...
(emit_symbolic_move): ... this new function.
(larl_operand): Handle TLS operands.
(legitimate_constant_p): Likewise.
(s390_decompose_address): Likewise.
(s390_cannot_force_const_mem): New function.
(TARGET_CANNOT_FORCE_CONST_MEM): Define.
(s390_output_symbolic_const): Handle TLS unspecs.
(print_operand): New code 'J'.
(machine_function): Add struct member 'some_ld_name'.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
(enum s390_builtin): New type.
(code_for_builtin_64, code_for_builtin_31): New global variables.
(s390_init_builtins, s390_expand_builtin): New functions.
(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
* config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
(ASM_OUTPUT_LABELREF): Define.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
* config/s390/s390.md: Define TLS UNSPEC constants.
("movdi", "movsi"): Handle TLS operands.
("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
("*tls_load_64", "*tls_load_31"): New insns.
("call_value_tls", "call_value_tls_exp"): New expanders.
("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
"bas_tls_64", "bas_tls_31"): New insns.
From-SVN: r61714
2003-01-24 18:10:22 +01:00
|
|
|
;;
|
2003-10-10 08:03:08 +02:00
|
|
|
sh-*-* | sh[34]-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
foo: .long 25
|
|
|
|
.text
|
|
|
|
.long foo@TLSGD
|
|
|
|
.long foo@TLSLDM
|
|
|
|
.long foo@DTPOFF
|
|
|
|
.long foo@GOTTPOFF
|
|
|
|
.long foo@TPOFF'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=13
|
2004-01-19 17:57:05 +01:00
|
|
|
tls_as_opt=--fatal-warnings
|
2003-10-10 08:03:08 +02:00
|
|
|
;;
|
sparc.c (struct machine_function): New type.
* config/sparc/sparc.c (struct machine_function): New type.
(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
(sparc_override_options): Initialize init_machine_status.
(tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
tie_symbolic_operand, tle_symbolic_operand): New functions.
(symbolic_operand): Disallow tls_symbolic_operand.
(symbolic_memory_operand): Likewise.
(tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
New functions.
(sparc_tls_symbol): New variable.
(sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
legitimize_address): New functions.
(print_operand): Handle %&.
(sparc_init_machine_status, get_some_local_dynamic_name,
get_some_local_dynamic_name_1): New functions.
(sparc_output_dwarf_dtprel): New function.
* config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
constant_address_p.
(LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
(LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
(GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
(LEGITIMIZE_ADDRESS): Moved into legitimize_address.
(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
(TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
(ASM_OUTPUT_DWARF_DTPREL): Define.
(PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
tie_symbolic_operand, tle_symbolic_operand.
* config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
(tls_call_delay): New attribute.
(in_call_delay): Use it.
(movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
(tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
(tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
insns.
* config/sparc/sparc-protos.h (legitimate_constant_p,
constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
legitimize_tls_address, legitimize_address, tls_symbolic_operand,
tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
* config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
* config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
* configure.in (sparc*-*-*): Add TLS check.
* configure: Rebuilt.
From-SVN: r71202
2003-09-08 08:57:05 +02:00
|
|
|
sparc*-*-*)
|
2004-01-19 17:57:05 +01:00
|
|
|
case "$target" in
|
2006-02-07 19:53:20 +01:00
|
|
|
sparc*-sun-solaris2.[56789]*)
|
|
|
|
# TLS was introduced in the Solaris 9 4/04 release but
|
|
|
|
# we do not enable it by default on Solaris 9 either.
|
|
|
|
if test "x$enable_tls" = xyes ; then
|
|
|
|
on_solaris=yes
|
|
|
|
else
|
|
|
|
enable_tls=no;
|
|
|
|
fi
|
|
|
|
;;
|
2004-01-19 17:57:05 +01:00
|
|
|
sparc*-sun-solaris2.*)
|
|
|
|
on_solaris=yes
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
on_solaris=no
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
if test x$on_solaris = xyes && test x$gas_flag = xno; then
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata",#alloc,#write,#tls
|
|
|
|
foo: .long 25
|
|
|
|
.text
|
|
|
|
sethi %tgd_hi22(foo), %o0
|
|
|
|
add %o0, %tgd_lo10(foo), %o1
|
|
|
|
add %l7, %o1, %o0, %tgd_add(foo)
|
|
|
|
call __tls_get_addr, %tgd_call(foo)
|
|
|
|
sethi %tldm_hi22(foo), %l1
|
|
|
|
add %l1, %tldm_lo10(foo), %l2
|
|
|
|
add %l7, %l2, %o0, %tldm_add(foo)
|
|
|
|
call __tls_get_addr, %tldm_call(foo)
|
|
|
|
sethi %tldo_hix22(foo), %l3
|
|
|
|
xor %l3, %tldo_lox10(foo), %l4
|
|
|
|
add %o0, %l4, %l5, %tldo_add(foo)
|
|
|
|
sethi %tie_hi22(foo), %o3
|
|
|
|
add %o3, %tie_lo10(foo), %o3
|
|
|
|
ld [%l7 + %o3], %o2, %tie_ld(foo)
|
|
|
|
add %g7, %o2, %o4, %tie_add(foo)
|
|
|
|
sethi %tle_hix22(foo), %l1
|
|
|
|
xor %l1, %tle_lox10(foo), %o5
|
|
|
|
ld [%g7 + %o5], %o1'
|
|
|
|
tls_first_major=0
|
|
|
|
tls_first_minor=0
|
|
|
|
else
|
|
|
|
conftest_s='
|
sparc.c (struct machine_function): New type.
* config/sparc/sparc.c (struct machine_function): New type.
(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
(sparc_override_options): Initialize init_machine_status.
(tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
tie_symbolic_operand, tle_symbolic_operand): New functions.
(symbolic_operand): Disallow tls_symbolic_operand.
(symbolic_memory_operand): Likewise.
(tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
New functions.
(sparc_tls_symbol): New variable.
(sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
legitimize_address): New functions.
(print_operand): Handle %&.
(sparc_init_machine_status, get_some_local_dynamic_name,
get_some_local_dynamic_name_1): New functions.
(sparc_output_dwarf_dtprel): New function.
* config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
constant_address_p.
(LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
(LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
(GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
(LEGITIMIZE_ADDRESS): Moved into legitimize_address.
(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
(TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
(ASM_OUTPUT_DWARF_DTPREL): Define.
(PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
tie_symbolic_operand, tle_symbolic_operand.
* config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
(tls_call_delay): New attribute.
(in_call_delay): Use it.
(movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
(tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
(tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
insns.
* config/sparc/sparc-protos.h (legitimate_constant_p,
constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
legitimize_tls_address, legitimize_address, tls_symbolic_operand,
tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
* config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
* config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
* configure.in (sparc*-*-*): Add TLS check.
* configure: Rebuilt.
From-SVN: r71202
2003-09-08 08:57:05 +02:00
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
foo: .long 25
|
|
|
|
.text
|
|
|
|
sethi %tgd_hi22(foo), %o0
|
|
|
|
add %o0, %tgd_lo10(foo), %o1
|
|
|
|
add %l7, %o1, %o0, %tgd_add(foo)
|
|
|
|
call __tls_get_addr, %tgd_call(foo)
|
|
|
|
sethi %tldm_hi22(foo), %l1
|
|
|
|
add %l1, %tldm_lo10(foo), %l2
|
|
|
|
add %l7, %l2, %o0, %tldm_add(foo)
|
|
|
|
call __tls_get_addr, %tldm_call(foo)
|
|
|
|
sethi %tldo_hix22(foo), %l3
|
|
|
|
xor %l3, %tldo_lox10(foo), %l4
|
|
|
|
add %o0, %l4, %l5, %tldo_add(foo)
|
|
|
|
sethi %tie_hi22(foo), %o3
|
|
|
|
add %o3, %tie_lo10(foo), %o3
|
|
|
|
ld [%l7 + %o3], %o2, %tie_ld(foo)
|
|
|
|
add %g7, %o2, %o4, %tie_add(foo)
|
|
|
|
sethi %tle_hix22(foo), %l1
|
|
|
|
xor %l1, %tle_lox10(foo), %o5
|
|
|
|
ld [%g7 + %o5], %o1'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=14
|
2004-01-19 17:57:05 +01:00
|
|
|
tls_as_opt="-32 --fatal-warnings"
|
|
|
|
fi
|
sparc.c (struct machine_function): New type.
* config/sparc/sparc.c (struct machine_function): New type.
(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
(sparc_override_options): Initialize init_machine_status.
(tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
tie_symbolic_operand, tle_symbolic_operand): New functions.
(symbolic_operand): Disallow tls_symbolic_operand.
(symbolic_memory_operand): Likewise.
(tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
New functions.
(sparc_tls_symbol): New variable.
(sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
legitimize_address): New functions.
(print_operand): Handle %&.
(sparc_init_machine_status, get_some_local_dynamic_name,
get_some_local_dynamic_name_1): New functions.
(sparc_output_dwarf_dtprel): New function.
* config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
constant_address_p.
(LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
(LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
(GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
(LEGITIMIZE_ADDRESS): Moved into legitimize_address.
(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
(TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
(ASM_OUTPUT_DWARF_DTPREL): Define.
(PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
tie_symbolic_operand, tle_symbolic_operand.
* config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
(tls_call_delay): New attribute.
(in_call_delay): Use it.
(movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
(tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
(tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
insns.
* config/sparc/sparc-protos.h (legitimate_constant_p,
constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
legitimize_tls_address, legitimize_address, tls_symbolic_operand,
tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
* config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
* config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
* configure.in (sparc*-*-*): Add TLS check.
* configure: Rebuilt.
From-SVN: r71202
2003-09-08 08:57:05 +02:00
|
|
|
;;
|
2008-09-19 02:18:42 +02:00
|
|
|
xtensa*-*-*)
|
|
|
|
conftest_s='
|
|
|
|
.section ".tdata","awT",@progbits
|
|
|
|
foo: .long 25
|
|
|
|
.text
|
|
|
|
movi a8, foo@TLSFUNC
|
|
|
|
movi a10, foo@TLSARG
|
|
|
|
callx8.tls a8, foo@TLSCALL'
|
|
|
|
tls_first_major=2
|
|
|
|
tls_first_minor=19
|
|
|
|
;;
|
sparc.c (struct machine_function): New type.
* config/sparc/sparc.c (struct machine_function): New type.
(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
(sparc_override_options): Initialize init_machine_status.
(tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
tie_symbolic_operand, tle_symbolic_operand): New functions.
(symbolic_operand): Disallow tls_symbolic_operand.
(symbolic_memory_operand): Likewise.
(tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
New functions.
(sparc_tls_symbol): New variable.
(sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
legitimize_address): New functions.
(print_operand): Handle %&.
(sparc_init_machine_status, get_some_local_dynamic_name,
get_some_local_dynamic_name_1): New functions.
(sparc_output_dwarf_dtprel): New function.
* config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
constant_address_p.
(LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
(LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
(GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
(LEGITIMIZE_ADDRESS): Moved into legitimize_address.
(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
(TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
(ASM_OUTPUT_DWARF_DTPREL): Define.
(PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
tie_symbolic_operand, tle_symbolic_operand.
* config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
(tls_call_delay): New attribute.
(in_call_delay): Use it.
(movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
(tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
(tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
insns.
* config/sparc/sparc-protos.h (legitimate_constant_p,
constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
legitimize_tls_address, legitimize_address, tls_symbolic_operand,
tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
* config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
* config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
* configure.in (sparc*-*-*): Add TLS check.
* configure: Rebuilt.
From-SVN: r71202
2003-09-08 08:57:05 +02:00
|
|
|
changequote([,])dnl
|
configure.in (HAVE_AS_TLS): New test.
* configure.in (HAVE_AS_TLS): New test.
* config.in, configure: Rebuild.
* config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
(ix86_tls_dialect_string, ix86_tls_dialect): New.
(override_options): Set it.
(tls_model_chars, tls_symbolic_operand): New.
(tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
(local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
(local_exec_symbolic_operand): New.
(get_pic_label_name): Merge into output_set_got.
(ix86_asm_file_end): Emit pic_label_name if defined.
(legitimate_constant_p, constant_address_p): New.
(legitimate_pic_operand_p): New.
(legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
(legitimate_address_p): Likewise.
(ix86_encode_section_info): Rename from i386_; handle tls decls.
(ix86_strip_name_encoding): New.
(get_thread_pointer): New.
(legitimize_address): Handle tls symbols.
(output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
Remove UNSPEC_PLT.
(struct machine_function): Add some_ld_name.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
(print_operand) [&]: Use it. Handle UNSPEC_TP.
(output_addr_const_extra): New.
(maybe_get_pool_constant): New.
(ix86_split_to_parts): Use it.
(ix86_expand_move): Handle tls symbols.
(ix86_tls_get_addr): New.
* config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
(TARGET_OPTIONS): Add tls-dialect.
(CONSTANT_ADDRESS_P): Use new out-of-line function.
(LEGITIMATE_CONSTANT_P): Likewise.
(LEGITIMATE_PIC_OPERAND_P): Likewise.
(TARGET_STRIP_NAME_ENCODING): New.
(ASM_OUTPUT_LABELREF): New.
(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
(OUTPUT_ADDR_CONST_EXTRA): New.
(PREDICATE_CODES): Update.
(ix86_tls_dialect, ix86_tls_dialect_string): New.
* config/i386/i386.md: Regroup and renumber unspec constants.
(tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
(tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
(tls_global_dynamic, tls_local_dynamic_base): New.
(tls_local_dynamic_once): New.
* config/i386/i386-protos.h: Update.
From-SVN: r53812
2002-05-23 23:55:30 +02:00
|
|
|
esac
|
2006-01-25 01:42:17 +01:00
|
|
|
set_have_as_tls=no
|
|
|
|
if test "x$enable_tls" = xno ; then
|
|
|
|
: # TLS explicitly disabled.
|
|
|
|
elif test "x$enable_tls" = xyes ; then
|
|
|
|
set_have_as_tls=yes # TLS explicitly enabled.
|
|
|
|
elif test -z "$tls_first_major"; then
|
2003-07-12 22:03:14 +02:00
|
|
|
: # If we don't have a check, assume no support.
|
|
|
|
else
|
|
|
|
gcc_GAS_CHECK_FEATURE(thread-local storage support, gcc_cv_as_tls,
|
2004-01-19 17:57:05 +01:00
|
|
|
[$tls_first_major,$tls_first_minor,0], [$tls_as_opt], [$conftest_s],,
|
2006-01-25 01:42:17 +01:00
|
|
|
[set_have_as_tls=yes])
|
|
|
|
fi
|
|
|
|
if test $set_have_as_tls = yes ; then
|
|
|
|
AC_DEFINE(HAVE_AS_TLS, 1,
|
|
|
|
[Define if your assembler supports thread-local storage.])
|
configure.in (HAVE_AS_TLS): New test.
* configure.in (HAVE_AS_TLS): New test.
* config.in, configure: Rebuild.
* config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
(ix86_tls_dialect_string, ix86_tls_dialect): New.
(override_options): Set it.
(tls_model_chars, tls_symbolic_operand): New.
(tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
(local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
(local_exec_symbolic_operand): New.
(get_pic_label_name): Merge into output_set_got.
(ix86_asm_file_end): Emit pic_label_name if defined.
(legitimate_constant_p, constant_address_p): New.
(legitimate_pic_operand_p): New.
(legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
(legitimate_address_p): Likewise.
(ix86_encode_section_info): Rename from i386_; handle tls decls.
(ix86_strip_name_encoding): New.
(get_thread_pointer): New.
(legitimize_address): Handle tls symbols.
(output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
Remove UNSPEC_PLT.
(struct machine_function): Add some_ld_name.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
(print_operand) [&]: Use it. Handle UNSPEC_TP.
(output_addr_const_extra): New.
(maybe_get_pool_constant): New.
(ix86_split_to_parts): Use it.
(ix86_expand_move): Handle tls symbols.
(ix86_tls_get_addr): New.
* config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
(TARGET_OPTIONS): Add tls-dialect.
(CONSTANT_ADDRESS_P): Use new out-of-line function.
(LEGITIMATE_CONSTANT_P): Likewise.
(LEGITIMATE_PIC_OPERAND_P): Likewise.
(TARGET_STRIP_NAME_ENCODING): New.
(ASM_OUTPUT_LABELREF): New.
(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
(OUTPUT_ADDR_CONST_EXTRA): New.
(PREDICATE_CODES): Update.
(ix86_tls_dialect, ix86_tls_dialect_string): New.
* config/i386/i386.md: Regroup and renumber unspec constants.
(tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
(tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
(tls_global_dynamic, tls_local_dynamic_base): New.
(tls_local_dynamic_once): New.
* config/i386/i386-protos.h: Update.
From-SVN: r53812
2002-05-23 23:55:30 +02:00
|
|
|
fi
|
2003-07-12 22:03:14 +02:00
|
|
|
|
|
|
|
# Target-specific assembler checks.
|
configure.in (HAVE_AS_TLS): New test.
* configure.in (HAVE_AS_TLS): New test.
* config.in, configure: Rebuild.
* config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
(ix86_tls_dialect_string, ix86_tls_dialect): New.
(override_options): Set it.
(tls_model_chars, tls_symbolic_operand): New.
(tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
(local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
(local_exec_symbolic_operand): New.
(get_pic_label_name): Merge into output_set_got.
(ix86_asm_file_end): Emit pic_label_name if defined.
(legitimate_constant_p, constant_address_p): New.
(legitimate_pic_operand_p): New.
(legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
(legitimate_address_p): Likewise.
(ix86_encode_section_info): Rename from i386_; handle tls decls.
(ix86_strip_name_encoding): New.
(get_thread_pointer): New.
(legitimize_address): Handle tls symbols.
(output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
Remove UNSPEC_PLT.
(struct machine_function): Add some_ld_name.
(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
(print_operand) [&]: Use it. Handle UNSPEC_TP.
(output_addr_const_extra): New.
(maybe_get_pool_constant): New.
(ix86_split_to_parts): Use it.
(ix86_expand_move): Handle tls symbols.
(ix86_tls_get_addr): New.
* config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
(TARGET_OPTIONS): Add tls-dialect.
(CONSTANT_ADDRESS_P): Use new out-of-line function.
(LEGITIMATE_CONSTANT_P): Likewise.
(LEGITIMATE_PIC_OPERAND_P): Likewise.
(TARGET_STRIP_NAME_ENCODING): New.
(ASM_OUTPUT_LABELREF): New.
(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
(OUTPUT_ADDR_CONST_EXTRA): New.
(PREDICATE_CODES): Update.
(ix86_tls_dialect, ix86_tls_dialect_string): New.
* config/i386/i386.md: Regroup and renumber unspec constants.
(tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
(tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
(tls_global_dynamic, tls_local_dynamic_base): New.
(tls_local_dynamic_once): New.
* config/i386/i386-protos.h: Update.
From-SVN: r53812
2002-05-23 23:55:30 +02:00
|
|
|
|
2004-12-16 00:50:26 +01:00
|
|
|
AC_MSG_CHECKING(linker -Bstatic/-Bdynamic option)
|
|
|
|
gcc_cv_ld_static_dynamic=no
|
|
|
|
if test $in_tree_ld = yes ; then
|
2009-04-02 18:35:10 +02:00
|
|
|
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2; then
|
2004-12-16 00:50:26 +01:00
|
|
|
gcc_cv_ld_static_dynamic=yes
|
|
|
|
fi
|
|
|
|
elif test x$gcc_cv_ld != x; then
|
|
|
|
# Check if linker supports -Bstatic/-Bdynamic option
|
|
|
|
if $gcc_cv_ld --help 2>/dev/null | grep -- -Bstatic > /dev/null \
|
|
|
|
&& $gcc_cv_ld --help 2>/dev/null | grep -- -Bdynamic > /dev/null; then
|
|
|
|
gcc_cv_ld_static_dynamic=yes
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if test x"$gcc_cv_ld_static_dynamic" = xyes; then
|
|
|
|
AC_DEFINE(HAVE_LD_STATIC_DYNAMIC, 1,
|
|
|
|
[Define if your linker supports -Bstatic/-Bdynamic option.])
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($gcc_cv_ld_static_dynamic)
|
|
|
|
|
2004-07-07 22:29:13 +02:00
|
|
|
if test x"$demangler_in_ld" = xyes; then
|
|
|
|
AC_MSG_CHECKING(linker --demangle support)
|
|
|
|
gcc_cv_ld_demangle=no
|
|
|
|
if test $in_tree_ld = yes; then
|
|
|
|
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 14 -o "$gcc_cv_gld_major_version" -gt 2; then \
|
|
|
|
gcc_cv_ld_demangle=yes
|
|
|
|
fi
|
|
|
|
elif test x$gcc_cv_ld != x -a x"$gnu_ld" = xyes; then
|
|
|
|
# Check if the GNU linker supports --demangle option
|
|
|
|
if $gcc_cv_ld --help 2>/dev/null | grep no-demangle > /dev/null; then
|
|
|
|
gcc_cv_ld_demangle=yes
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if test x"$gcc_cv_ld_demangle" = xyes; then
|
|
|
|
AC_DEFINE(HAVE_LD_DEMANGLE, 1,
|
|
|
|
[Define if your linker supports --demangle option.])
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($gcc_cv_ld_demangle)
|
|
|
|
fi
|
|
|
|
|
configure.in: Check for ld.
* configure.in: Check for ld.
(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
* configure, config.in: Rebuilt.
* config.gcc: Add crtbeginT.o to extra_parts where needed.
* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
frame unwinding on Linux.
* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
frame unwinding.
* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
iterate further if pc falls into current library, but fde was not
found.
* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
if using glibc.
(LINK_EH_SPEC): Define.
* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
* Makefile.in (crtbeginT.o): Add rule.
* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
If neither -static-libgcc nor -shared-libgcc is passed and -shared,
use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
If none of the above switches are passed, use -lgcc -lgcc_eh.
(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
creating libgcc_s.so, put them into separate libgcc_eh.a instead.
* unwind-dw2-fde.c: Don't include any headers if this file
is included from other .c file.
* unwind-dw2-fde-glibc.c: New file.
* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
Use it instead of EH_FRAME_SECTION_NAME where appropriate.
From-SVN: r48039
2001-12-15 12:49:18 +01:00
|
|
|
case "$target" in
|
2001-12-16 02:05:01 +01:00
|
|
|
# All TARGET_ABI_OSF targets.
|
|
|
|
alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*)
|
2003-07-12 22:03:14 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE([explicit relocation support],
|
|
|
|
gcc_cv_as_alpha_explicit_relocs, [2,12,0],,
|
|
|
|
[ .set nomacro
|
2001-12-16 02:05:01 +01:00
|
|
|
.text
|
|
|
|
extbl $3, $2, $3 !lituse_bytoff!1
|
|
|
|
ldq $2, a($29) !literal!1
|
|
|
|
ldq $4, b($29) !literal!2
|
|
|
|
ldq_u $3, 0($2) !lituse_base!1
|
|
|
|
ldq $27, f($29) !literal!5
|
|
|
|
jsr $26, ($27), f !lituse_jsr!5
|
|
|
|
ldah $29, 0($26) !gpdisp!3
|
|
|
|
lda $0, c($29) !gprel
|
|
|
|
ldah $1, d($29) !gprelhigh
|
|
|
|
lda $1, d($1) !gprellow
|
2003-07-12 22:03:14 +02:00
|
|
|
lda $29, 0($29) !gpdisp!3],,
|
|
|
|
[AC_DEFINE(HAVE_AS_EXPLICIT_RELOCS, 1,
|
|
|
|
[Define if your assembler supports explicit relocations.])])
|
2005-06-01 10:19:44 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE([jsrdirect relocation support],
|
|
|
|
gcc_cv_as_alpha_jsrdirect_relocs, [2,16,90],,
|
|
|
|
[ .set nomacro
|
|
|
|
.text
|
|
|
|
ldq $27, a($29) !literal!1
|
|
|
|
jsr $26, ($27), a !lituse_jsrdirect!1],,
|
|
|
|
[AC_DEFINE(HAVE_AS_JSRDIRECT_RELOCS, 1,
|
|
|
|
[Define if your assembler supports the lituse_jsrdirect relocation.])])
|
2001-12-16 02:05:01 +01:00
|
|
|
;;
|
2000-06-09 16:31:54 +02:00
|
|
|
|
2004-03-08 01:38:31 +01:00
|
|
|
cris-*-*)
|
|
|
|
gcc_GAS_CHECK_FEATURE([-no-mul-bug-abort option],
|
|
|
|
gcc_cv_as_cris_no_mul_bug,[2,15,91],
|
|
|
|
[-no-mul-bug-abort], [.text],,
|
|
|
|
[AC_DEFINE(HAVE_AS_NO_MUL_BUG_ABORT_OPTION, 1,
|
|
|
|
[Define if your assembler supports the -no-mul-bug-abort option.])])
|
|
|
|
;;
|
|
|
|
|
2003-07-12 22:03:14 +02:00
|
|
|
sparc*-*-*)
|
|
|
|
gcc_GAS_CHECK_FEATURE([.register], gcc_cv_as_sparc_register_op,,,
|
|
|
|
[.register %g2, #scratch],,
|
|
|
|
[AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
|
|
|
|
[Define if your assembler supports .register.])])
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([-relax option], gcc_cv_as_sparc_relax,,
|
|
|
|
[-relax], [.text],,
|
|
|
|
[AC_DEFINE(HAVE_AS_RELAX_OPTION, 1,
|
|
|
|
[Define if your assembler supports -relax option.])])
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([unaligned pcrel relocs],
|
|
|
|
gcc_cv_as_sparc_ua_pcrel,,
|
|
|
|
[-K PIC],
|
|
|
|
[.text
|
|
|
|
foo:
|
|
|
|
nop
|
|
|
|
.data
|
|
|
|
.align 4
|
|
|
|
.byte 0
|
|
|
|
.uaword %r_disp32(foo)],
|
|
|
|
[if test x$gcc_cv_ld != x \
|
|
|
|
&& $gcc_cv_ld -o conftest conftest.o -G > /dev/null 2>&1; then
|
|
|
|
gcc_cv_as_sparc_ua_pcrel=yes
|
|
|
|
fi
|
|
|
|
rm -f conftest],
|
|
|
|
[AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
|
2001-12-28 10:55:14 +01:00
|
|
|
[Define if your assembler and linker support unaligned PC relative relocs.])
|
2002-04-04 00:21:12 +02:00
|
|
|
|
2003-07-12 22:03:14 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE([unaligned pcrel relocs against hidden symbols],
|
|
|
|
gcc_cv_as_sparc_ua_pcrel_hidden,,
|
|
|
|
[-K PIC],
|
|
|
|
[.data
|
|
|
|
.align 4
|
|
|
|
.byte 0x31
|
|
|
|
.uaword %r_disp32(foo)
|
|
|
|
.byte 0x32, 0x33, 0x34
|
|
|
|
.global foo
|
|
|
|
.hidden foo
|
|
|
|
foo:
|
|
|
|
.skip 4],
|
|
|
|
[if test x$gcc_cv_ld != x && test x$gcc_cv_objdump != x \
|
|
|
|
&& $gcc_cv_ld -o conftest conftest.o -G > /dev/null 2>&1 \
|
|
|
|
&& $gcc_cv_objdump -s -j .data conftest 2> /dev/null \
|
|
|
|
| grep ' 31000000 07323334' > /dev/null 2>&1; then
|
|
|
|
if $gcc_cv_objdump -R conftest 2> /dev/null \
|
|
|
|
| grep 'DISP32' > /dev/null 2>&1; then
|
|
|
|
:
|
2002-09-06 14:00:11 +02:00
|
|
|
else
|
2003-07-12 22:03:14 +02:00
|
|
|
gcc_cv_as_sparc_ua_pcrel_hidden=yes
|
1999-12-08 11:27:54 +01:00
|
|
|
fi
|
2003-07-12 22:03:14 +02:00
|
|
|
fi
|
|
|
|
rm -f conftest],
|
|
|
|
[AC_DEFINE(HAVE_AS_SPARC_UA_PCREL_HIDDEN, 1,
|
|
|
|
[Define if your assembler and linker support unaligned PC relative relocs against hidden symbols.])])
|
|
|
|
]) # unaligned pcrel relocs
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([offsetable %lo()],
|
|
|
|
gcc_cv_as_sparc_offsetable_lo10,,
|
|
|
|
[-xarch=v9],
|
|
|
|
[.text
|
|
|
|
or %g1, %lo(ab) + 12, %g1
|
|
|
|
or %g1, %lo(ab + 12), %g1],
|
|
|
|
[if test x$gcc_cv_objdump != x \
|
2004-07-13 08:57:13 +02:00
|
|
|
&& $gcc_cv_objdump -s -j .text conftest.o 2> /dev/null \
|
2003-07-12 22:03:14 +02:00
|
|
|
| grep ' 82106000 82106000' > /dev/null 2>&1; then
|
2005-01-08 02:17:47 +01:00
|
|
|
gcc_cv_as_sparc_offsetable_lo10=yes
|
2003-07-12 22:03:14 +02:00
|
|
|
fi],
|
|
|
|
[AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1,
|
|
|
|
[Define if your assembler supports offsetable %lo().])])
|
1999-08-03 00:58:04 +02:00
|
|
|
;;
|
|
|
|
|
|
|
|
changequote(,)dnl
|
2001-10-19 08:29:18 +02:00
|
|
|
i[34567]86-*-* | x86_64-*-*)
|
1999-08-03 00:58:04 +02:00
|
|
|
changequote([,])dnl
|
2004-04-30 20:50:28 +02:00
|
|
|
case $target_os in
|
|
|
|
cygwin* | pe | mingw32*)
|
|
|
|
# Used for DWARF 2 in PE
|
|
|
|
gcc_GAS_CHECK_FEATURE([.secrel32 relocs],
|
|
|
|
gcc_cv_as_ix86_pe_secrel32,
|
|
|
|
[2,15,91],,
|
|
|
|
[.text
|
|
|
|
foo: nop
|
|
|
|
.data
|
|
|
|
.secrel32 foo],
|
|
|
|
[if test x$gcc_cv_ld != x \
|
|
|
|
&& $gcc_cv_ld -o conftest conftest.o > /dev/null 2>&1; then
|
|
|
|
gcc_cv_as_ix86_pe_secrel32=yes
|
|
|
|
fi
|
|
|
|
rm -f conftest],
|
|
|
|
[AC_DEFINE(HAVE_GAS_PE_SECREL32_RELOC, 1,
|
|
|
|
[Define if your assembler and linker support 32-bit section relative relocs via '.secrel32 label'.])])
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2003-07-12 22:03:14 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE([filds and fists mnemonics],
|
|
|
|
gcc_cv_as_ix86_filds_fists,
|
|
|
|
[2,9,0],, [filds mem; fists mem],,
|
|
|
|
[AC_DEFINE(HAVE_GAS_FILDS_FISTS, 1,
|
|
|
|
[Define if your assembler uses the new HImode fild and fist notation.])])
|
|
|
|
|
2003-09-04 23:38:59 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE([cmov syntax],
|
|
|
|
gcc_cv_as_ix86_cmov_sun_syntax,,,
|
|
|
|
[cmovl.l %edx, %eax],,
|
|
|
|
[AC_DEFINE(HAVE_AS_IX86_CMOV_SUN_SYNTAX, 1,
|
|
|
|
[Define if your assembler supports the Sun syntax for cmov.])])
|
|
|
|
|
2006-07-07 02:13:14 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE([ffreep mnemonic],
|
|
|
|
gcc_cv_as_ix86_ffreep,,,
|
|
|
|
[ffreep %st(1)],,
|
|
|
|
[AC_DEFINE(HAVE_AS_IX86_FFREEP, 1,
|
|
|
|
[Define if your assembler supports the ffreep mnemonic.])])
|
|
|
|
|
2007-03-14 22:03:59 +01:00
|
|
|
gcc_GAS_CHECK_FEATURE([sahf mnemonic],
|
|
|
|
gcc_cv_as_ix86_sahf,,,
|
|
|
|
[sahf],,
|
|
|
|
[AC_DEFINE(HAVE_AS_IX86_SAHF, 1,
|
|
|
|
[Define if your assembler supports the sahf mnemonic.])])
|
|
|
|
|
2006-11-02 01:56:38 +01:00
|
|
|
gcc_GAS_CHECK_FEATURE([different section symbol subtraction],
|
|
|
|
gcc_cv_as_ix86_diff_sect_delta,,,
|
|
|
|
[.section .rodata
|
|
|
|
.L1:
|
|
|
|
.long .L2-.L1
|
|
|
|
.long .L3-.L1
|
|
|
|
.text
|
|
|
|
.L3: nop
|
|
|
|
.L2: nop],,
|
|
|
|
[AC_DEFINE(HAVE_AS_IX86_DIFF_SECT_DELTA, 1,
|
|
|
|
[Define if your assembler supports the subtraction of symbols in different sections.])])
|
|
|
|
|
2003-07-13 04:53:00 +02:00
|
|
|
# This one is used unconditionally by i386.[ch]; it is to be defined
|
|
|
|
# to 1 if the feature is present, 0 otherwise.
|
2003-07-12 22:03:14 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE([GOTOFF in data],
|
|
|
|
gcc_cv_as_ix86_gotoff_in_data, [2,11,0],,
|
|
|
|
[ .text
|
configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
* configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
* configure, config.in: Rebuild.
* config/i386/i386.c (ix86_output_addr_vec_elt): New.
(ix86_output_addr_diff_elt): New.
* config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
(JUMP_TABLES_IN_TEXT_SECTION): New.
* config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
* config/i386/i386-protos.h: Update.
* config/i386/386bsd.h, config/i386/beos-elf.h,
config/i386/freebsd-aout.h, config/i386/freebsd.h,
config/i386/i386-interix.h, config/i386/i386elf.h,
config/i386/linux.h, config/i386/netbsd-elf.h,
config/i386/netbsd.h, config/i386/openbsd.h,
config/i386/ptx4-i.h, config/i386/rtemself.h,
config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
(ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
From-SVN: r46303
2001-10-17 03:39:47 +02:00
|
|
|
.L0:
|
|
|
|
nop
|
|
|
|
.data
|
2003-07-13 04:53:00 +02:00
|
|
|
.long .L0@GOTOFF])
|
|
|
|
AC_DEFINE_UNQUOTED(HAVE_AS_GOTOFF_IN_DATA,
|
|
|
|
[`if test $gcc_cv_as_ix86_gotoff_in_data = yes; then echo 1; else echo 0; fi`],
|
|
|
|
[Define true if the assembler supports '.long foo@GOTOFF'.])
|
1999-08-03 00:58:04 +02:00
|
|
|
;;
|
2003-03-02 23:15:51 +01:00
|
|
|
|
|
|
|
ia64*-*-*)
|
2003-07-12 22:03:14 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE([ltoffx and ldxmov relocs],
|
|
|
|
gcc_cv_as_ia64_ltoffx_ldxmov_relocs, [2,14,0],,
|
2003-08-08 07:36:02 +02:00
|
|
|
[ .text
|
2003-03-02 23:15:51 +01:00
|
|
|
addl r15 = @ltoffx(x#), gp
|
|
|
|
;;
|
2003-08-08 07:36:02 +02:00
|
|
|
ld8.mov r16 = [[r15]], x#],,
|
2003-07-12 22:03:14 +02:00
|
|
|
[AC_DEFINE(HAVE_AS_LTOFFX_LDXMOV_RELOCS, 1,
|
|
|
|
[Define if your assembler supports ltoffx and ldxmov relocations.])])
|
|
|
|
|
2003-03-02 23:15:51 +01:00
|
|
|
;;
|
2003-07-12 22:03:14 +02:00
|
|
|
|
2003-07-08 03:45:30 +02:00
|
|
|
powerpc*-*-*)
|
2003-07-12 22:03:14 +02:00
|
|
|
case $target in
|
2005-05-07 20:51:50 +02:00
|
|
|
*-*-aix*) conftest_s=' .machine "pwr5"
|
|
|
|
.csect .text[[PR]]
|
2004-02-05 18:09:05 +01:00
|
|
|
mfcr 3,128';;
|
2004-11-28 07:06:26 +01:00
|
|
|
*-*-darwin*)
|
|
|
|
gcc_GAS_CHECK_FEATURE([.machine directive support],
|
|
|
|
gcc_cv_as_machine_directive,,,
|
|
|
|
[ .machine ppc7400])
|
|
|
|
if test x$gcc_cv_as_machine_directive != xyes; then
|
|
|
|
echo "*** This target requires an assembler supporting \".machine\"" >&2
|
|
|
|
echo you can get it from: ftp://gcc.gnu.org/pub/gcc/infrastructure/cctools-528.5.dmg >&2
|
|
|
|
test x$build = x$target && exit 1
|
|
|
|
fi
|
|
|
|
conftest_s=' .text
|
2004-02-05 18:09:05 +01:00
|
|
|
mfcr r3,128';;
|
2004-10-19 02:21:03 +02:00
|
|
|
*) conftest_s=' .machine power4
|
2004-10-15 04:26:15 +02:00
|
|
|
.text
|
2004-02-05 18:09:05 +01:00
|
|
|
mfcr 3,128';;
|
2003-07-12 22:03:14 +02:00
|
|
|
esac
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([mfcr field support],
|
|
|
|
gcc_cv_as_powerpc_mfcrf, [2,14,0],,
|
|
|
|
[$conftest_s],,
|
|
|
|
[AC_DEFINE(HAVE_AS_MFCRF, 1,
|
|
|
|
[Define if your assembler supports mfcr field.])])
|
2005-05-07 20:51:50 +02:00
|
|
|
|
|
|
|
case $target in
|
|
|
|
*-*-aix*) conftest_s=' .machine "pwr5"
|
|
|
|
.csect .text[[PR]]
|
|
|
|
popcntb 3,3';;
|
|
|
|
*) conftest_s=' .machine power5
|
|
|
|
.text
|
|
|
|
popcntb 3,3';;
|
|
|
|
esac
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([popcntb support],
|
|
|
|
gcc_cv_as_powerpc_popcntb, [2,17,0],,
|
|
|
|
[$conftest_s],,
|
|
|
|
[AC_DEFINE(HAVE_AS_POPCNTB, 1,
|
|
|
|
[Define if your assembler supports popcntb field.])])
|
|
|
|
|
invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf, -mpopcntb, -mfprnd.
* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf,
-mpopcntb, -mfprnd. Add -mcpu=power5+.
* configure.ac: Add test for FP rounding instructions.
* configure: Regenerate.
* config.in: Regenerate.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
_ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if
features enabled.
* config/rs6000/rs6000.opt (mfprnd): New.
* config/rs6000/rs6000.c (processor_target_table): Add power5+.
(POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND.
* config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+.
(TARGET_FPRND): New.
* config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP,
UNSPEC_FRIZ): New.
(btrunc<mode>2): New.
(ceil<mode>2): New.
(floor<mode>2): New.
(round<mode>2): New.
From-SVN: r106938
2005-11-15 06:00:40 +01:00
|
|
|
case $target in
|
|
|
|
*-*-aix*) conftest_s=' .machine "pwr5x"
|
|
|
|
.csect .text[[PR]]
|
|
|
|
frin 1,1';;
|
2005-11-16 03:54:55 +01:00
|
|
|
*) conftest_s=' .machine power5
|
invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf, -mpopcntb, -mfprnd.
* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf,
-mpopcntb, -mfprnd. Add -mcpu=power5+.
* configure.ac: Add test for FP rounding instructions.
* configure: Regenerate.
* config.in: Regenerate.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
_ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if
features enabled.
* config/rs6000/rs6000.opt (mfprnd): New.
* config/rs6000/rs6000.c (processor_target_table): Add power5+.
(POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND.
* config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+.
(TARGET_FPRND): New.
* config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP,
UNSPEC_FRIZ): New.
(btrunc<mode>2): New.
(ceil<mode>2): New.
(floor<mode>2): New.
(round<mode>2): New.
From-SVN: r106938
2005-11-15 06:00:40 +01:00
|
|
|
.text
|
|
|
|
frin 1,1';;
|
|
|
|
esac
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([fp round support],
|
|
|
|
gcc_cv_as_powerpc_fprnd, [2,17,0],,
|
|
|
|
[$conftest_s],,
|
|
|
|
[AC_DEFINE(HAVE_AS_FPRND, 1,
|
|
|
|
[Define if your assembler supports fprnd.])])
|
|
|
|
|
invoke.texi: Add cpu_type power6x (RS/6000 and PowerPC Options): Add -mmfpgpr.
* doc/invoke.texi: Add cpu_type power6x
(RS/6000 and PowerPC Options): Add -mmfpgpr.
* config.gcc: Add cpu_type power6x.
* configure.ac: Add test for mf{t,f}gpr instructions.
(HAVE_AS_MFPGPR): New.
* config.in: Regenerate.
* configure: Regenerate.
* config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6x.
* config/rs6000/rs6000.md (define_attr "type"): Add insert_dword,
shift,trap,var_shift_rotate,cntlz,exts, var_delayed_compare, mffgpr
and mftgpr attributes.
(define_attr "cpu"): Add power6.
Change instruction sequences to use new attributes.
(floatsidf2,fix_truncdfsi2): use TARGET_MFPGPR.
(fix_truncdfsi2_mfpgpr): New.
(floatsidf_ppc64_mfpgpr): New.
(floatsidf_ppc64): Added !TARGET_MFPGPR condition.
(movdf_hardfloat64_mfpgpr,movdi_mfpgpr): New.
(movdf_hardfloat64): Added !TARGET_MFPGPR condition.
(movdi_internal64): Added !TARGET_MFPGPR and related conditions.
(fix_truncdfsi2): Use gpc_reg_operand constraint.
* config/rs6000/{6xx.md,power4.md,8540.md,603.md,mpc.md,
7xx.md,rios2.md,7450.md,440.md,rios1.md,rs64.md,power5.md,40x.md}:
Add descriptions for insert_dword, shift,trap,var_shift_rotate,
cntlz,exts and var_delayed_compare.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
_ARCH_PWR6X, if features enabled.
* config/rs6000/rs6000.opt (mmfpgpr): New.
* config/rs6000/rs6000.c (rs6000_align_branch_targets): New variable.
(cached_can_issue_more): New variable.
(processor_costs): Add power6_cost.
(rs6000_sched_init): New function.
(is_dispatch_slot_restricted): Deleted.
(set_to_load_agen): New function.
(is_load_insn,is_store_insn): New functions.
(adjacent_mem_locations): New function.
(insn_must_be_first_in_group): New function.
(insn_must_be_last_in_group): New function.
(rs6000_sched_reorder): New function.
(rs6000_sched_reorder2): New function.
(TARGET_SCHED_INIT,TARGET_SCHED_REORDER,
TARGET_SCHED_REORDER2): Define.
(processor_target_table): Use PROCESSOR_POWER6 for power6.
Add power6x. Add MASK_MFPGPR for power6x.
(POWERPC_MASKS): Add MASK_MFPGPR.
(rs6000_override_options): Set rs6000_always_hint to false
for power6. Set rs6000_align_branch_targets. Replace
rs6000_sched_groups check with rs6000_align_branch_targets.
Use PROCESSOR_POWER6.
(last_scheduled_insn): New variable.
(load_store_pendulum): New variable.
(rs6000_variable_issue): Set last_scheduled_insn and
cached_can_issue_more.
(rs6000_adjust_cost): Add power6 cost adjustments.
(rs6000_adjust_priority): Replace is_dispatch_slot_restricted
with insn_must_be_first_in_group. Add power6 priority adjustments.
(rs6000_issue_rate): Add CPU_POWER6.
(insn_terminates_group_p): Use insn_must_be_{first,last}_in_group.
* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER6.
(TARGET_MFPGPR): New.
(SECONDARY_MEMORY_NEEDED): Use TARGET_MFPGPR.
(ASM_CPU_SPEC): Add power6x.
(SECONDARY_MEMORY_NEEDED): Added mode!=DFmode and mode!=DImode
conditions.
* config/rs6000/power6.md: New file.
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
From-SVN: r118396
2006-11-01 21:47:53 +01:00
|
|
|
case $target in
|
|
|
|
*-*-aix*) conftest_s=' .machine "pwr6"
|
|
|
|
.csect .text[[PR]]
|
|
|
|
mffgpr 1,3';;
|
|
|
|
*) conftest_s=' .machine power6
|
|
|
|
.text
|
|
|
|
mffgpr 1,3';;
|
|
|
|
esac
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([move fp gpr support],
|
|
|
|
gcc_cv_as_powerpc_mfpgpr, [9,99,0],,
|
|
|
|
[$conftest_s],,
|
|
|
|
[AC_DEFINE(HAVE_AS_MFPGPR, 1,
|
|
|
|
[Define if your assembler supports mffgpr and mftgpr.])])
|
|
|
|
|
configure.ac: Add --enable-secureplt.
* configure.ac: Add --enable-secureplt.
(HAVE_AS_REL16): Test for R_PPC_REL16 relocs.
* config.in: Regenerate.
* configure: Regenerate.
* config.gcc (powerpc64-*-linux*, powerpc-*-linux*): Add
rs6000/secureplt.h to tm_file when enable_secureplt.
* doc/invoke.texi (msecure-plt, mbss-plt): Document.
* doc/install.texi: Document --enable-targets and --enable-secureplt.
Correct xrefs to "Using the GNU Compiler Collection (GCC)".
* config/rs6000/secureplt.h: New file.
* config/rs6000/sysv4.h (TARGET_SECURE_PLT): Define.
(SUBTARGET_OVERRIDE_OPTIONS): Error if -msecure-plt given without
assembler support.
(CC1_SECURE_PLT_DEFAULT_SPEC): Define.
(CC1_SPEC): Delete duplicate mno-sdata. Invoke cc1_secure_plt_default.
(SUBTARGET_EXTRA_SPECS): Add cc1_secure_plt_default.
* config/rs6000/sysv4.opt (msecure-plt, bss-plt): Add options.
* config/rs6000/rs6000.h (TARGET_SECURE_PLT): Define.
* config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Handle
TARGET_SECURE_PLT got register load sequence.
(rs6000_emit_prologue): Call rs6000_emit_load_toc_table when
TARGET_SECURE_PLT.
(rs6000_elf_declare_function_name): Don't emit toc address offset
word when TARGET_SECURE_PLT.
* config/rs6000/rs6000.md (elf_high, elf_low): Move past load_toc_*.
(load_toc_v4_PIC_1) Enable for TARGET_SECURE_PLT.
(load_toc_v4_PIC_3b, load_toc_v4_PIC_3c): New insns.
(call, call_value): Mark pic_offset_table_rtx used for sysv pic and
TARGET_SECURE_PLT.
(call_nonlocal_sysv, call_value_nonlocal_sysv, sibcall_nonlocal_sysv,
sibcall_value_nonlocal_sysv): Add 32768 offset when TARGET_SECURE_PLT
and -fPIC.
* config/rs6000/tramp.asm (trampoline_initial): Use "bcl 20,31".
(__trampoline_setup): Likewise. Init r30 before plt call.
From-SVN: r100415
2005-06-01 02:30:26 +02:00
|
|
|
case $target in
|
|
|
|
*-*-aix*) conftest_s=' .csect .text[[PR]]
|
|
|
|
LCF..0:
|
|
|
|
addis 11,30,_GLOBAL_OFFSET_TABLE_-LCF..0@ha';;
|
|
|
|
*-*-darwin*)
|
|
|
|
conftest_s=' .text
|
|
|
|
LCF0:
|
|
|
|
addis r11,r30,_GLOBAL_OFFSET_TABLE_-LCF0@ha';;
|
|
|
|
*) conftest_s=' .text
|
|
|
|
.LCF0:
|
|
|
|
addis 11,30,_GLOBAL_OFFSET_TABLE_-.LCF0@ha';;
|
|
|
|
esac
|
|
|
|
|
2007-03-03 20:23:06 +01:00
|
|
|
gcc_GAS_CHECK_FEATURE([rel16 relocs],
|
|
|
|
gcc_cv_as_powerpc_rel16, [2,17,0], -a32,
|
|
|
|
[$conftest_s],,
|
|
|
|
[AC_DEFINE(HAVE_AS_REL16, 1,
|
|
|
|
[Define if your assembler supports R_PPC_REL16 relocs.])])
|
|
|
|
|
2007-02-21 00:11:43 +01:00
|
|
|
case $target in
|
|
|
|
*-*-aix*) conftest_s=' .machine "pwr6"
|
|
|
|
.csect .text[[PR]]
|
|
|
|
cmpb 3,4,5';;
|
|
|
|
*) conftest_s=' .machine power6
|
|
|
|
.text
|
|
|
|
cmpb 3,4,5';;
|
|
|
|
esac
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([compare bytes support],
|
|
|
|
gcc_cv_as_powerpc_cmpb, [9,99,0], -a32,
|
|
|
|
[$conftest_s],,
|
|
|
|
[AC_DEFINE(HAVE_AS_CMPB, 1,
|
|
|
|
[Define if your assembler supports cmpb.])])
|
|
|
|
|
|
|
|
case $target in
|
|
|
|
*-*-aix*) conftest_s=' .machine "pwr6"
|
|
|
|
.csect .text[[PR]]
|
2007-03-28 00:14:02 +02:00
|
|
|
dadd 1,2,3';;
|
2007-02-21 00:11:43 +01:00
|
|
|
*) conftest_s=' .machine power6
|
|
|
|
.text
|
2007-03-28 00:14:02 +02:00
|
|
|
dadd 1,2,3';;
|
2007-02-21 00:11:43 +01:00
|
|
|
esac
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([decimal float support],
|
|
|
|
gcc_cv_as_powerpc_dfp, [9,99,0], -a32,
|
|
|
|
[$conftest_s],,
|
|
|
|
[AC_DEFINE(HAVE_AS_DFP, 1,
|
|
|
|
[Define if your assembler supports DFP instructions.])])
|
2007-07-02 12:46:35 +02:00
|
|
|
|
2008-08-08 23:40:18 +02:00
|
|
|
case $target in
|
|
|
|
*-*-aix*) conftest_s=' .machine "pwr7"
|
|
|
|
.csect .text[[PR]]
|
|
|
|
lxvd2x 1,2,3';;
|
|
|
|
*) conftest_s=' .machine power7
|
|
|
|
.text
|
|
|
|
lxvd2x 1,2,3';;
|
|
|
|
esac
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([vector-scalar support],
|
|
|
|
gcc_cv_as_powerpc_vsx, [9,99,0], -a32,
|
|
|
|
[$conftest_s],,
|
|
|
|
[AC_DEFINE(HAVE_AS_VSX, 1,
|
|
|
|
[Define if your assembler supports VSX instructions.])])
|
|
|
|
|
2007-07-02 12:46:35 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE([.gnu_attribute support],
|
|
|
|
gcc_cv_as_powerpc_gnu_attribute, [2,18,0],,
|
|
|
|
[.gnu_attribute 4,1],,
|
|
|
|
[AC_DEFINE(HAVE_AS_GNU_ATTRIBUTE, 1,
|
|
|
|
[Define if your assembler supports .gnu_attribute.])])
|
2009-03-31 05:11:34 +02:00
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([tls marker support],
|
|
|
|
gcc_cv_as_powerpc_tls_markers, [2,20,0],,
|
|
|
|
[ bl __tls_get_addr(x@tlsgd)],,
|
|
|
|
[AC_DEFINE(HAVE_AS_TLS_MARKERS, 1,
|
|
|
|
[Define if your assembler supports arg info for __tls_get_addr.])])
|
2003-07-08 03:45:30 +02:00
|
|
|
;;
|
1999-04-23 21:41:03 +02:00
|
|
|
|
2003-07-12 22:03:14 +02:00
|
|
|
mips*-*-*)
|
|
|
|
gcc_GAS_CHECK_FEATURE([explicit relocation support],
|
|
|
|
gcc_cv_as_mips_explicit_relocs, [2,14,0],,
|
|
|
|
[ lw $4,%gp_rel(foo)($4)],,
|
|
|
|
[if test x$target_cpu_default = x
|
|
|
|
then target_cpu_default=MASK_EXPLICIT_RELOCS
|
|
|
|
else target_cpu_default="($target_cpu_default)|MASK_EXPLICIT_RELOCS"
|
|
|
|
fi])
|
2006-10-29 12:13:14 +01:00
|
|
|
gcc_GAS_CHECK_FEATURE([-mno-shared support],
|
|
|
|
gcc_cv_as_mips_no_shared, [2,16,0], [-mno-shared], [nop],,
|
|
|
|
[AC_DEFINE(HAVE_AS_NO_SHARED, 1,
|
|
|
|
[Define if the assembler understands -mno-shared.])])
|
2007-07-01 00:01:30 +02:00
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([.gnu_attribute support],
|
|
|
|
gcc_cv_as_mips_gnu_attribute, [2,18,0],,
|
|
|
|
[.gnu_attribute 4,1],,
|
|
|
|
[AC_DEFINE(HAVE_AS_GNU_ATTRIBUTE, 1,
|
|
|
|
[Define if your assembler supports .gnu_attribute.])])
|
2007-07-03 22:28:02 +02:00
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([.dtprelword support],
|
|
|
|
gcc_cv_as_mips_dtprelword, [2,18,0],,
|
|
|
|
[.section .tdata,"awT",@progbits
|
|
|
|
x:
|
|
|
|
.word 2
|
|
|
|
.text
|
|
|
|
.dtprelword x+0x8000],,
|
|
|
|
[AC_DEFINE(HAVE_AS_DTPRELWORD, 1,
|
|
|
|
[Define if your assembler supports .dtprelword.])])
|
2005-10-11 01:45:18 +02:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
# Mips and HP-UX need the GNU assembler.
|
|
|
|
# Linux on IA64 might be able to use the Intel assembler.
|
2003-07-12 22:03:14 +02:00
|
|
|
|
2005-10-11 01:45:18 +02:00
|
|
|
case "$target" in
|
|
|
|
mips*-*-* | *-*-hpux* )
|
configure.ac (mips*-*-*): Print an error if not using GAS.
* configure.ac (mips*-*-*): Print an error if not using GAS.
* configure: Regenerated.
* doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
comments about buggy MIPSpro assemblers.
* config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
* config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
(DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
(NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
(TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
of more general IRIX 6 definitions.
(OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
(HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
(TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
(LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
(ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
(PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
(LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
(TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
(SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
(LINK_SPEC): Move most of definition to iris.h.
(SUBTARGET_LINK_SPEC): New macro.
(IRIX_STARTFILE_SPEC): Fold into...
(STARTFILE_SPEC): ...here.
(IRIX_ENDFILE_SPEC): Fold into...
(ENDFILE_SPEC): ...here.
* config/mips/iris6.h (TARGET_IRIX5): Remove override.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
(DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
(LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
(ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
(TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
(DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
(SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
(PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
(ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
(FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
(POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
(SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
(BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
(EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
(DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
(ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
(ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
(TARGET_IRIX6): Define to 1.
(DRIVER_SELF_SPECS): Define.
(DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
(SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
(SUBTARGET_LINK_SPEC): New macro.
(IRIX_STARTFILE_SPEC): Fold into...
(STARTFILE_SPEC): ...here. Remove !mabi=* case.
(SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
(LIB_SPEC, LIBGCC_SPEC): Use them.
(LIB_SPEC): Remove !mabi=* case.
(IRIX_ENDFILE_SPEC): Fold into...
(ENDFILE_SPEC): ...here. Remove !mabi=* case.
* config/mips/mips-protos.h (irix_output_external_libcall): Delete.
* config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
(TARGET_IRIX6): New macro.
(ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
(LABEL_AFTER_LOC): Delete.
* config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
(TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
(mips_build_builtin_va_list): Check TARGET_IRIX6.
(override_options): Remove TARGET_SGI_O32_AS-related code.
(irix_output_external_libcall): Make static.
(mips_output_filename): Avoid use of SET_FILE_NUMBER and
LABEL_AFTER_LOC.
(mips_file_start): Tidy guard for ABI sections. Remove use of
ABICALLS_ASM_OP; use .abicalls instead.
(mips_output_aligned_decl_common, mips_declare_object_name)
(mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
(mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
.globl foo .text directives.
(irix_asm_named_section_1, irix_asm_named_section)
(irix_section_align_entry, irix_section_align_htab)
(irix_orig_asm_out_file, irix_section_align_entry_eq)
(irix_section_align_entry_hash, irix_asm_output_align)
(irix_file_start, irix_section_align_1, copy_file_data)
(irix_file_end, irix_section_type_flags): Delete.
* config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
Use standard section syntax. Remove protective "jr $31".
(__gcc_fini): Likewise .gcc_fini.
* config/mips/irix-crtn.asm: Adjust sections accordingly.
* config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
iris5gas.h.
* config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
from t-irix-gld.
(EXTRA_MULTILIB_PARTS): Define.
* config/mips/t-iris6: Remove bogus comment.
(EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
* config/mips/iris5gas.h, config/mips/iris5gld.h,
config/mips/iris6gas.h, config/mips/iris6gld.h,
config/mips/t-iris5-as, config/mips/t-iris5-gas
config/mips/t-irix-gld: Delete.
* config/mips/iris.h: New file.
* config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
From-SVN: r86309
2004-08-20 12:21:02 +02:00
|
|
|
if test x$gas_flag = xyes \
|
|
|
|
|| test x"$host" != x"$build" \
|
|
|
|
|| test ! -x "$gcc_cv_as" \
|
|
|
|
|| "$gcc_cv_as" -v < /dev/null 2>&1 | grep GNU > /dev/null; then
|
|
|
|
:
|
|
|
|
else
|
|
|
|
echo "*** This configuration requires the GNU assembler" >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
2003-07-12 22:03:14 +02:00
|
|
|
;;
|
|
|
|
esac
|
2005-10-11 01:45:18 +02:00
|
|
|
|
2000-11-18 00:53:38 +01:00
|
|
|
# ??? Not all targets support dwarf2 debug_line, even within a version
|
|
|
|
# of gas. Moreover, we need to emit a valid instruction to trigger any
|
|
|
|
# info to the output file. So, as supported targets are added to gas 2.11,
|
|
|
|
# add some instruction here to (also) show we expect this might work.
|
|
|
|
# ??? Once 2.11 is released, probably need to add first known working
|
|
|
|
# version to the per-target configury.
|
|
|
|
case "$target" in
|
2002-11-22 20:34:21 +01:00
|
|
|
i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* \
|
MAINTAINERS (mt port): Remove.
* MAINTAINERS (mt port): Remove.
(sco5, unixware, sco udk): Remove.
(Kean Johnston): Add to Write After Approval.
fixincludes:
* inclhack.def (AAB_svr4_replace_byteorder,
AAB_ultrix_ansi_compat, AAB_ultrix_limits, AAB_ultrix_memory,
libc1_G_va_list, libc1_ifdefd_memx, nested_motorola,
ptx_sys_mc_param_h, sco_regset, sco_static_func, sco_utime,
solaris_mutex_init_1, solaris_socket, solaris_unistd,
solaris_widec, svr4_krnl, ultrix_atexit_param, ultrix_atof_param,
ultrix_const3, ultrix_fix_fixproto, ultrix_ifdef, ultrix_locale,
ultrix_math_ifdef, ultrix_nested_ioctl, ultrix_nested_svc,
ultrix_stat, ultrix_static, ultrix_stdlib, ultrix_strings,
ultrix_strings2, ultrix_sys_time, ultrix_unistd,
unicosmk_restrict, uw7_byteorder_fix, windiss_math1,
windiss_math2, windiss_valist): Remove.
* fixincl.x: Regenerate.
* mkfixinc.sh: (arm-semi-aof, hppa1.1-*-osf*, hppa1.1-*-bsd*,
i370-*-openedition, i?86-*-moss*, i?86-*-uwin*,
powerpc-*-eabiaix*): Remove.
* tests/base/math.h: Update.
* tests/base/pthread.h: Update.
* tests/base/stdio.h: Update.
* tests/base/stdlib.h: Update.
* tests/base/string.h: Update.
* tests/base/strings.h: Update.
* tests/base/sys/file.h: Update.
* tests/base/sys/limits.h: Update.
* tests/base/sys/socket.h: Update.
* tests/base/sys/stat.h: Update.
* tests/base/sys/time.h: Update.
* tests/base/testing.h: Update.
* tests/base/unistd.h: Update.
* tests/base/_G_config.h: Remove.
* tests/base/arpa: Remove directory.
* tests/base/fs: Remove directory.
* tests/base/locale.h: Remove.
* tests/base/machine: Remove directory.
* tests/base/rpc/svc.h: Remove.
* tests/base/sys/ioctl.h: Remove.
* tests/base/sys/regset.h: Remove.
* tests/base/sys/times.h: Remove.
* tests/base/sys/utsname.h: Remove.
* tests/base/widec.h: Remove.
gcc:
* config.gcc (Obsolete configurations): Remove list of
configurations.
(Unsupported targets list): Add *-*-linux*aout*, *-*-linux*libc1*,
*-*-solaris2.[0-6], *-*-solaris2.[0-6].*, *-*-sysv*. Remove other
targets matched by those patterns.
(strongarm*-*-*, ep9312*-*-*, xscale-*-*, parisc*-*-*,
m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*,
alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf,
arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*,
hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*,
i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*,
i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*,
mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*,
powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*,
powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*,
strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*,
vax-*-ultrix*, xscale-*-elf, xscale-*-coff,
i[34567]86-*-linux*aout*, i[34567]86-*-linux*libc1): Remove.
Make code for Solaris 7 and greater unconditional for Solaris.
(ep9312-*-*, parisc1*, m680[012]0-*-*, parisc*-*-*, mt-*-*):
Remove --with-* handling.
* config/rs6000/sysv4.h (-mwindiss): Remove from all specs.
(LIB_WINDISS_SPEC, CPP_OS_WINDISS_SPEC, STARTFILE_WINDISS_SPEC,
ENDFILE_WINDISS_SPEC, LINK_START_WINDISS_SPEC,
LINK_OS_WINDISS_SPEC): Remove.
* config/rs6000/sysv4.opt (mwindiss): Remove.
* configure.ac (strongarm*-*-*, xscale*-*-*): Remove.
* configure: Regenerate.
* doc/cpp.texi: Don't mention BeOS.
* doc/extend.texi (interrupt): Don't mention MS1.
* doc/install.texi: (i386-@var{any}-sysv, m68k-bull-sysv,
m68k-hp-hpux, m68000-hp-hpux, m68000-att-sysv,
alphaev5-cray-unicosmk*, xscale-*-*, i?86-*-linux*aout,
i?86-*-sco3.2v5*, i?86-*-udk, m68k-hp-hpux, powerpc-*-sysv4,
powerpc-*-sysv4, powerpcle-*-sysv4, *-*-sysv*, vax-dec-ultrix):
Remove.
* doc/invoke.texi (MT Options): Remove.
(-mwindiss): Remove.
(CRIS Options): Remove cris-axis-aout references.
(HPPA Options): Don't mention hppa1.1-*-pro.
* doc/md.texi: (MorphoTech family): Remove.
* libgcc2.c: Don't handle UWIN.
* config/alpha/t-unicosmk: Remove.
* config/alpha/unicosmk.h: Remove.
* config/arm/kaos-arm.h: Remove.
* config/arm/kaos-strongarm.h: Remove.
* config/arm/strongarm-coff.h: Remove.
* config/arm/strongarm-elf.h: Remove.
* config/arm/strongarm-pe.h: Remove.
* config/arm/t-strongarm-pe: Remove.
* config/arm/t-xscale-coff: Remove.
* config/arm/t-xscale-elf: Remove.
* config/arm/xscale-coff.h: Remove.
* config/arm/xscale-elf.h: Remove.
* config/chorus.h: Remove.
* config/cris/aout.h: Remove.
* config/cris/aout.opt: Remove.
* config/cris/t-aout: Remove.
* config/i386/beos-elf.h: Remove.
* config/i386/kaos-i386.h: Remove.
* config/i386/ptx4-i.h: Remove.
* config/i386/sco5.h: Remove.
* config/i386/sco5.opt: Remove.
* config/i386/sysv4-cpp.h: Remove.
* config/i386/sysv5.h: Remove.
* config/i386/t-beos: Remove.
* config/i386/t-sco5: Remove.
* config/i386/t-uwin: Remove.
* config/i386/uwin.asm: Remove.
* config/i386/uwin.h: Remove.
* config/kaos.h: Remove.
* config/mips/windiss.h: Remove.
* config/mt: Remove directory.
* config/pa/pa-osf.h: Remove.
* config/pa/pa-pro-end.h: Remove.
* config/pa/t-pro: Remove.
* config/ptx4.h: Remove.
* config/rs6000/beos.h: Remove.
* config/rs6000/kaos-ppc.h: Remove.
* config/rs6000/t-beos: Remove.
* config/rs6000/windiss.h: Remove.
* config/sh/kaos-sh.h: Remove.
* config/sol2-6.h: Remove.
* config/sparc/sol26-sld.h: Remove.
* config/sparc/sysv4-only.h: Remove.
* config/vax/bsd.h: Remove.
* config/vax/t-memfuncs: Remove.
* config/vax/ultrix.h: Remove.
* config/vax/vaxv.h: Remove.
* config/windiss.h: Remove.
gcc/testsuite:
* g++.dg/abi/arm_cxa_vec1.C: Don't handle xscale*-*-*.
* g++.dg/eh/spbp.C: Don't handle *-*-solaris2.[56]*.
* g++.dg/warn/miss-format-1.C: Don't handle Solaris before Solaris
7.
* gcc.c-torture/compile/981006-1.c: Don't handle xscale*-*-*,
strongarm*-*-* and cris-*-aout*.
* gcc.c-torture/execute/941014-1.x: Don't handle xscale*-*-* and
strongarm*-*-*.
* gcc.dg/20030909-1.c: Don't handle xscale*-*-* and
strongarm*-*-*.
* gcc.dg/20031108-1.c: Don't handle xscale*-*-* and
strongarm*-*-*.
* gcc.dg/20040813-1.c: Don't handle *-*-sysv5*.
* gcc.dg/arm-asm.c: Don't handle strongarm*-*-* and xscale*-*-*.
* gcc.dg/arm-scd42-1.c: Use target arm*-*-*.
* gcc.dg/arm-scd42-3.c: Use target arm*-*-*.
* gcc.dg/cpp/assert4.c: Don't handle BeOS.
* gcc.dg/debug/pr35154.c: Don't handle *-*-sysv5*.
* gcc.dg/intmax_t-1.c: Don't handle *-*-solaris2.5.1 and
xscale*-*-elf*.
* gcc.dg/pragma-align.c: Don't handle i?86-*-sco3.2v5*.
* gcc.dg/pthread-init-2.c: Don't handle *-*-solaris2.5.1.
* gcc.misc-tests/arm-isr.exp: Use target arm*-*-*.
* gcc.target/powerpc/ppc-sdata-1.c: Don't handle powerpc-*-sysv*.
* gcc.target/powerpc/ppc-sdata-2.c: Don't handle powerpc-*-sysv*.
* gcc.target/powerpc/ppc-stackalign-1.c: Don't handle
powerpc-*-sysv*.
* gfortran.dg/debug/pr35154-stabs.f: Don't handle *-*-sysv5*.
* lib/target-supports.exp: Don't handle strongarm*-*-elf,
xscale*-*-elf and *-*-windiss.
* obj-c++.dg/dwarf-2.mm: Don't handle *-*-solaris2.[56]*.
* objc.dg/dwarf-1.m: Don't handle *-*-solaris2.[56]*.
* objc.dg/dwarf-2.m: Don't handle *-*-solaris2.[56]*.
* gcc.dg/mt-loopi1.c: Remove.
gnattools:
* configure.ac (xscale*-wrs-vx*, xscale*-wrs-coff): Remove.
* configure: Regenerate.
libcpp:
* configure.ac (parisc*64*-*-*): Remove.
* configure: Regenerate.
libffi:
* configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
powerpc-*-beos*): Remove.
* configure: Regenerate.
libgcc:
* config.host (strongarm*-*-*, ep9312*-*-*, xscale-*-*,
parisc*-*-*, m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*,
alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf,
arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*,
hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*,
i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*,
i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*,
mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*,
powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*,
powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*,
strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*,
vax-*-ultrix*, xscale-*-elf, xscale-*-coff): Remove.
libjava:
* configure.host (strongarm*-elf, xscale*-elf): Remove.
libstdc++-v3:
* configure.host (xscale, ep9312, m680[246]0, solaris2.5,
solaris2.5.[0-9], solaris2.6, windiss*): Remove.
* crossconfig.m4 (*-solaris2.5, *-solaris2.6, *-windiss*): Remove.
* configure: Regenerate.
* config/os/solaris/solaris2.5: Remove directory.
* config/os/solaris/solaris2.6: Remove directory.
* config/os/windiss: Remove directory.
From-SVN: r136534
2008-06-07 20:00:15 +02:00
|
|
|
| x86_64*-*-* | hppa*-*-* | arm*-*-* \
|
2009-03-24 18:46:03 +01:00
|
|
|
| xstormy16*-*-* | cris-*-* | crisv32-*-* | xtensa*-*-* | bfin-*-* | score*-*-* \
|
2008-11-26 22:03:06 +01:00
|
|
|
| spu-*-* | fido*-*-* | m32c-*-*)
|
2000-11-18 00:53:38 +01:00
|
|
|
insn="nop"
|
|
|
|
;;
|
2004-01-30 10:07:21 +01:00
|
|
|
ia64*-*-* | s390*-*-*)
|
2000-11-18 00:53:38 +01:00
|
|
|
insn="nop 0"
|
|
|
|
;;
|
2003-06-12 09:09:56 +02:00
|
|
|
mmix-*-*)
|
|
|
|
insn="swym 0"
|
|
|
|
;;
|
2003-07-12 22:03:14 +02:00
|
|
|
esac
|
|
|
|
if test x"$insn" != x; then
|
|
|
|
conftest_s="\
|
|
|
|
.file 1 \"conftest.s\"
|
|
|
|
.loc 1 3 0
|
|
|
|
$insn"
|
|
|
|
gcc_GAS_CHECK_FEATURE([dwarf2 debug_line support],
|
|
|
|
gcc_cv_as_dwarf2_debug_line,
|
|
|
|
[elf,2,11,0],, [$conftest_s],
|
2005-01-09 00:14:06 +01:00
|
|
|
[if test x$gcc_cv_objdump != x \
|
|
|
|
&& $gcc_cv_objdump -h conftest.o 2> /dev/null \
|
|
|
|
| grep debug_line > /dev/null 2>&1; then
|
2003-07-12 22:03:14 +02:00
|
|
|
gcc_cv_as_dwarf2_debug_line=yes
|
|
|
|
fi])
|
|
|
|
|
|
|
|
# The .debug_line file table must be in the exact order that
|
|
|
|
# we specified the files, since these indices are also used
|
|
|
|
# by DW_AT_decl_file. Approximate this test by testing if
|
|
|
|
# the assembler bitches if the same index is assigned twice.
|
|
|
|
gcc_GAS_CHECK_FEATURE([buggy dwarf2 .file directive],
|
|
|
|
gcc_cv_as_dwarf2_file_buggy,,,
|
|
|
|
[ .file 1 "foo.s"
|
|
|
|
.file 1 "bar.s"])
|
|
|
|
|
|
|
|
if test $gcc_cv_as_dwarf2_debug_line = yes \
|
|
|
|
&& test $gcc_cv_as_dwarf2_file_buggy = no; then
|
2000-11-18 00:53:38 +01:00
|
|
|
AC_DEFINE(HAVE_AS_DWARF2_DEBUG_LINE, 1,
|
2003-07-12 22:03:14 +02:00
|
|
|
[Define if your assembler supports dwarf2 .file/.loc directives,
|
ChangeLog.2, [...]: Fix spelling errors.
* ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
collect2.c, combine.c, config.in, configure, configure.in,
conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
spelling errors.
From-SVN: r46928
2001-11-11 12:25:28 +01:00
|
|
|
and preserves file table indices exactly as given.])
|
2003-07-12 22:03:14 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([--gdwarf2 option],
|
|
|
|
gcc_cv_as_gdwarf2_flag,
|
|
|
|
[elf,2,11,0], [--gdwarf2], [$insn],,
|
|
|
|
[AC_DEFINE(HAVE_AS_GDWARF2_DEBUG_FLAG, 1,
|
|
|
|
[Define if your assembler supports the --gdwarf2 option.])])
|
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([--gstabs option],
|
|
|
|
gcc_cv_as_gstabs_flag,
|
|
|
|
[elf,2,11,0], [--gstabs], [$insn],
|
|
|
|
[# The native Solaris 9/Intel assembler doesn't understand --gstabs
|
|
|
|
# and warns about it, but still exits successfully. So check for
|
|
|
|
# this.
|
|
|
|
if AC_TRY_COMMAND([$gcc_cv_as --gstabs -o conftest.o conftest.s 2>&1 | grep -i warning > /dev/null])
|
|
|
|
then :
|
|
|
|
else gcc_cv_as_gstabs_flag=yes
|
|
|
|
fi],
|
|
|
|
[AC_DEFINE(HAVE_AS_GSTABS_DEBUG_FLAG, 1,
|
|
|
|
[Define if your assembler supports the --gstabs option.])])
|
Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New.
2007-08-18 Paul Brook <paul@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New.
(CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Include it.
* Makefile.in: Regenerate.
* configure.ac (--with-debug-prefix-map): New.
* configure: Regenerate.
config:
2007-08-18 Paul Brook <paul@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* mt-gnu (CXXFLAGS_FOR_TARGET): Add
$(DEBUG_PREFIX_CFLAGS_FOR_TARGET).
gcc:
2007-08-18 Paul Brook <paul@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* common.opt (-fdebug-prefix-map=): New option.
* opts.c: Include debug.h.
(common_handle_option): Handle -fdebug-prefix-map.
* final.c: Include ggc.h.
(struct debug_prefix_map, debug_prefix_maps, add_debug_prefix_map,
remap_debug_filename): New.
* Makefile.in (final.o, opts.o): Update dependencies.
* debug.h (remap_debug_filename, add_debug_prefix_map): Declare.
* configure.ac: Check for assembler --debug-prefix-map support.
* configure, config.in: Regenerate.
* gcc.c (ASM_MAP): Define conditional on HAVE_AS_DEBUG_PREFIX_MAP.
(ASM_DEBUG_SPEC): Include ASM_MAP.
* doc/install.texi (--with-debug-prefix-map): Document.
* doc/invoke.texi (-fdebug-prefix-map): Document.
* dbxout.c (dbxout_init, dbxout_start_source_file,
dbxout_source_file): Call remap_debug_filename.
* dwarf2out.c (add_comp_dir_attribute, maybe_emit_file,
dwarf2out_start_source_file, dwarf2out_finish): Call
remap_debug_filename.
(file_table_relative_p): Do not check d->emitted_number.
* toplev.c (output_file_directive): Call remap_debug_filename.
* vmsdbgout.c (write_srccorr): Call remap_debug_filename.
* xcoffout.c (xcoffout_source_file): Call remap_debug_filename.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r127613
2007-08-18 17:15:39 +02:00
|
|
|
|
|
|
|
gcc_GAS_CHECK_FEATURE([--debug-prefix-map option],
|
|
|
|
gcc_cv_as_debug_prefix_map_flag,
|
2007-08-25 19:32:33 +02:00
|
|
|
[2,18,0], [--debug-prefix-map /a=/b], [$insn],,
|
Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New.
2007-08-18 Paul Brook <paul@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New.
(CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Include it.
* Makefile.in: Regenerate.
* configure.ac (--with-debug-prefix-map): New.
* configure: Regenerate.
config:
2007-08-18 Paul Brook <paul@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* mt-gnu (CXXFLAGS_FOR_TARGET): Add
$(DEBUG_PREFIX_CFLAGS_FOR_TARGET).
gcc:
2007-08-18 Paul Brook <paul@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* common.opt (-fdebug-prefix-map=): New option.
* opts.c: Include debug.h.
(common_handle_option): Handle -fdebug-prefix-map.
* final.c: Include ggc.h.
(struct debug_prefix_map, debug_prefix_maps, add_debug_prefix_map,
remap_debug_filename): New.
* Makefile.in (final.o, opts.o): Update dependencies.
* debug.h (remap_debug_filename, add_debug_prefix_map): Declare.
* configure.ac: Check for assembler --debug-prefix-map support.
* configure, config.in: Regenerate.
* gcc.c (ASM_MAP): Define conditional on HAVE_AS_DEBUG_PREFIX_MAP.
(ASM_DEBUG_SPEC): Include ASM_MAP.
* doc/install.texi (--with-debug-prefix-map): Document.
* doc/invoke.texi (-fdebug-prefix-map): Document.
* dbxout.c (dbxout_init, dbxout_start_source_file,
dbxout_source_file): Call remap_debug_filename.
* dwarf2out.c (add_comp_dir_attribute, maybe_emit_file,
dwarf2out_start_source_file, dwarf2out_finish): Call
remap_debug_filename.
(file_table_relative_p): Do not check d->emitted_number.
* toplev.c (output_file_directive): Call remap_debug_filename.
* vmsdbgout.c (write_srccorr): Call remap_debug_filename.
* xcoffout.c (xcoffout_source_file): Call remap_debug_filename.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r127613
2007-08-18 17:15:39 +02:00
|
|
|
[AC_DEFINE(HAVE_AS_DEBUG_PREFIX_MAP, 1,
|
|
|
|
[Define if your assembler supports the --debug-prefix-map option.])])
|
2000-11-18 00:53:38 +01:00
|
|
|
fi
|
2001-11-20 11:16:09 +01:00
|
|
|
|
2008-09-04 11:43:08 +02:00
|
|
|
gcc_GAS_CHECK_FEATURE([.lcomm with alignment], gcc_cv_as_lcomm_with_alignment,
|
|
|
|
,,
|
|
|
|
[.lcomm bar,4,16],,
|
|
|
|
[AC_DEFINE(HAVE_GAS_LCOMM_WITH_ALIGNMENT, 1,
|
|
|
|
[Define if your assembler supports .lcomm with an alignment field.])])
|
|
|
|
|
2007-03-13 08:19:14 +01:00
|
|
|
AC_CACHE_CHECK([assembler for tolerance to line number 0],
|
|
|
|
[gcc_cv_as_line_zero],
|
|
|
|
[gcc_cv_as_line_zero=no
|
|
|
|
if test $in_tree_gas = yes; then
|
2007-03-17 00:44:42 +01:00
|
|
|
gcc_GAS_VERSION_GTE_IFELSE(2, 16, 91, [gcc_cv_as_line_zero=yes])
|
2007-03-13 08:19:14 +01:00
|
|
|
elif test "x$gcc_cv_as" != x; then
|
|
|
|
{ echo '# 1 "test.s" 1'; echo '# 0 "" 2'; } > conftest.s
|
|
|
|
if AC_TRY_COMMAND([$gcc_cv_as -o conftest.o conftest.s >&AS_MESSAGE_LOG_FD 2>conftest.out]) &&
|
|
|
|
test "x`cat conftest.out`" = x
|
|
|
|
then
|
|
|
|
gcc_cv_as_line_zero=yes
|
|
|
|
else
|
|
|
|
echo "configure: failed program was" >&AS_MESSAGE_LOG_FD
|
|
|
|
cat conftest.s >&AS_MESSAGE_LOG_FD
|
|
|
|
echo "configure: error output was" >&AS_MESSAGE_LOG_FD
|
|
|
|
cat conftest.out >&AS_MESSAGE_LOG_FD
|
|
|
|
fi
|
|
|
|
rm -f conftest.o conftest.s conftest.out
|
|
|
|
fi])
|
|
|
|
if test "x$gcc_cv_as_line_zero" = xyes; then
|
|
|
|
AC_DEFINE([HAVE_AS_LINE_ZERO], 1,
|
|
|
|
[Define if the assembler won't complain about a line such as # 0 "" 2.])
|
|
|
|
fi
|
|
|
|
|
configure.in: Check for ld.
* configure.in: Check for ld.
(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
* configure, config.in: Rebuilt.
* config.gcc: Add crtbeginT.o to extra_parts where needed.
* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
frame unwinding on Linux.
* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
frame unwinding.
* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
iterate further if pc falls into current library, but fde was not
found.
* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
if using glibc.
(LINK_EH_SPEC): Define.
* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
* Makefile.in (crtbeginT.o): Add rule.
* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
If neither -static-libgcc nor -shared-libgcc is passed and -shared,
use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
If none of the above switches are passed, use -lgcc -lgcc_eh.
(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
creating libgcc_s.so, put them into separate libgcc_eh.a instead.
* unwind-dw2-fde.c: Don't include any headers if this file
is included from other .c file.
* unwind-dw2-fde-glibc.c: New file.
* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
Use it instead of EH_FRAME_SECTION_NAME where appropriate.
From-SVN: r48039
2001-12-15 12:49:18 +01:00
|
|
|
AC_MSG_CHECKING(linker PT_GNU_EH_FRAME support)
|
|
|
|
gcc_cv_ld_eh_frame_hdr=no
|
2003-03-04 08:41:00 +01:00
|
|
|
if test $in_tree_ld = yes ; then
|
2003-06-23 03:13:35 +02:00
|
|
|
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 \
|
|
|
|
&& test $in_tree_ld_is_elf = yes; then
|
configure.in: Check for ld.
* configure.in: Check for ld.
(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
* configure, config.in: Rebuilt.
* config.gcc: Add crtbeginT.o to extra_parts where needed.
* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
frame unwinding on Linux.
* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
frame unwinding.
* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
iterate further if pc falls into current library, but fde was not
found.
* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
if using glibc.
(LINK_EH_SPEC): Define.
* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
* Makefile.in (crtbeginT.o): Add rule.
* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
If neither -static-libgcc nor -shared-libgcc is passed and -shared,
use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
If none of the above switches are passed, use -lgcc -lgcc_eh.
(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
creating libgcc_s.so, put them into separate libgcc_eh.a instead.
* unwind-dw2-fde.c: Don't include any headers if this file
is included from other .c file.
* unwind-dw2-fde-glibc.c: New file.
* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
Use it instead of EH_FRAME_SECTION_NAME where appropriate.
From-SVN: r48039
2001-12-15 12:49:18 +01:00
|
|
|
gcc_cv_ld_eh_frame_hdr=yes
|
|
|
|
fi
|
|
|
|
elif test x$gcc_cv_ld != x; then
|
|
|
|
# Check if linker supports --eh-frame-hdr option
|
|
|
|
if $gcc_cv_ld --help 2>/dev/null | grep eh-frame-hdr > /dev/null; then
|
|
|
|
gcc_cv_ld_eh_frame_hdr=yes
|
|
|
|
fi
|
|
|
|
fi
|
2005-05-08 12:13:19 +02:00
|
|
|
GCC_TARGET_TEMPLATE([HAVE_LD_EH_FRAME_HDR])
|
configure.in: Check for ld.
* configure.in: Check for ld.
(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
* configure, config.in: Rebuilt.
* config.gcc: Add crtbeginT.o to extra_parts where needed.
* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
frame unwinding on Linux.
* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
frame unwinding.
* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
iterate further if pc falls into current library, but fde was not
found.
* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
if using glibc.
(LINK_EH_SPEC): Define.
* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
* Makefile.in (crtbeginT.o): Add rule.
* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
If neither -static-libgcc nor -shared-libgcc is passed and -shared,
use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
If none of the above switches are passed, use -lgcc -lgcc_eh.
(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
creating libgcc_s.so, put them into separate libgcc_eh.a instead.
* unwind-dw2-fde.c: Don't include any headers if this file
is included from other .c file.
* unwind-dw2-fde-glibc.c: New file.
* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
Use it instead of EH_FRAME_SECTION_NAME where appropriate.
From-SVN: r48039
2001-12-15 12:49:18 +01:00
|
|
|
if test x"$gcc_cv_ld_eh_frame_hdr" = xyes; then
|
|
|
|
AC_DEFINE(HAVE_LD_EH_FRAME_HDR, 1,
|
|
|
|
[Define if your linker supports --eh-frame-hdr option.])
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($gcc_cv_ld_eh_frame_hdr)
|
|
|
|
|
configure.in (HAVE_LD_PIE): Check for ld -pie.
* configure.in (HAVE_LD_PIE): Check for ld -pie.
* config.in: Rebuilt.
* configure: Rebuilt.
* toplev.c (flag_pie, flag_shlib): New variables.
(f_options): Add -fpie and -fPIE.
(parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
Set flag_shlib if flag_pic and not -fpie/-fPIE.
* flags.h (flag_pic, flag_shlib): Add.
* varasm.c (default_binds_local_p): Use flag_shlib instead of
flag_pic.
* gcc.c (LINK_PIE_SPEC): Define.
(LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
(option_map): Add --pie -> -pie mapping.
* config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
and -fPIE the same way as -fPIC.
* config/openbsd.h (ASM_SPEC): Likewise.
* config/frv/frv.h (ASM_SPEC): Likewise.
* config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
* config/arm/semi.h (ASM_SPEC): Likewise.
* config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
* config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
* config/i386/beos-elf.h (CC1_SPEC): Likewise.
* config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
* config/m68k/linux.h (CPP_SPEC): Likewise.
* config/m68k/netbsd.h (ASM_SPEC): Likewise.
* config/m68k/openbsd.h (ASM_SPEC): Likewise.
* config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
* config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
* config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
* config/pa/pa-linux.h (CPP_SPEC): Likewise.
* config/netbsd-aout.h (ASM_SPEC): Likewise.
* config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
* config/rs6000/vxworks.h (CPP_SPEC): Likewise.
* config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
* config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
* config/sparc/sparc.h (ASM_SPEC): Likewise.
* config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
* config/sparc/sysv4.h (ASM_SPEC): Likewise.
* config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
* config/sparc/openbsd64.h (ASM_SPEC): Likewise.
* config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
* config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
Simplify.
* config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* doc/invoke.texi: Document -pie, -fpie and -fPIE options.
From-SVN: r67359
2003-06-03 11:06:55 +02:00
|
|
|
AC_MSG_CHECKING(linker position independent executable support)
|
|
|
|
gcc_cv_ld_pie=no
|
|
|
|
if test $in_tree_ld = yes ; then
|
2003-06-23 03:13:35 +02:00
|
|
|
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 15 -o "$gcc_cv_gld_major_version" -gt 2 \
|
|
|
|
&& test $in_tree_ld_is_elf = yes; then
|
configure.in (HAVE_LD_PIE): Check for ld -pie.
* configure.in (HAVE_LD_PIE): Check for ld -pie.
* config.in: Rebuilt.
* configure: Rebuilt.
* toplev.c (flag_pie, flag_shlib): New variables.
(f_options): Add -fpie and -fPIE.
(parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
Set flag_shlib if flag_pic and not -fpie/-fPIE.
* flags.h (flag_pic, flag_shlib): Add.
* varasm.c (default_binds_local_p): Use flag_shlib instead of
flag_pic.
* gcc.c (LINK_PIE_SPEC): Define.
(LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
(option_map): Add --pie -> -pie mapping.
* config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
and -fPIE the same way as -fPIC.
* config/openbsd.h (ASM_SPEC): Likewise.
* config/frv/frv.h (ASM_SPEC): Likewise.
* config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
* config/arm/semi.h (ASM_SPEC): Likewise.
* config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
* config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
* config/i386/beos-elf.h (CC1_SPEC): Likewise.
* config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
* config/m68k/linux.h (CPP_SPEC): Likewise.
* config/m68k/netbsd.h (ASM_SPEC): Likewise.
* config/m68k/openbsd.h (ASM_SPEC): Likewise.
* config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
* config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
* config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
* config/pa/pa-linux.h (CPP_SPEC): Likewise.
* config/netbsd-aout.h (ASM_SPEC): Likewise.
* config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
* config/rs6000/vxworks.h (CPP_SPEC): Likewise.
* config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
* config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
* config/sparc/sparc.h (ASM_SPEC): Likewise.
* config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
* config/sparc/sysv4.h (ASM_SPEC): Likewise.
* config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
* config/sparc/openbsd64.h (ASM_SPEC): Likewise.
* config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
* config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
Simplify.
* config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* doc/invoke.texi: Document -pie, -fpie and -fPIE options.
From-SVN: r67359
2003-06-03 11:06:55 +02:00
|
|
|
gcc_cv_ld_pie=yes
|
|
|
|
fi
|
|
|
|
elif test x$gcc_cv_ld != x; then
|
|
|
|
# Check if linker supports -pie option
|
|
|
|
if $gcc_cv_ld --help 2>/dev/null | grep -- -pie > /dev/null; then
|
|
|
|
gcc_cv_ld_pie=yes
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if test x"$gcc_cv_ld_pie" = xyes; then
|
|
|
|
AC_DEFINE(HAVE_LD_PIE, 1,
|
|
|
|
[Define if your linker supports -pie option.])
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($gcc_cv_ld_pie)
|
|
|
|
|
2006-10-28 20:11:28 +02:00
|
|
|
AC_MSG_CHECKING(linker EH-compatible garbage collection of sections)
|
|
|
|
gcc_cv_ld_eh_gc_sections=no
|
|
|
|
if test $in_tree_ld = yes ; then
|
|
|
|
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 17 -o "$gcc_cv_gld_major_version" -gt 2 \
|
|
|
|
&& test $in_tree_ld_is_elf = yes; then
|
|
|
|
gcc_cv_ld_eh_gc_sections=yes
|
|
|
|
fi
|
|
|
|
elif test x$gcc_cv_as != x -a x$gcc_cv_ld != x -a x$gcc_cv_objdump != x ; then
|
|
|
|
cat > conftest.s <<EOF
|
|
|
|
.section .text
|
|
|
|
.globl _start
|
|
|
|
.type _start, @function
|
|
|
|
_start:
|
|
|
|
.long foo
|
|
|
|
.size _start, .-_start
|
|
|
|
.section .text.foo,"ax",@progbits
|
|
|
|
.type foo, @function
|
|
|
|
foo:
|
|
|
|
.long 0
|
|
|
|
.size foo, .-foo
|
|
|
|
.section .gcc_except_table.foo,"a",@progbits
|
|
|
|
.L0:
|
|
|
|
.long 0
|
|
|
|
.section .eh_frame,"a",@progbits
|
|
|
|
.long .L0
|
|
|
|
EOF
|
|
|
|
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
|
|
|
|
if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \
|
|
|
|
| grep "gc-sections option ignored" > /dev/null; then
|
|
|
|
gcc_cv_ld_eh_gc_sections=no
|
|
|
|
elif $gcc_cv_objdump -h conftest | grep gcc_except_table > /dev/null; then
|
|
|
|
gcc_cv_ld_eh_gc_sections=yes
|
2006-12-21 23:10:30 +01:00
|
|
|
# If no COMDAT groups, the compiler will emit .gnu.linkonce.t. sections.
|
|
|
|
if test x$gcc_cv_as_comdat_group != xyes; then
|
|
|
|
gcc_cv_ld_eh_gc_sections=no
|
|
|
|
cat > conftest.s <<EOF
|
|
|
|
.section .text
|
|
|
|
.globl _start
|
|
|
|
.type _start, @function
|
|
|
|
_start:
|
|
|
|
.long foo
|
|
|
|
.size _start, .-_start
|
|
|
|
.section .gnu.linkonce.t.foo,"ax",@progbits
|
|
|
|
.type foo, @function
|
|
|
|
foo:
|
|
|
|
.long 0
|
|
|
|
.size foo, .-foo
|
|
|
|
.section .gcc_except_table.foo,"a",@progbits
|
|
|
|
.L0:
|
|
|
|
.long 0
|
|
|
|
.section .eh_frame,"a",@progbits
|
|
|
|
.long .L0
|
|
|
|
EOF
|
|
|
|
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
|
|
|
|
if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \
|
|
|
|
| grep "gc-sections option ignored" > /dev/null; then
|
|
|
|
gcc_cv_ld_eh_gc_sections=no
|
|
|
|
elif $gcc_cv_objdump -h conftest | grep gcc_except_table > /dev/null; then
|
|
|
|
gcc_cv_ld_eh_gc_sections=yes
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
2006-10-28 20:11:28 +02:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
rm -f conftest.s conftest.o conftest
|
|
|
|
fi
|
2006-12-21 23:10:30 +01:00
|
|
|
case "$target" in
|
|
|
|
hppa*-*-linux*)
|
|
|
|
# ??? This apparently exposes a binutils bug with PC-relative relocations.
|
|
|
|
gcc_cv_ld_eh_gc_sections=no
|
|
|
|
;;
|
|
|
|
esac
|
2006-10-28 20:11:28 +02:00
|
|
|
if test x$gcc_cv_ld_eh_gc_sections = xyes; then
|
|
|
|
AC_DEFINE(HAVE_LD_EH_GC_SECTIONS, 1,
|
|
|
|
[Define if your linker supports garbage collection of
|
|
|
|
sections in presence of EH frames.])
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($gcc_cv_ld_eh_gc_sections)
|
|
|
|
|
2004-02-29 21:43:45 +01:00
|
|
|
# --------
|
|
|
|
# UNSORTED
|
|
|
|
# --------
|
|
|
|
|
2004-04-17 08:06:52 +02:00
|
|
|
AC_CACHE_CHECK(linker --as-needed support,
|
|
|
|
gcc_cv_ld_as_needed,
|
|
|
|
[gcc_cv_ld_as_needed=no
|
2004-04-01 18:45:34 +02:00
|
|
|
if test $in_tree_ld = yes ; then
|
|
|
|
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 \
|
|
|
|
&& test $in_tree_ld_is_elf = yes; then
|
|
|
|
gcc_cv_ld_as_needed=yes
|
|
|
|
fi
|
|
|
|
elif test x$gcc_cv_ld != x; then
|
|
|
|
# Check if linker supports --as-needed and --no-as-needed options
|
|
|
|
if $gcc_cv_ld --help 2>/dev/null | grep as-needed > /dev/null; then
|
|
|
|
gcc_cv_ld_as_needed=yes
|
|
|
|
fi
|
|
|
|
fi
|
2004-04-17 08:06:52 +02:00
|
|
|
])
|
2004-04-01 18:45:34 +02:00
|
|
|
if test x"$gcc_cv_ld_as_needed" = xyes; then
|
|
|
|
AC_DEFINE(HAVE_LD_AS_NEEDED, 1,
|
|
|
|
[Define if your linker supports --as-needed and --no-as-needed options.])
|
|
|
|
fi
|
|
|
|
|
2005-08-24 03:38:05 +02:00
|
|
|
case "$target:$tm_file" in
|
|
|
|
powerpc64*-*-linux* | powerpc*-*-linux*rs6000/biarch64.h*)
|
2004-08-21 03:40:00 +02:00
|
|
|
AC_CACHE_CHECK(linker support for omitting dot symbols,
|
|
|
|
gcc_cv_ld_no_dot_syms,
|
|
|
|
[gcc_cv_ld_no_dot_syms=no
|
|
|
|
if test $in_tree_ld = yes ; then
|
|
|
|
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2; then
|
|
|
|
gcc_cv_ld_no_dot_syms=yes
|
|
|
|
fi
|
|
|
|
elif test x$gcc_cv_as != x -a x$gcc_cv_ld != x ; then
|
|
|
|
cat > conftest1.s <<EOF
|
|
|
|
.text
|
|
|
|
bl .foo
|
|
|
|
EOF
|
|
|
|
cat > conftest2.s <<EOF
|
|
|
|
.section ".opd","aw"
|
|
|
|
.align 3
|
|
|
|
.globl foo
|
|
|
|
.type foo,@function
|
|
|
|
foo:
|
|
|
|
.quad .LEfoo,.TOC.@tocbase,0
|
|
|
|
.text
|
|
|
|
.LEfoo:
|
|
|
|
blr
|
|
|
|
.size foo,.-.LEfoo
|
|
|
|
EOF
|
|
|
|
if $gcc_cv_as -a64 -o conftest1.o conftest1.s > /dev/null 2>&1 \
|
|
|
|
&& $gcc_cv_as -a64 -o conftest2.o conftest2.s > /dev/null 2>&1 \
|
|
|
|
&& $gcc_cv_ld -melf64ppc -o conftest conftest1.o conftest2.o > /dev/null 2>&1; then
|
|
|
|
gcc_cv_ld_no_dot_syms=yes
|
|
|
|
fi
|
|
|
|
rm -f conftest conftest1.o conftest2.o conftest1.s conftest2.s
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
if test x"$gcc_cv_ld_no_dot_syms" = xyes; then
|
|
|
|
AC_DEFINE(HAVE_LD_NO_DOT_SYMS, 1,
|
|
|
|
[Define if your PowerPC64 linker only needs function descriptor syms.])
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2005-04-27 22:35:54 +02:00
|
|
|
AC_CACHE_CHECK(linker --sysroot support,
|
|
|
|
gcc_cv_ld_sysroot,
|
|
|
|
[gcc_cv_ld_sysroot=no
|
|
|
|
if test $in_tree_ld = yes ; then
|
|
|
|
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 ; then
|
2005-05-17 17:00:26 +02:00
|
|
|
gcc_cv_ld_sysroot=yes
|
2005-04-27 22:35:54 +02:00
|
|
|
fi
|
|
|
|
elif test x$gcc_cv_ld != x; then
|
|
|
|
if $gcc_cv_ld --help 2>/dev/null | grep sysroot > /dev/null; then
|
|
|
|
gcc_cv_ld_sysroot=yes
|
|
|
|
fi
|
|
|
|
fi])
|
|
|
|
if test x"$gcc_cv_ld_sysroot" = xyes; then
|
|
|
|
AC_DEFINE(HAVE_LD_SYSROOT, 1,
|
|
|
|
[Define if your linker supports --sysroot.])
|
|
|
|
fi
|
|
|
|
|
2003-02-14 18:28:55 +01:00
|
|
|
if test x$with_sysroot = x && test x$host = x$target \
|
2006-11-08 17:52:05 +01:00
|
|
|
&& test "$prefix" != "/usr" && test "x$prefix" != "x$local_prefix" \
|
|
|
|
&& test "$prefix" != "NONE"; then
|
2003-07-12 22:03:14 +02:00
|
|
|
AC_DEFINE_UNQUOTED(PREFIX_INCLUDE_DIR, "$prefix/include",
|
|
|
|
[Define to PREFIX/include if cpp should also search that directory.])
|
2001-09-29 20:22:05 +02:00
|
|
|
fi
|
|
|
|
|
Makefile.def (target_modules): Add libssp.
* Makefile.def (target_modules): Add libssp.
* configure.in (target_libraries): Add target-libssp.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
gcc/
* gcc.c (LINK_SSP_SPEC): Define.
(link_ssp_spec): New variable.
(LINK_COMMAND_SPEC): Add %(link_ssp).
(static_specs): Add link_ssp_spec.
* configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
* configure: Rebuilt.
* config.in: Rebuilt.
* config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
* config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
-0x7008(2) instead of reading __stack_chk_guard variable.
* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
number.
(UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
(stack_protect_set, stack_protect_test): Use *_tls* patterns
if TARGET_THREAD_SSP_OFFSET is defined.
(stack_tls_protect_set_si, stack_tls_protect_set_di,
stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
Revert:
2005-06-27 Richard Henderson <rth@redhat.com>
* libgcc-std.ver (GCC_4.1.0): New.
* libgcc.h (__stack_chk_guard): Declare.
(__stack_chk_fail, __stack_chk_fail_local): Declare.
* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
* mklibgcc.in (lib2funcs): Add them.
From-SVN: r101531
2005-07-02 10:52:21 +02:00
|
|
|
# Test for stack protector support in target C library.
|
2007-01-08 00:53:21 +01:00
|
|
|
AC_CACHE_CHECK(__stack_chk_fail in target C library,
|
Makefile.def (target_modules): Add libssp.
* Makefile.def (target_modules): Add libssp.
* configure.in (target_libraries): Add target-libssp.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
gcc/
* gcc.c (LINK_SSP_SPEC): Define.
(link_ssp_spec): New variable.
(LINK_COMMAND_SPEC): Add %(link_ssp).
(static_specs): Add link_ssp_spec.
* configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
* configure: Rebuilt.
* config.in: Rebuilt.
* config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
* config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
-0x7008(2) instead of reading __stack_chk_guard variable.
* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
number.
(UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
(stack_protect_set, stack_protect_test): Use *_tls* patterns
if TARGET_THREAD_SSP_OFFSET is defined.
(stack_tls_protect_set_si, stack_tls_protect_set_di,
stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
Revert:
2005-06-27 Richard Henderson <rth@redhat.com>
* libgcc-std.ver (GCC_4.1.0): New.
* libgcc.h (__stack_chk_guard): Declare.
(__stack_chk_fail, __stack_chk_fail_local): Declare.
* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
* mklibgcc.in (lib2funcs): Add them.
From-SVN: r101531
2005-07-02 10:52:21 +02:00
|
|
|
gcc_cv_libc_provides_ssp,
|
|
|
|
[gcc_cv_libc_provides_ssp=no
|
2007-01-08 00:53:21 +01:00
|
|
|
case "$target" in
|
2008-11-14 10:20:54 +01:00
|
|
|
*-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
|
Makefile.def (target_modules): Add libssp.
* Makefile.def (target_modules): Add libssp.
* configure.in (target_libraries): Add target-libssp.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
gcc/
* gcc.c (LINK_SSP_SPEC): Define.
(link_ssp_spec): New variable.
(LINK_COMMAND_SPEC): Add %(link_ssp).
(static_specs): Add link_ssp_spec.
* configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
* configure: Rebuilt.
* config.in: Rebuilt.
* config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
* config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
-0x7008(2) instead of reading __stack_chk_guard variable.
* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
number.
(UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
(stack_protect_set, stack_protect_test): Use *_tls* patterns
if TARGET_THREAD_SSP_OFFSET is defined.
(stack_tls_protect_set_si, stack_tls_protect_set_di,
stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
Revert:
2005-06-27 Richard Henderson <rth@redhat.com>
* libgcc-std.ver (GCC_4.1.0): New.
* libgcc.h (__stack_chk_guard): Declare.
(__stack_chk_fail, __stack_chk_fail_local): Declare.
* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
* mklibgcc.in (lib2funcs): Add them.
From-SVN: r101531
2005-07-02 10:52:21 +02:00
|
|
|
if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then
|
|
|
|
if test "x$with_sysroot" = x; then
|
|
|
|
glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-include"
|
2007-03-10 17:43:55 +01:00
|
|
|
elif test "x$with_build_sysroot" != "x"; then
|
|
|
|
glibc_header_dir="${with_build_sysroot}/usr/include"
|
Makefile.def (target_modules): Add libssp.
* Makefile.def (target_modules): Add libssp.
* configure.in (target_libraries): Add target-libssp.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
gcc/
* gcc.c (LINK_SSP_SPEC): Define.
(link_ssp_spec): New variable.
(LINK_COMMAND_SPEC): Add %(link_ssp).
(static_specs): Add link_ssp_spec.
* configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
* configure: Rebuilt.
* config.in: Rebuilt.
* config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
* config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
-0x7008(2) instead of reading __stack_chk_guard variable.
* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
number.
(UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
(stack_protect_set, stack_protect_test): Use *_tls* patterns
if TARGET_THREAD_SSP_OFFSET is defined.
(stack_tls_protect_set_si, stack_tls_protect_set_di,
stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
Revert:
2005-06-27 Richard Henderson <rth@redhat.com>
* libgcc-std.ver (GCC_4.1.0): New.
* libgcc.h (__stack_chk_guard): Declare.
(__stack_chk_fail, __stack_chk_fail_local): Declare.
* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
* mklibgcc.in (lib2funcs): Add them.
From-SVN: r101531
2005-07-02 10:52:21 +02:00
|
|
|
elif test "x$with_sysroot" = xyes; then
|
|
|
|
glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-root/usr/include"
|
|
|
|
else
|
|
|
|
glibc_header_dir="${with_sysroot}/usr/include"
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
glibc_header_dir=/usr/include
|
|
|
|
fi
|
|
|
|
# glibc 2.4 and later provides __stack_chk_fail and
|
|
|
|
# either __stack_chk_guard, or TLS access to stack guard canary.
|
|
|
|
if test -f $glibc_header_dir/features.h \
|
|
|
|
&& $EGREP '^@<:@ @:>@*#[ ]*define[ ]+__GNU_LIBRARY__[ ]+([1-9][0-9]|[6-9])' \
|
|
|
|
$glibc_header_dir/features.h > /dev/null; then
|
|
|
|
if $EGREP '^@<:@ @:>@*#[ ]*define[ ]+__GLIBC__[ ]+([1-9][0-9]|[3-9])' \
|
|
|
|
$glibc_header_dir/features.h > /dev/null; then
|
|
|
|
gcc_cv_libc_provides_ssp=yes
|
|
|
|
elif $EGREP '^@<:@ @:>@*#[ ]*define[ ]+__GLIBC__[ ]+2' \
|
|
|
|
$glibc_header_dir/features.h > /dev/null \
|
|
|
|
&& $EGREP '^@<:@ @:>@*#[ ]*define[ ]+__GLIBC_MINOR__[ ]+([1-9][0-9]|[4-9])' \
|
|
|
|
$glibc_header_dir/features.h > /dev/null; then
|
|
|
|
gcc_cv_libc_provides_ssp=yes
|
2008-01-27 17:43:07 +01:00
|
|
|
elif $EGREP '^@<:@ @:>@*#[ ]*define[ ]+__UCLIBC__[ ]+1' \
|
|
|
|
$glibc_header_dir/features.h > /dev/null && \
|
|
|
|
test -f $glibc_header_dir/bits/uClibc_config.h && \
|
|
|
|
$EGREP '^@<:@ @:>@*#[ ]*define[ ]+__UCLIBC_HAS_SSP__[ ]+1' \
|
|
|
|
$glibc_header_dir/bits/uClibc_config.h > /dev/null; then
|
|
|
|
gcc_cv_libc_provides_ssp=yes
|
Makefile.def (target_modules): Add libssp.
* Makefile.def (target_modules): Add libssp.
* configure.in (target_libraries): Add target-libssp.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
gcc/
* gcc.c (LINK_SSP_SPEC): Define.
(link_ssp_spec): New variable.
(LINK_COMMAND_SPEC): Add %(link_ssp).
(static_specs): Add link_ssp_spec.
* configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
* configure: Rebuilt.
* config.in: Rebuilt.
* config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
* config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
-0x7008(2) instead of reading __stack_chk_guard variable.
* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
number.
(UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
(stack_protect_set, stack_protect_test): Use *_tls* patterns
if TARGET_THREAD_SSP_OFFSET is defined.
(stack_tls_protect_set_si, stack_tls_protect_set_di,
stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
Revert:
2005-06-27 Richard Henderson <rth@redhat.com>
* libgcc-std.ver (GCC_4.1.0): New.
* libgcc.h (__stack_chk_guard): Declare.
(__stack_chk_fail, __stack_chk_fail_local): Declare.
* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
* mklibgcc.in (lib2funcs): Add them.
From-SVN: r101531
2005-07-02 10:52:21 +02:00
|
|
|
fi
|
2008-01-27 17:43:07 +01:00
|
|
|
fi
|
2007-01-08 00:53:21 +01:00
|
|
|
;;
|
2008-11-14 10:24:06 +01:00
|
|
|
*-*-gnu*)
|
|
|
|
# Avoid complicated tests (see
|
|
|
|
# <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
|
|
|
|
# simply assert that glibc does provide this, which is true for all
|
|
|
|
# realistically usable GNU/Hurd configurations.
|
|
|
|
gcc_cv_libc_provides_ssp=yes;;
|
2007-01-08 00:53:21 +01:00
|
|
|
*-*-darwin*)
|
|
|
|
AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes],
|
|
|
|
[echo "no __stack_chk_fail on this target"])
|
|
|
|
;;
|
Makefile.def (target_modules): Add libssp.
* Makefile.def (target_modules): Add libssp.
* configure.in (target_libraries): Add target-libssp.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
gcc/
* gcc.c (LINK_SSP_SPEC): Define.
(link_ssp_spec): New variable.
(LINK_COMMAND_SPEC): Add %(link_ssp).
(static_specs): Add link_ssp_spec.
* configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
* configure: Rebuilt.
* config.in: Rebuilt.
* config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
* config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
-0x7008(2) instead of reading __stack_chk_guard variable.
* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
number.
(UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
(stack_protect_set, stack_protect_test): Use *_tls* patterns
if TARGET_THREAD_SSP_OFFSET is defined.
(stack_tls_protect_set_si, stack_tls_protect_set_di,
stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
Revert:
2005-06-27 Richard Henderson <rth@redhat.com>
* libgcc-std.ver (GCC_4.1.0): New.
* libgcc.h (__stack_chk_guard): Declare.
(__stack_chk_fail, __stack_chk_fail_local): Declare.
* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
* mklibgcc.in (lib2funcs): Add them.
From-SVN: r101531
2005-07-02 10:52:21 +02:00
|
|
|
*) gcc_cv_libc_provides_ssp=no ;;
|
2007-01-08 00:53:21 +01:00
|
|
|
esac])
|
|
|
|
|
Makefile.def (target_modules): Add libssp.
* Makefile.def (target_modules): Add libssp.
* configure.in (target_libraries): Add target-libssp.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
gcc/
* gcc.c (LINK_SSP_SPEC): Define.
(link_ssp_spec): New variable.
(LINK_COMMAND_SPEC): Add %(link_ssp).
(static_specs): Add link_ssp_spec.
* configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
* configure: Rebuilt.
* config.in: Rebuilt.
* config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
* config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
* config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
-0x7008(2) instead of reading __stack_chk_guard variable.
* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
number.
(UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
(stack_protect_set, stack_protect_test): Use *_tls* patterns
if TARGET_THREAD_SSP_OFFSET is defined.
(stack_tls_protect_set_si, stack_tls_protect_set_di,
stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
Revert:
2005-06-27 Richard Henderson <rth@redhat.com>
* libgcc-std.ver (GCC_4.1.0): New.
* libgcc.h (__stack_chk_guard): Declare.
(__stack_chk_fail, __stack_chk_fail_local): Declare.
* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
* mklibgcc.in (lib2funcs): Add them.
From-SVN: r101531
2005-07-02 10:52:21 +02:00
|
|
|
if test x$gcc_cv_libc_provides_ssp = xyes; then
|
|
|
|
AC_DEFINE(TARGET_LIBC_PROVIDES_SSP, 1,
|
|
|
|
[Define if your target C library provides stack protector support])
|
|
|
|
fi
|
|
|
|
|
2006-02-23 09:58:22 +01:00
|
|
|
# Check if TFmode long double should be used by default or not.
|
|
|
|
# Some glibc targets used DFmode long double, but with glibc 2.4
|
|
|
|
# and later they can use TFmode.
|
|
|
|
case "$target" in
|
2007-04-19 14:11:07 +02:00
|
|
|
powerpc*-*-linux* | \
|
|
|
|
powerpc*-*-gnu* | \
|
2006-02-23 09:58:22 +01:00
|
|
|
sparc*-*-linux* | \
|
|
|
|
s390*-*-linux* | \
|
|
|
|
alpha*-*-linux*)
|
|
|
|
AC_ARG_WITH(long-double-128,
|
|
|
|
[ --with-long-double-128 Use 128-bit long double by default.],
|
|
|
|
gcc_cv_target_ldbl128="$with_long_double_128",
|
|
|
|
[gcc_cv_target_ldbl128=no
|
|
|
|
if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then
|
|
|
|
if test "x$with_sysroot" = x; then
|
|
|
|
glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-include"
|
2007-03-10 17:43:55 +01:00
|
|
|
elif test "x$with_build_sysroot" != "x"; then
|
|
|
|
glibc_header_dir="${with_build_sysroot}/usr/include"
|
2006-02-23 09:58:22 +01:00
|
|
|
elif test "x$with_sysroot" = xyes; then
|
|
|
|
glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-root/usr/include"
|
|
|
|
else
|
|
|
|
glibc_header_dir="${with_sysroot}/usr/include"
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
glibc_header_dir=/usr/include
|
|
|
|
fi
|
2006-11-13 23:38:21 +01:00
|
|
|
changequote(,)dnl
|
2006-02-23 09:58:22 +01:00
|
|
|
grep '^[ ]*#[ ]*define[ ][ ]*__LONG_DOUBLE_MATH_OPTIONAL' \
|
|
|
|
$glibc_header_dir/bits/wordsize.h > /dev/null 2>&1 \
|
2006-11-13 23:38:21 +01:00
|
|
|
&& gcc_cv_target_ldbl128=yes
|
|
|
|
changequote([,])dnl
|
|
|
|
])
|
2006-02-23 09:58:22 +01:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
if test x$gcc_cv_target_ldbl128 = xyes; then
|
|
|
|
AC_DEFINE(TARGET_DEFAULT_LONG_DOUBLE_128, 1,
|
|
|
|
[Define if TFmode long double should be the default])
|
|
|
|
fi
|
|
|
|
|
1999-10-07 10:15:19 +02:00
|
|
|
# Find out what GC implementation we want, or may, use.
|
|
|
|
AC_ARG_WITH(gc,
|
2004-01-17 22:03:57 +01:00
|
|
|
[ --with-gc={page,zone} choose the garbage collection mechanism to use
|
2001-06-11 17:01:40 +02:00
|
|
|
with the compiler],
|
1999-10-07 10:15:19 +02:00
|
|
|
[case "$withval" in
|
ggc-zone.c: Rewritten.
* ggc-zone.c: Rewritten.
* alloc-pool.c (dump_alloc_pool_statistics): Don't print statistics
if there are none.
* configure.ac: Define GGC_ZONE for --with-gc=zone.
* config.in: Regenerated.
* configure: Regenerated.
* gentype.c (write_types_process_field, write_func_for_structure):
Pass new argument to gt_pch_note_object.
* ggc-common.c (struct ptr_data): Add TYPE.
(gt_pch_note_object): Take TYPE argument and save it.
(call_count): Update call to ggc_pch_count_object.
(call_alloc): Update call to ggc_pch_alloc_object.
(gt_pch_save): Call ggc_pch_prepare_write after paddng the PCH
file.
* ggc-none.c (rtl_zone, garbage_zone, ggc_alloc_zone_stat): Delete.
* ggc-page.c (rtl_zone, tree_zone, garbage_zone)
(ggc_alloc_zone_stat): Delete.
(ggc_pch_count_object, ggc_pch_alloc_object): Add TYPE argument.
* ggc.h (gt_pch_note_object, ggc_pch_count_object)
(ggc_pch_alloc_object): Update prototypes.
(garbage_zone): Delete.
(tree_zone, rtl_zone, ggc_alloc_zone_stat, ggc_alloc_zone): Move to
GGC_ZONE conditional. Update. Change tree_zone and rtl_zone into
pointers.
(tree_id_zone): New variable.
(ggc_alloc_cleared_zone): Remove unused.
(ggc_alloc_zone): Define.
(ggc_alloc_rtvec, ggc_alloc_tree): Update to use ggc_alloc_zone.
* rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Use
ggc_alloc_zone_stat.
* stringpool.c (gt_pch_n_S): Update call to gt_pch_note_object.
* tree.c (copy_node_stat, make_tree_binfo_stat, make_tree_vec_stat)
(tree_cons_stat, build1_stat): Update call to ggc_alloc_zone_stat.
(make_node_stat): Likewise. Use tree_id_zone.
From-SVN: r96381
2005-03-13 19:09:55 +01:00
|
|
|
page)
|
1999-10-07 10:15:19 +02:00
|
|
|
GGC=ggc-$withval
|
|
|
|
;;
|
ggc-zone.c: Rewritten.
* ggc-zone.c: Rewritten.
* alloc-pool.c (dump_alloc_pool_statistics): Don't print statistics
if there are none.
* configure.ac: Define GGC_ZONE for --with-gc=zone.
* config.in: Regenerated.
* configure: Regenerated.
* gentype.c (write_types_process_field, write_func_for_structure):
Pass new argument to gt_pch_note_object.
* ggc-common.c (struct ptr_data): Add TYPE.
(gt_pch_note_object): Take TYPE argument and save it.
(call_count): Update call to ggc_pch_count_object.
(call_alloc): Update call to ggc_pch_alloc_object.
(gt_pch_save): Call ggc_pch_prepare_write after paddng the PCH
file.
* ggc-none.c (rtl_zone, garbage_zone, ggc_alloc_zone_stat): Delete.
* ggc-page.c (rtl_zone, tree_zone, garbage_zone)
(ggc_alloc_zone_stat): Delete.
(ggc_pch_count_object, ggc_pch_alloc_object): Add TYPE argument.
* ggc.h (gt_pch_note_object, ggc_pch_count_object)
(ggc_pch_alloc_object): Update prototypes.
(garbage_zone): Delete.
(tree_zone, rtl_zone, ggc_alloc_zone_stat, ggc_alloc_zone): Move to
GGC_ZONE conditional. Update. Change tree_zone and rtl_zone into
pointers.
(tree_id_zone): New variable.
(ggc_alloc_cleared_zone): Remove unused.
(ggc_alloc_zone): Define.
(ggc_alloc_rtvec, ggc_alloc_tree): Update to use ggc_alloc_zone.
* rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Use
ggc_alloc_zone_stat.
* stringpool.c (gt_pch_n_S): Update call to gt_pch_note_object.
* tree.c (copy_node_stat, make_tree_binfo_stat, make_tree_vec_stat)
(tree_cons_stat, build1_stat): Update call to ggc_alloc_zone_stat.
(make_node_stat): Likewise. Use tree_id_zone.
From-SVN: r96381
2005-03-13 19:09:55 +01:00
|
|
|
zone)
|
|
|
|
GGC=ggc-$withval
|
|
|
|
AC_DEFINE(GGC_ZONE, 1, [Define if the zone collector is in use])
|
|
|
|
;;
|
1999-10-07 10:15:19 +02:00
|
|
|
*)
|
|
|
|
AC_MSG_ERROR([$withval is an invalid option to --with-gc])
|
|
|
|
;;
|
|
|
|
esac],
|
2001-01-13 21:36:56 +01:00
|
|
|
[GGC=ggc-page])
|
1999-10-07 10:15:19 +02:00
|
|
|
AC_SUBST(GGC)
|
|
|
|
echo "Using $GGC for garbage collection."
|
|
|
|
|
2000-09-03 23:09:10 +02:00
|
|
|
# Use the system's zlib library.
|
configure.in: If not NO_MINUS_C_MINUS_O, substitute OUTPUT_OPTION with '-o $@'.
* configure.in: If not NO_MINUS_C_MINUS_O, substitute
OUTPUT_OPTION with '-o $@'. Make zlibdir, zlibinc relative to
top level. Kill oldstyle_subdirs. Do not include
$srcdir/$s/Makefile.in in all_lang_makefiles, but do include
$outputs. Do not run configure.lang from config.status.
Rearrange warning-flag logic to correspond to what the
makefile wants. Put special vax stage1 options in
@stage1_flags@ not @stage1_warn_cflags@. Don't do anything
with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
(--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
switch is given, nothing otherwise.
* configure.lang: Delete.
* Makefile.in: Expunge all traces of extra_c_objs,
extra_cxx_objs, and extra_cpp_objs. Set MAYBE_CPPLIB from
@maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS. Set
warning options via a three level scheme so that -pedantic and
-Wtraditional are not used for non-C front ends: LOOSE_WARN,
STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
WARN_CFLAGS. Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
Set OUTPUT_OPTION, ZLIB, ZLIBINC. Do not set P,
LANG_FLAGS_TO_PASS. Add OUTPUT_OPTION to all object-file
generation rules. Wrap all rules that change the current
directory in parentheses; pmake doesn't spawn a new shell for
each command. Expunge all references to $(P). When one
command depends on another and they're run all at once, use &&
to separate them, not ;. Add libgcc_s$(SHLIB_EXT) to files
deleted on make clean. Force OUTPUT_OPTION='-o $@' in stage2
and beyond.
* cp/Make-lang.in, f/Make-lang.in, java/Make-lang.in,
objc/Make-lang.in: Wrap all rules that change the current
directory in parentheses. Expunge all references to $(P).
When one command depends on another and they're run all at
once, use && to separate them, not ;. Add OUTPUT_OPTION to
all object-file generation rules. Delete obsolete variables.
Move all build rules here from the corresponding Makefile.in and
adapt to the new environment.
* cp/Makefile.in, f/Makefile.in, java/Makefile.in, objc/Makefile.in:
Delete.
* cp/config-lang.in, f/config-lang.in, java/config-lang.in:
Delete outputs= line.
From-SVN: r37088
2000-10-27 22:22:28 +02:00
|
|
|
zlibdir=-L../zlib
|
|
|
|
zlibinc="-I\$(srcdir)/../zlib"
|
2000-09-03 23:09:10 +02:00
|
|
|
AC_ARG_WITH(system-zlib,
|
|
|
|
[ --with-system-zlib use installed libz],
|
|
|
|
zlibdir=
|
|
|
|
zlibinc=
|
|
|
|
)
|
|
|
|
AC_SUBST(zlibdir)
|
|
|
|
AC_SUBST(zlibinc)
|
|
|
|
|
2000-05-31 19:46:30 +02:00
|
|
|
dnl Very limited version of automake's enable-maintainer-mode
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
|
|
|
dnl maintainer-mode is disabled by default
|
|
|
|
AC_ARG_ENABLE(maintainer-mode,
|
2001-06-11 17:01:40 +02:00
|
|
|
[ --enable-maintainer-mode
|
|
|
|
enable make rules and dependencies not useful
|
2000-05-31 19:46:30 +02:00
|
|
|
(and sometimes confusing) to the casual installer],
|
|
|
|
maintainer_mode=$enableval,
|
|
|
|
maintainer_mode=no)
|
|
|
|
|
|
|
|
AC_MSG_RESULT($maintainer_mode)
|
|
|
|
|
|
|
|
if test "$maintainer_mode" = "yes"; then
|
|
|
|
MAINT=''
|
|
|
|
else
|
|
|
|
MAINT='#'
|
|
|
|
fi
|
|
|
|
AC_SUBST(MAINT)dnl
|
|
|
|
|
2004-02-29 21:43:45 +01:00
|
|
|
# --------------
|
|
|
|
# Language hooks
|
|
|
|
# --------------
|
|
|
|
|
1997-07-19 04:27:38 +02:00
|
|
|
# Make empty files to contain the specs and options for each language.
|
|
|
|
# Then add #include lines to for a compiler that has specs and/or options.
|
|
|
|
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
subdirs=
|
2003-06-14 14:26:36 +02:00
|
|
|
lang_opt_files=
|
1997-07-19 04:27:38 +02:00
|
|
|
lang_specs_files=
|
1998-08-30 17:50:47 +02:00
|
|
|
lang_tree_files=
|
1997-07-19 04:27:38 +02:00
|
|
|
# These (without "all_") are set in each config-lang.in.
|
|
|
|
# `language' must be a single word so is spelled singularly.
|
|
|
|
all_languages=
|
|
|
|
all_compilers=
|
configure.ac: Do not generate libada-mk.
gcc:
2008-08-01 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Do not generate libada-mk. Do not subst
host_cc_for_libada.
* libada-mk.in: Remove.
* Makefile.in: Pass TARGET_LIBGCC2_CFLAGS to libgcc.mvars.
* configure: Regenerate.
libada:
2008-08-01 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (warn_cflags): Substitute.
* configure: Regenerate.
* Makefile.in (libdir, WARN_CFLAGS): Substitute.
(GCC_WARN_CFLAGS): Remove NOCOMMON_FLAG.
(ADA_CFLAGS, T_ADA_CFLAGS, X_ADA_CFLAGS, ALL_ADA_CFLAGS): Remove,
they were unused.
(libada-mk): Do not include. Include libgcc.mvars instead.
(tmake_file): Remove, do not include.
(FLAGS_TO_PASS): Pass dummy values for exeext and CC.
* configure: Regenerate.
gnattools:
2008-08-01 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (warn_cflags): Substitute.
* configure: Regenerate.
* Makefile.in (libdir, exeext, WARN_CFLAGS): Substitute.
(GCC_WARN_CFLAGS): Remove NOCOMMON_FLAG.
(ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Remove as they were unused.
(libsubdir): Remove.
(libada-mk): Do not include. Include libgcc.mvars instead.
(xmake_file): Remove, do not include.
From-SVN: r138479
2008-08-01 10:18:13 +02:00
|
|
|
all_outputs='Makefile gccbug'
|
1997-07-19 04:27:38 +02:00
|
|
|
# List of language makefile fragments.
|
2003-08-31 08:07:42 +02:00
|
|
|
all_lang_makefrags=
|
|
|
|
# List of language subdirectory makefiles. Deprecated.
|
1997-07-19 04:27:38 +02:00
|
|
|
all_lang_makefiles=
|
gengtype.c: Don't include gtyp-gen.h.
* gengtype.c: Don't include gtyp-gen.h.
(srcdir): Declare here.
(base_files, lang_dir_names): Allocate dynamically.
(gt_files, num_gt_files, num_lang_dirs): New globals.
(measure_input_list, read_input_line, read_input_list)
(set_lang_bitmap): New functions.
(get_base_file_bitmap): Rename get_lang_bitmap and drastically
simplify, relying on read_input_list to set up the bitmaps.
(main): Arguments are no longer unused. Check for correct number
of command line arguments, set srcdir and srcdir_len, then call
read_input_list, before doing anything else. No need to worry
about duplicates in main loop.
* configure.ac: Simplify the calculation of all_gtfiles.
Put language tags in there. Don't set or substitute
all_gtfiles_files_langs or all_gtfiles_files_frags.
* Makefile.in: Revamp the way gengtype is invoked, now that it
takes a file on its command line with a much simpler format.
Remove or replace with gtyp-input.list all references to gtyp-gen.h.
(GTFILES): Remove duplicates and C source files.
* c-config-lang.in, cp/config-lang.in, objc/config-lang.in
* objcp/config-lang.in: Add c-pragma.h to gtfiles.
* configure: Regenerate.
From-SVN: r123234
2007-03-26 23:07:27 +02:00
|
|
|
# Additional files for gengtype
|
2002-07-27 22:54:52 +02:00
|
|
|
all_gtfiles="$target_gtfiles"
|
1997-07-19 04:27:38 +02:00
|
|
|
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
# These are the languages that are set in --enable-languages,
|
|
|
|
# and are available in the GCC tree.
|
|
|
|
all_selected_languages=
|
|
|
|
|
1997-07-19 04:27:38 +02:00
|
|
|
# Add the language fragments.
|
|
|
|
# Languages are added via two mechanisms. Some information must be
|
|
|
|
# recorded in makefile variables, these are defined in config-lang.in.
|
|
|
|
# We accumulate them and plug them into the main Makefile.
|
|
|
|
# The other mechanism is a set of hooks for each of the main targets
|
|
|
|
# like `clean', `install', etc.
|
|
|
|
|
|
|
|
language_hooks="Make-hooks"
|
|
|
|
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
for lang in ${srcdir}/*/config-lang.in
|
1997-07-19 04:27:38 +02:00
|
|
|
do
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
changequote(,)dnl
|
2006-07-03 09:58:08 +02:00
|
|
|
test "$lang" = "${srcdir}/*/config-lang.in" && continue
|
|
|
|
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
|
|
|
|
if test "x$lang_alias" = x
|
|
|
|
then
|
|
|
|
echo "$lang doesn't set \$language." 1>&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
subdir="`echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
|
|
|
|
subdirs="$subdirs $subdir"
|
2008-05-14 15:20:43 +02:00
|
|
|
|
|
|
|
# $gcc_subdir is where the gcc integration files are to be found
|
|
|
|
# for a language, both for internal compiler purposes (compiler
|
|
|
|
# sources implementing front-end to GCC tree converters), and for
|
|
|
|
# build infrastructure purposes (Make-lang.in, etc.)
|
|
|
|
#
|
|
|
|
# This will be <subdir> (relative to $srcdir) if a line like
|
|
|
|
# gcc_subdir="<subdir>" or gcc_subdir=<subdir>
|
|
|
|
# is found in <langdir>/config-lang.in, and will remain <langdir>
|
|
|
|
# otherwise.
|
|
|
|
#
|
|
|
|
# Except for the language alias (fetched above), the regular
|
|
|
|
# "config-lang.in" contents are always retrieved from $gcc_subdir,
|
|
|
|
# so a <langdir>/config-lang.in setting gcc_subdir typically sets
|
|
|
|
# only this and the language alias.
|
|
|
|
|
|
|
|
gcc_subdir=`sed -n -e 's,^gcc_subdir=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^gcc_subdir=\([^ ]*\).*$,\1,p' $lang`
|
|
|
|
if [ "$gcc_subdir" = "" ]; then
|
|
|
|
gcc_subdir="$subdir"
|
|
|
|
fi
|
|
|
|
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
case ",$enable_languages," in
|
|
|
|
*,$lang_alias,*)
|
|
|
|
all_selected_languages="$all_selected_languages $lang_alias"
|
2008-05-14 15:20:43 +02:00
|
|
|
if test -f $srcdir/$gcc_subdir/lang-specs.h; then
|
|
|
|
lang_specs_files="$lang_specs_files $srcdir/$gcc_subdir/lang-specs.h"
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
changequote([,])dnl
|
|
|
|
|
|
|
|
language=
|
|
|
|
boot_language=
|
|
|
|
compilers=
|
|
|
|
outputs=
|
|
|
|
gtfiles=
|
2006-07-03 09:58:08 +02:00
|
|
|
subdir_requires=
|
2008-05-14 15:20:43 +02:00
|
|
|
. ${srcdir}/$gcc_subdir/config-lang.in
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
if test "x$language" = x
|
|
|
|
then
|
2008-05-14 15:20:43 +02:00
|
|
|
echo "${srcdir}/$gcc_subdir/config-lang.in doesn't set \$language." 1>&2
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
exit 1
|
|
|
|
fi
|
2006-07-03 09:58:08 +02:00
|
|
|
|
|
|
|
ok=:
|
|
|
|
case ",$enable_languages," in
|
|
|
|
*,$lang_alias,*) ;;
|
|
|
|
*)
|
|
|
|
for i in $subdir_requires; do
|
2006-07-03 11:25:46 +02:00
|
|
|
test -f "${srcdir}/$i/config-lang.in" && continue
|
2006-07-03 09:58:08 +02:00
|
|
|
ok=false
|
|
|
|
break
|
|
|
|
done
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
$ok || continue
|
|
|
|
|
2008-05-14 15:20:43 +02:00
|
|
|
all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$gcc_subdir/Make-lang.in"
|
|
|
|
if test -f $srcdir/$gcc_subdir/lang.opt; then
|
|
|
|
lang_opt_files="$lang_opt_files $srcdir/$gcc_subdir/lang.opt"
|
2006-07-03 09:58:08 +02:00
|
|
|
fi
|
2008-05-14 15:20:43 +02:00
|
|
|
if test -f $srcdir/$gcc_subdir/$subdir-tree.def; then
|
|
|
|
lang_tree_files="$lang_tree_files $srcdir/$gcc_subdir/$subdir-tree.def"
|
2006-07-03 09:58:08 +02:00
|
|
|
fi
|
2008-05-14 15:20:43 +02:00
|
|
|
if test -f ${srcdir}/$gcc_subdir/Makefile.in
|
|
|
|
then all_lang_makefiles="$gcc_subdir/Makefile"
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
fi
|
|
|
|
all_languages="$all_languages $language"
|
|
|
|
all_compilers="$all_compilers $compilers"
|
|
|
|
all_outputs="$all_outputs $outputs"
|
gengtype.c: Don't include gtyp-gen.h.
* gengtype.c: Don't include gtyp-gen.h.
(srcdir): Declare here.
(base_files, lang_dir_names): Allocate dynamically.
(gt_files, num_gt_files, num_lang_dirs): New globals.
(measure_input_list, read_input_line, read_input_list)
(set_lang_bitmap): New functions.
(get_base_file_bitmap): Rename get_lang_bitmap and drastically
simplify, relying on read_input_list to set up the bitmaps.
(main): Arguments are no longer unused. Check for correct number
of command line arguments, set srcdir and srcdir_len, then call
read_input_list, before doing anything else. No need to worry
about duplicates in main loop.
* configure.ac: Simplify the calculation of all_gtfiles.
Put language tags in there. Don't set or substitute
all_gtfiles_files_langs or all_gtfiles_files_frags.
* Makefile.in: Revamp the way gengtype is invoked, now that it
takes a file on its command line with a much simpler format.
Remove or replace with gtyp-input.list all references to gtyp-gen.h.
(GTFILES): Remove duplicates and C source files.
* c-config-lang.in, cp/config-lang.in, objc/config-lang.in
* objcp/config-lang.in: Add c-pragma.h to gtfiles.
* configure: Regenerate.
From-SVN: r123234
2007-03-26 23:07:27 +02:00
|
|
|
all_gtfiles="$all_gtfiles [[$subdir]] $gtfiles"
|
1997-07-19 04:27:38 +02:00
|
|
|
done
|
|
|
|
|
2002-07-14 03:59:15 +02:00
|
|
|
# Pick up gtfiles for c
|
|
|
|
gtfiles=
|
|
|
|
. ${srcdir}/c-config-lang.in
|
gengtype.c: Don't include gtyp-gen.h.
* gengtype.c: Don't include gtyp-gen.h.
(srcdir): Declare here.
(base_files, lang_dir_names): Allocate dynamically.
(gt_files, num_gt_files, num_lang_dirs): New globals.
(measure_input_list, read_input_line, read_input_list)
(set_lang_bitmap): New functions.
(get_base_file_bitmap): Rename get_lang_bitmap and drastically
simplify, relying on read_input_list to set up the bitmaps.
(main): Arguments are no longer unused. Check for correct number
of command line arguments, set srcdir and srcdir_len, then call
read_input_list, before doing anything else. No need to worry
about duplicates in main loop.
* configure.ac: Simplify the calculation of all_gtfiles.
Put language tags in there. Don't set or substitute
all_gtfiles_files_langs or all_gtfiles_files_frags.
* Makefile.in: Revamp the way gengtype is invoked, now that it
takes a file on its command line with a much simpler format.
Remove or replace with gtyp-input.list all references to gtyp-gen.h.
(GTFILES): Remove duplicates and C source files.
* c-config-lang.in, cp/config-lang.in, objc/config-lang.in
* objcp/config-lang.in: Add c-pragma.h to gtfiles.
* configure: Regenerate.
From-SVN: r123234
2007-03-26 23:07:27 +02:00
|
|
|
all_gtfiles="$all_gtfiles [[c]] $gtfiles"
|
2002-07-14 03:59:15 +02:00
|
|
|
|
2001-02-14 02:13:42 +01:00
|
|
|
check_languages=
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
for language in $all_selected_languages
|
2001-02-14 02:13:42 +01:00
|
|
|
do
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
check_languages="$check_languages check-$language"
|
2001-02-14 02:13:42 +01:00
|
|
|
done
|
|
|
|
|
2003-10-06 09:56:16 +02:00
|
|
|
# We link each language in with a set of hooks, reached indirectly via
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
# lang.${target}. Only do so for selected languages.
|
1997-07-19 04:27:38 +02:00
|
|
|
|
|
|
|
rm -f Make-hooks
|
|
|
|
touch Make-hooks
|
2005-12-07 12:40:30 +01:00
|
|
|
target_list="all.cross start.encap rest.encap tags \
|
2007-03-02 01:23:20 +01:00
|
|
|
install-common install-man install-info install-pdf dvi pdf \
|
|
|
|
html uninstall info man srcextra srcman srcinfo \
|
configure.ac (strict1_warn): Rename to strict_warn.
2007-01-11 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (strict1_warn): Rename to strict_warn.
(WERROR, --enable-werror, symlink hacks, stage1_cflags,
cc_set_by_configure, quoted_cc_set_by_configure,
stage_prefix_set_by_configure, quoted_stage_prefix_set_by_configure,
all_boot_languages, all_stagestuff): Remove.
(target_list): Remove bootstrap targets.
* Makefile.in (quickstrap): Unconditionally make a synonym of all.
(BOOT_LANGUAGES, STAGE1_CFLAGS, STAGE1_CHECKING,
REMAKEFLAGS, FLAGS_TO_PASS, PREPEND_DOTDOT_TO_RELATIVE_PATHS,
SUBDIR_FLAGS_TO_PASS, WERROR_FLAGS, STRICT2_WARN, LANG_STAGESTUFF,
VOL_FILES, POSTSTAGE1_FLAGS_TO_PASS, STAGE2_FLAGS_TO_PASS,
STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS, stage1_build,
stage1_copy, stage2_build, stage2_copy, stageprofile_build,
stageprofile_copy, stage3_build, stage3_copy, stagefeedback_build,
stagefeedback_copy, stage4_build, clean_s1, clean_sw, bootstrap,
bootstrap-lean, bootstrap2, bootstrap2-lean, bootstrap3,
bootstrap3-lean, bootstrap4, bootstrap4-lean, unstage1, unstage2,
unstage3, unstage4, unstageprofile, unstagefeedback, restage, restage2,
restage3, restage4, restageprofile, restagefeedback, bubbleestrap,
cleanstrap, unstrap, restrap, *compare, *compare3, *compare4,
*compare-lean, *compare3-lean, *compare4-lean, stage1-start, stage1,
stage2-start, stage2, stage3-start, stage3, stage4-start, stage4,
stageprofile-start, stageprofile, stagefeedback-start, stagefeedback,
risky-stage1, risky-stage2, risky-stage3, risky-stage4): Remove.
(ORDINARY_FLAGS_TO_PASS): Rename to FLAGS_TO_PASS.
(STAGECOPYSTUFF, STAGEMOVESTUFF): Consolidate into MOSTLYCLEANFILES.
(mostlyclean): Adjust.
(clean, distclean): Don't mention bootstrap stuff.
* configure: Regenerate.
* ada/config-lang.in, cp/config-lang.in, forttran/config-lang.in,
java/config-lang.in, objc/config-lang.in, objcp/config-lang.in,
treelang/config-lang.in (stagestuff): Remove.
* doc/sourcebuild.texi (stage1, stage2, stage3, stage4,
stageprofile, stagefeedback, stagestuff): Remove mention.
From-SVN: r120670
2007-01-11 11:49:30 +01:00
|
|
|
mostlyclean clean distclean maintainer-clean"
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
|
1997-07-19 04:27:38 +02:00
|
|
|
for t in $target_list
|
|
|
|
do
|
|
|
|
x=
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
for lang in $all_selected_languages
|
1997-07-19 04:27:38 +02:00
|
|
|
do
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
x="$x $lang.$t"
|
1997-07-19 04:27:38 +02:00
|
|
|
done
|
|
|
|
echo "lang.$t: $x" >> Make-hooks
|
|
|
|
done
|
|
|
|
|
2004-02-29 21:43:45 +01:00
|
|
|
# --------
|
|
|
|
# UNSORTED
|
|
|
|
# --------
|
|
|
|
|
2001-02-16 12:12:46 +01:00
|
|
|
# Create .gdbinit.
|
1997-08-02 22:10:47 +02:00
|
|
|
|
2001-02-16 12:12:46 +01:00
|
|
|
echo "dir ." > .gdbinit
|
|
|
|
echo "dir ${srcdir}" >> .gdbinit
|
|
|
|
if test x$gdb_needs_out_file_path = xyes
|
|
|
|
then
|
|
|
|
echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
|
|
|
|
fi
|
|
|
|
if test "x$subdirs" != x; then
|
|
|
|
for s in $subdirs
|
|
|
|
do
|
|
|
|
echo "dir ${srcdir}/$s" >> .gdbinit
|
|
|
|
done
|
1997-08-02 22:10:47 +02:00
|
|
|
fi
|
2001-02-16 12:12:46 +01:00
|
|
|
echo "source ${srcdir}/gdbinit.in" >> .gdbinit
|
1997-08-02 22:10:47 +02:00
|
|
|
|
2007-07-02 21:20:33 +02:00
|
|
|
gcc_tooldir='$(libsubdir)/$(libsubdir_to_prefix)$(target_noncanonical)'
|
1999-01-22 08:17:21 +01:00
|
|
|
AC_SUBST(gcc_tooldir)
|
1999-03-02 10:29:26 +01:00
|
|
|
AC_SUBST(dollar)
|
1999-01-22 08:17:21 +01:00
|
|
|
|
2001-01-07 10:27:25 +01:00
|
|
|
# Find a directory in which to install a shared libgcc.
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(version-specific-runtime-libs,
|
2001-06-11 17:01:40 +02:00
|
|
|
[ --enable-version-specific-runtime-libs
|
|
|
|
specify that runtime libraries should be
|
|
|
|
installed in a compiler-specific directory])
|
2001-01-07 10:27:25 +01:00
|
|
|
|
2001-01-07 22:48:30 +01:00
|
|
|
AC_ARG_WITH(slibdir,
|
2006-06-06 12:15:12 +02:00
|
|
|
[ --with-slibdir=DIR shared libraries in DIR [[LIBDIR]]],
|
2001-01-07 22:48:30 +01:00
|
|
|
slibdir="$with_slibdir",
|
|
|
|
if test "${enable_version_specific_runtime_libs+set}" = set; then
|
2001-01-07 10:27:25 +01:00
|
|
|
slibdir='$(libsubdir)'
|
2001-01-07 22:48:30 +01:00
|
|
|
elif test "$host" != "$target"; then
|
2001-01-07 10:27:25 +01:00
|
|
|
slibdir='$(build_tooldir)/lib'
|
|
|
|
else
|
2001-01-07 22:48:30 +01:00
|
|
|
slibdir='$(libdir)'
|
|
|
|
fi)
|
2001-01-07 10:27:25 +01:00
|
|
|
AC_SUBST(slibdir)
|
|
|
|
|
2006-06-06 12:15:12 +02:00
|
|
|
AC_ARG_WITH(datarootdir,
|
|
|
|
[ --with-datarootdir=DIR Use DIR as the data root [[PREFIX/share]]],
|
|
|
|
datarootdir="\${prefix}/$with_datarootdir",
|
|
|
|
datarootdir='$(prefix)/share')
|
|
|
|
AC_SUBST(datarootdir)
|
|
|
|
|
|
|
|
AC_ARG_WITH(docdir,
|
|
|
|
[ --with-docdir=DIR Install documentation in DIR [[DATAROOTDIR]]],
|
|
|
|
docdir="\${prefix}/$with_docdir",
|
|
|
|
docdir='$(datarootdir)')
|
|
|
|
AC_SUBST(docdir)
|
|
|
|
|
|
|
|
AC_ARG_WITH(htmldir,
|
|
|
|
[ --with-htmldir=DIR html documentation in in DIR [[DOCDIR]]],
|
|
|
|
htmldir="\${prefix}/$with_htmldir",
|
|
|
|
htmldir='$(docdir)')
|
|
|
|
AC_SUBST(htmldir)
|
|
|
|
|
1997-05-18 14:31:53 +02:00
|
|
|
# Substitute configuration variables
|
|
|
|
AC_SUBST(subdirs)
|
2002-07-14 03:59:15 +02:00
|
|
|
AC_SUBST(srcdir)
|
1997-05-18 14:31:53 +02:00
|
|
|
AC_SUBST(all_compilers)
|
2002-06-04 09:11:05 +02:00
|
|
|
AC_SUBST(all_gtfiles)
|
2003-08-31 08:07:42 +02:00
|
|
|
AC_SUBST(all_lang_makefrags)
|
1999-03-11 09:53:13 +01:00
|
|
|
AC_SUBST(all_lang_makefiles)
|
|
|
|
AC_SUBST(all_languages)
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
AC_SUBST(all_selected_languages)
|
1999-03-11 09:53:13 +01:00
|
|
|
AC_SUBST(build_exeext)
|
|
|
|
AC_SUBST(build_install_headers_dir)
|
|
|
|
AC_SUBST(build_xm_file_list)
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
AC_SUBST(build_xm_include_list)
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
AC_SUBST(build_xm_defines)
|
2008-02-19 20:38:52 +01:00
|
|
|
AC_SUBST(build_file_translate)
|
2001-02-14 02:13:42 +01:00
|
|
|
AC_SUBST(check_languages)
|
1999-03-11 09:53:13 +01:00
|
|
|
AC_SUBST(cpp_install_dir)
|
2003-08-31 08:07:42 +02:00
|
|
|
AC_SUBST(xmake_file)
|
|
|
|
AC_SUBST(tmake_file)
|
2004-02-25 22:43:26 +01:00
|
|
|
AC_SUBST(extra_gcc_objs)
|
1999-03-11 09:53:13 +01:00
|
|
|
AC_SUBST(extra_headers_list)
|
1997-05-18 14:31:53 +02:00
|
|
|
AC_SUBST(extra_objs)
|
1999-03-11 09:53:13 +01:00
|
|
|
AC_SUBST(extra_parts)
|
|
|
|
AC_SUBST(extra_passes)
|
|
|
|
AC_SUBST(extra_programs)
|
|
|
|
AC_SUBST(float_h_file)
|
2000-11-13 14:39:36 +01:00
|
|
|
AC_SUBST(gcc_config_arguments)
|
1999-03-11 09:53:13 +01:00
|
|
|
AC_SUBST(gcc_gxx_include_dir)
|
|
|
|
AC_SUBST(host_exeext)
|
1997-05-18 14:31:53 +02:00
|
|
|
AC_SUBST(host_xm_file_list)
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
AC_SUBST(host_xm_include_list)
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
AC_SUBST(host_xm_defines)
|
2003-02-06 02:47:56 +01:00
|
|
|
AC_SUBST(out_host_hook_obj)
|
1999-03-11 09:53:13 +01:00
|
|
|
AC_SUBST(install)
|
2003-06-14 14:26:36 +02:00
|
|
|
AC_SUBST(lang_opt_files)
|
1999-03-11 09:53:13 +01:00
|
|
|
AC_SUBST(lang_specs_files)
|
1998-08-30 17:50:47 +02:00
|
|
|
AC_SUBST(lang_tree_files)
|
1997-05-18 14:31:53 +02:00
|
|
|
AC_SUBST(local_prefix)
|
1999-03-11 09:53:13 +01:00
|
|
|
AC_SUBST(md_file)
|
|
|
|
AC_SUBST(objc_boehm_gc)
|
|
|
|
AC_SUBST(out_file)
|
|
|
|
AC_SUBST(out_object_file)
|
|
|
|
AC_SUBST(thread_file)
|
|
|
|
AC_SUBST(tm_file_list)
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
AC_SUBST(tm_include_list)
|
2002-06-15 19:31:32 +02:00
|
|
|
AC_SUBST(tm_defines)
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
AC_SUBST(tm_p_file_list)
|
Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
(tm_p_file): Rename tm_p_include_list.
(build_xm_file): Rename build_xm_include_list.
(host_xm_file): Rename host_xm_include_list.
(xm_file): Rename xm_include_list.
(xm_file_list): Add to be substituted.
(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
Update to match.
(bt-load.o): Add missing dependency on $(TM_H).
* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
For each of tm_file, tm_p_file, xm_file, host_xm_file, and
build_xm_file, generate both *_file_list and *_include_list
values from it. (xm_file_list was formerly not being generated.)
In *_include_list, prefix the names of all headers found in
$(srcdir)/config with config/. In each loop, consider only
the special case files that can actually appear in that list.
AC_SUBST all *_file_list and all *_include_list variables; do
not AC_SUBST the plain *_file variables.
* configure: Regenerate.
From-SVN: r70449
2003-08-14 22:25:14 +02:00
|
|
|
AC_SUBST(tm_p_include_list)
|
|
|
|
AC_SUBST(xm_file_list)
|
|
|
|
AC_SUBST(xm_include_list)
|
2001-03-11 22:19:11 +01:00
|
|
|
AC_SUBST(xm_defines)
|
re PR c/448 (<stdint.h>-related issues (C99 issues))
PR c/448
fixincludes:
* inclhack.def (newlib_stdint_1, newlib_stdint_2): New fixes.
* fixincl.x: Regenerate.
* tests/base/stdint.h: Update.
gcc:
* Makefile.in (USE_GCC_STDINT): Define.
(stmp-int-hdrs): Install stdint.h if applicable.
* c-common.c (CHAR16_TYPE): Define in terms of UINT_LEAST16_TYPE
if known.
(CHAR32_TYPE): Define in terms of UINT_LEAST32_TYPE if known.
(SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE, INT32_TYPE, INT64_TYPE,
UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE,
INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.
(c_common_nodes_and_builtins): Initialize
underlying_wchar_type_node. Do not initialize
signed_wchar_type_node or unsigned_wchar_type_node. Initialize
nodes for new types.
(c_stddef_cpp_builtins): Define macros for new types.
* c-common.h (CTI_SIGNED_WCHAR_TYPE, CTI_UNSIGNED_WCHAR_TYPE):
Remove.
(CTI_UNDERLYING_WCHAR_TYPE, CTI_SIG_ATOMIC_TYPE, CTI_INT8_TYPE,
CTI_INT16_TYPE, CTI_INT32_TYPE, CTI_INT64_TYPE, CTI_UINT8_TYPE,
CTI_UINT16_TYPE, CTI_UINT32_TYPE, CTI_UINT64_TYPE,
CTI_INT_LEAST8_TYPE, CTI_INT_LEAST16_TYPE, CTI_INT_LEAST32_TYPE,
CTI_INT_LEAST64_TYPE, CTI_UINT_LEAST8_TYPE, CTI_UINT_LEAST16_TYPE,
CTI_UINT_LEAST32_TYPE, CTI_UINT_LEAST64_TYPE, CTI_INT_FAST8_TYPE,
CTI_INT_FAST16_TYPE, CTI_INT_FAST32_TYPE, CTI_INT_FAST64_TYPE,
CTI_UINT_FAST8_TYPE, CTI_UINT_FAST16_TYPE, CTI_UINT_FAST32_TYPE,
CTI_UINT_FAST64_TYPE, CTI_INTPTR_TYPE, CTI_UINTPTR_TYPE): Define.
(signed_wchar_type_node, unsigned_wchar_type_node): Remove.
(underlying_wchar_type_node, sig_atomic_type_node, int8_type_node,
int16_type_node, int32_type_node, int64_type_node,
uint8_type_node, uint16_type_node, c_uint32_type_node,
c_uint64_type_node, int_least8_type_node, int_least16_type_node,
int_least32_type_node, int_least64_type_node,
uint_least8_type_node, uint_least16_type_node,
uint_least32_type_node, uint_least64_type_node,
int_fast8_type_node, int_fast16_type_node, int_fast32_type_node,
int_fast64_type_node, uint_fast8_type_node, uint_fast16_type_node,
uint_fast32_type_node, uint_fast64_type_node, intptr_type_node,
uintptr_type_node): Define.
* c-cppbuiltin.c (builtin_define_constants,
builtin_define_type_minmax): New.
(builtin_define_stdint_macros): Define more macros.
(c_cpp_builtins): Define more limit macros.
(type_suffix): New.
(builtin_define_type_max): Define in terms of
builtin_define_type_minmax. Remove is_long parameter. All
callers changed.
* config.gcc (use_gcc_stdint): Define.
(tm_file): Add glibc-stdint.h for targets using glibc or uClibc.
Add newlib-stdint.h for generic targets.
* config/glibc-stdint.h, config/newlib-stdint.h,
ginclude/stdint-gcc.h, ginclude/stdint-wrap.h: New.
* config/m32c/m32c.h (UINTPTR_TYPE): Define.
* config/score/score.h (UINTPTR_TYPE): Define.
* config/sol2.h (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE,
INT32_TYPE, INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE,
UINT64_TYPE, INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.
* config/spu/spu.h (STDINT_LONG32): Define.
* configure.ac (use_gcc_stdint): Substitute.
* configure: Regenerate.
* doc/cpp.texi (__SIG_ATOMIC_TYPE__, __INT8_TYPE__,
__INT16_TYPE__, __INT32_TYPE__, __INT64_TYPE__, __UINT8_TYPE__,
__UINT16_TYPE__, __UINT32_TYPE__, __UINT64_TYPE__,
__INT_LEAST8_TYPE__, __INT_LEAST16_TYPE__, __INT_LEAST32_TYPE__,
__INT_LEAST64_TYPE__, __UINT_LEAST8_TYPE__, __UINT_LEAST16_TYPE__,
__UINT_LEAST32_TYPE_, __UINT_LEAST64_TYPE__, __INT_FAST8_TYPE__,
__INT_FAST16_TYPE__, __INT_FAST32_TYPE__, __INT_FAST64_TYPE__,
__UINT_FAST8_TYPE__, __UINT_FAST16_TYPE__, __UINT_FAST32_TYPE__,
__UINT_FAST64_TYPE__, __INTPTR_TYPE__, __UINTPTR_TYPE__,
__WINT_MAX__, __SIZE_MAX__, __PTRDIFF_MAX__, __UINTMAX_MAX__,
__SIG_ATOMIC_MAX__, __INT8_MAX__, __INT16_MAX__, __INT32_MAX__,
__INT64_MAX__, __UINT8_MAX__, __UINT16_MAX__, __UINT32_MAX__,
__UINT64_MAX__, __INT_LEAST8_MAX__, __INT_LEAST16_MAX__,
__INT_LEAST32_MAX__, __INT_LEAST64_MAX__, __UINT_LEAST8_MAX__,
__UINT_LEAST16_MAX__, __UINT_LEAST32_MAX__, __UINT_LEAST64_MAX__,
__INT_FAST8_MAX__, __INT_FAST16_MAX__, __INT_FAST32_MAX__,
__INT_FAST64_MAX__, __UINT_FAST8_MAX__, __UINT_FAST16_MAX__,
__UINT_FAST32_MAX__, __UINT_FAST64_MAX__, __INTPTR_MAX__,
__UINTPTR_MAX__, __WCHAR_MIN__, __WINT_MIN__, __SIG_ATOMIC_MIN__,
__INT8_C, __INT16_C, __INT32_C, __INT64_C, __UINT8_C, __UINT16_C,
__UINT32_C, __UINT64_C, __INTMAX_C, __UINTMAX_C): Document.
* doc/tm.texi (SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE, INT32_TYPE,
INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE,
INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE,
UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE,
INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE,
UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Document.
gcc/testsuite:
* lib/target-supports.exp (check_effective_target_stdint_types):
Update comment.
(check_effective_target_inttypes_types): New.
* gcc.dg/c99-stdint-1.c, gcc.dg/c99-stdint-2.c,
gcc.dg/c99-stdint-3.c, gcc.dg/c99-stdint-4.c,
gcc.dg/c99-stdint-5.c, gcc.dg/c99-stdint-6.c: New tests.
From-SVN: r145372
2009-03-31 22:30:31 +02:00
|
|
|
AC_SUBST(use_gcc_stdint)
|
2000-11-25 01:33:04 +01:00
|
|
|
AC_SUBST(c_target_objs)
|
|
|
|
AC_SUBST(cxx_target_objs)
|
2008-05-29 20:21:35 +02:00
|
|
|
AC_SUBST(fortran_target_objs)
|
configure.in: Prune nonexistent files from build_xm_file, xm_file, and host_xm_file lists.
* configure.in: Prune nonexistent files from build_xm_file,
xm_file, and host_xm_file lists. Warn unless they're
$cpu/xm-$cpu.h.
Don't generate *config.h here.
AC_SUBST all variables needed to generate *config.h.
* configure: Regenerate.
* mkconfig.sh: New helper script, from code removed from
configure.in.
* Makefile.in: Zap all MALLOC variables - no longer used
anywhere, and malloc.c doesn't exist.
Substitute in variables needed to generate *config.h.
Stop lying about the dependencies contained in CONFIG_H and
GCONFIG_H.
(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
$(TM_P_H), etc. as appropriate.
* config.gcc: Zap references to deleted files.
* ggc-none.c: Don't include rtl.h or tm_p.h.
* config/i386/xm-beos.h, config/i386/xm-dgux.h,
config/i386/xm-djgpp.h, config/i386/xm-dos.h,
config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
config/i386/xm-linux.h, config/i386/xm-linux.h,
config/i386/xm-next.h, config/i386/xm-openbsd.h,
config/i386/xm-sun.h, config/i386/xm-sysv3.h:
Don't include i386/xm-i386.h.
* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
config/i386/xm-i386.h, config/i860/xm-i860.h,
config/i960/xm-i960.h, config/mcore/xm-mcore.h,
config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
Delete (empty except comments, #includes of other deleted
files, and macros used nowhere).
cp:
* Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
From-SVN: r40350
2001-03-09 21:53:56 +01:00
|
|
|
AC_SUBST(target_cpu_default)
|
1997-05-18 14:31:53 +02:00
|
|
|
|
|
|
|
AC_SUBST_FILE(language_hooks)
|
|
|
|
|
2003-10-15 00:10:20 +02:00
|
|
|
# Echo link setup.
|
|
|
|
if test x${build} = x${host} ; then
|
|
|
|
if test x${host} = x${target} ; then
|
|
|
|
echo "Links are now set up to build a native compiler for ${target}." 1>&2
|
|
|
|
else
|
|
|
|
echo "Links are now set up to build a cross-compiler" 1>&2
|
|
|
|
echo " from ${host} to ${target}." 1>&2
|
|
|
|
fi
|
1997-05-18 14:31:53 +02:00
|
|
|
else
|
2003-10-15 00:10:20 +02:00
|
|
|
if test x${host} = x${target} ; then
|
|
|
|
echo "Links are now set up to build (on ${build}) a native compiler" 1>&2
|
|
|
|
echo " for ${target}." 1>&2
|
|
|
|
else
|
|
|
|
echo "Links are now set up to build (on ${build}) a cross-compiler" 1>&2
|
|
|
|
echo " from ${host} to ${target}." 1>&2
|
|
|
|
fi
|
1997-05-18 14:31:53 +02:00
|
|
|
fi
|
|
|
|
|
2004-05-13 08:41:07 +02:00
|
|
|
AC_ARG_VAR(GMPLIBS,[How to link GMP])
|
|
|
|
AC_ARG_VAR(GMPINC,[How to find GMP include files])
|
|
|
|
|
backport: configure: Regenerate.
2008-09-02 Sebastian Pop <sebastian.pop@amd.com>
Tobias Grosser <grosser@fim.uni-passau.de>
Jan Sjodin <jan.sjodin@amd.com>
Harsha Jagasia <harsha.jagasia@amd.com>
Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
Konrad Trifunovic <konrad.trifunovic@inria.fr>
Adrien Eliche <aeliche@isty.uvsq.fr>
Merge from graphite branch.
* configure: Regenerate.
* Makefile.in: Regenerate.
* configure.ac (host_libs): Add ppl and cloog.
Add checks for PPL and CLooG.
* Makefile.def (ppl, cloog): Added modules and dependences.
* Makefile.tpl (PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC): New.
(HOST_PPLLIBS, HOST_PPLINC, HOST_CLOOGLIBS, HOST_CLOOGINC): New.
gcc/
* graphite.c: New.
* graphite.h: New.
* tree-loop-linear.c (perfect_loop_nest_depth): Export.
* doc/invoke.texi (-floop-block, -floop-interchange,
-floop-strip-mine): Document new flags.
* tree-into-ssa.c (gimple_vec): Moved...
* tree-loop-distribution.c (rdg_component): Moved...
* cfgloopmanip.c: Include tree-flow.h.
(update_dominators_in_loop): New.
(create_empty_if_region_on_edge): New.
(create_empty_loop_on_edge): New.
(loopify): Use update_dominators_in_loop.
* tree-pass.h (pass_graphite_transforms): Declared.
* configure: Regenerate.
* tree-phinodes.c (make_phi_node): Export.
(add_phi_node_to_bb): New, split from create_phi_node.
* tree-chrec.c (for_each_scev_op): New.
* tree-chrec.h (for_each_scev_op): Declared.
* tree-ssa-loop-ivopts.c (get_phi_with_result): New.
(remove_statement): Call get_phi_with_result.
* config.in (HAVE_cloog): Undef.
* gdbinit.in (pgg): New.
* timevar.def (TV_GRAPHITE_TRANSFORMS): New.
* tree-ssa-loop.c (graphite_transforms): New.
(gate_graphite_transforms): New.
(pass_graphite_transforms): New.
* configure.ac (PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC,
HAVE_cloog): Defined.
* tree-vectorizer.c (rename_variables_in_bb): Export.
* tree-data-ref.c (dr_may_alias_p): Export.
(stmt_simple_memref_p): New.
(find_data_references_in_stmt): Export.
(find_data_references_in_loop): Export.
(create_rdg_edge_for_ddr): Initialize RDGE_RELATION.
(create_rdg_edges_for_scalar): Initialize RDGE_RELATION.
(create_rdg_vertices): Export.
(build_empty_rdg): New.
(build_rdg): Call build_empty_rdg. Free dependence_relations.
* tree-data-ref.h (rdg_component): ... here.
(scop_p): New.
(struct data_reference): Add a field scop.
(DR_SCOP): New.
(find_data_references_in_loop): Declared.
(find_data_references_in_stmt): Declared.
(create_rdg_vertices): Declared.
(dr_may_alias_p): Declared.
(stmt_simple_memref_p): Declared.
(struct rdg_edge): Add a field ddr_p relation.
(build_empty_rdg): Declared.
* lambda.h (lambda_matrix): Declare a VEC of.
(find_induction_var_from_exit_cond): Declared.
(lambda_vector_compare): New.
* common.opt (fgraphite, floop-strip-mine,
floop-interchange, floop-block): New flags.
* lambda-code.c (find_induction_var_from_exit_cond): Export.
* cfgloop.c (is_loop_exit): New.
* cfgloop.h (is_loop_exit): Declared.
(create_empty_if_region_on_edge): Declared.
(create_empty_loop_on_edge): Declared.
* tree-flow.h (add_phi_node_to_bb): Declared.
(make_phi_node): Declared.
(rename_variables_in_bb): Declared.
(perfect_loop_nest_depth): Declared.
(graphite_transform_loops): Declared.
* Makefile.in (cfgloopmanip.o): Depend on TREE_FLOW_H.
(graphite.o-warn): Add -Wno-error.
(PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC): Declared.
(LIBS): Add GMPLIBS, CLOOGLIBS, PPLLIBS.
(INCLUDES): Add PPLINC, CLOOGINC.
(OBJS-common): Add graphite.o.
(graphite.o): Add rule.
* gimple.h (gimple_vec): ... here.
* tree-cfg.c (print_loops): Start printing at ENTRY_BLOCK_PTR.
* passes.c (init_optimization_passes): Schedule
pass_graphite_transforms.
testsuite/
* gcc.dg/graphite/scop-{0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18}.c: New.
* gcc.dg/graphite/graphite.exp: New.
* gcc.dg/graphite/scop-matmult.c: New.
* gcc.dg/graphite/block-0.c: New.
* lib/target-supports.exp (check_effective_target_fgraphite): New.
* gfortran.dg/graphite/block-1.f90: New.
* gfortran.dg/graphite/scop-{1,2}.f: New.
* gfortran.dg/graphite/block-{1,3,4}.f90: New.
* gfortran.dg/graphite/graphite.exp: New.
Co-Authored-By: Adrien Eliche <aeliche@isty.uvsq.fr>
Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
Co-Authored-By: Harsha Jagasia <harsha.jagasia@amd.com>
Co-Authored-By: Jan Sjodin <jan.sjodin@amd.com>
Co-Authored-By: Konrad Trifunovic <konrad.trifunovic@inria.fr>
Co-Authored-By: Tobias Grosser <grosser@fim.uni-passau.de>
From-SVN: r139893
2008-09-02 18:31:04 +02:00
|
|
|
AC_ARG_VAR(PPLLIBS,[How to link PPL])
|
|
|
|
AC_ARG_VAR(PPLINC,[How to find PPL include files])
|
|
|
|
|
|
|
|
AC_ARG_VAR(CLOOGLIBS,[How to link CLOOG])
|
|
|
|
AC_ARG_VAR(CLOOGINC,[How to find CLOOG include files])
|
|
|
|
if test "x${CLOOGLIBS}" != "x" ; then
|
|
|
|
AC_DEFINE(HAVE_cloog, 1, [Define if cloog is in use.])
|
|
|
|
fi
|
|
|
|
|
1997-05-18 14:31:53 +02:00
|
|
|
# Configure the subdirectories
|
|
|
|
# AC_CONFIG_SUBDIRS($subdirs)
|
|
|
|
|
|
|
|
# Create the Makefile
|
1997-06-09 22:48:13 +02:00
|
|
|
# and configure language subdirectories
|
2004-01-03 20:04:34 +01:00
|
|
|
AC_CONFIG_FILES($all_outputs)
|
|
|
|
|
|
|
|
AC_CONFIG_COMMANDS([default],
|
1997-07-19 04:51:45 +02:00
|
|
|
[
|
2003-12-04 21:09:13 +01:00
|
|
|
case ${CONFIG_HEADERS} in
|
|
|
|
*auto-host.h:config.in*)
|
|
|
|
echo > cstamp-h ;;
|
1997-07-19 04:51:45 +02:00
|
|
|
esac
|
2003-08-31 08:07:42 +02:00
|
|
|
# Make sure all the subdirs exist.
|
2004-09-22 13:21:21 +02:00
|
|
|
for d in $subdirs doc build
|
2003-08-31 08:07:42 +02:00
|
|
|
do
|
|
|
|
test -d $d || mkdir $d
|
|
|
|
done
|
2002-01-08 20:03:20 +01:00
|
|
|
],
|
2004-10-12 10:22:31 +02:00
|
|
|
[subdirs='$subdirs'])
|
2004-01-03 20:04:34 +01:00
|
|
|
AC_OUTPUT
|