summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-05-29 15:58:15 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-05-29 15:58:15 +0000
commitacf89cab13c1826d83dce1c7ae8ea805bc034bda (patch)
treea1f1fcdf3c48daf47cf314eafb313c85890bcaf4 /config
parentd5531c88ee963bee9fbd5e90daab6424840a9058 (diff)
downloadbinutils-acf89cab13c1826d83dce1c7ae8ea805bc034bda.tar.gz
binutils-acf89cab13c1826d83dce1c7ae8ea805bc034bda.tar.bz2
binutils-acf89cab13c1826d83dce1c7ae8ea805bc034bda.zip
Resync config/ from GCC.
Diffstat (limited to 'config')
-rw-r--r--config/ChangeLog53
-rw-r--r--config/asmcfi.m415
-rw-r--r--config/math.m450
-rw-r--r--config/mh-darwin4
-rw-r--r--config/mh-interix2
-rw-r--r--config/mh-ppc-aix2
-rw-r--r--config/mmap.m497
-rw-r--r--config/mt-alphaieee1
-rw-r--r--config/mt-sde2
-rw-r--r--config/picflag.m45
-rw-r--r--config/stdint.m42
-rw-r--r--config/tcl.m46
-rw-r--r--config/weakref.m447
13 files changed, 273 insertions, 13 deletions
diff --git a/config/ChangeLog b/config/ChangeLog
index 1087ad8ca91..42fcfce998c 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,38 @@
+2012-05-29 Joseph Myers <joseph@codesourcery.com>
+
+ * mt-sde: Fix typos.
+ * stdint.m4: Fix typos.
+ * tcl.m4: Fix typos.
+
+2012-04-03 Tristan Gingold <gingold@adacore.com>
+
+ * mmap.m4: Use *vms* instead of vms*.
+
+2012-04-02 Tristan Gingold <gingold@adacore.com>
+
+ * math.m4 (GCC_CHECK_MATH_FUNC): Remove if-present
+ argument. Define the variable.
+
+2012-03-26 Tristan Gingold <gingold@adacore.com>
+
+ * math.m4: New file.
+
+2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * weakref.m4 (GCC_CHECK_ELF_STYLE_WEAKREF): Remove
+ alpha*-dec-osf*.
+
+2012-01-22 Douglas B Rupp <rupp@gnat.com>
+
+ * config/mh-interix: Remove as unneeded.
+ * config/picflag.m4 (i[[34567]]86-*-interix3*):
+ Change triplet to i[[34567]]86-*-interix[[3-9]]*.
+
+2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR bootstrap/51734
+ * picflag.m4: Remove s390 case statement.
+
2011-12-20 Andreas Schwab <schwab@linux-m68k.org>
* warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in
@@ -5,6 +40,7 @@
2011-12-19 Andreas Schwab <schwab@linux-m68k.org>
+ PR bootstrap/51388
* warnings.m4 (ACX_PROG_CC_WARNING_OPTS)
(ACX_PROG_CC_WARNING_ALMOST_PEDANTIC): Run the test without the
no- prefix.
@@ -13,6 +49,14 @@
* acx.m4 (Test for GNAT): Update comment and add quotes in final test.
+2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
+
+ * weakref.m4: New file.
+
+2011-11-09 Richard Henderson <rth@redhat.com>
+
+ * asmcfi.m4: New file.
+
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* mh-interix (LIBGCC2_DEBUG_CFLAGS): Remove.
@@ -25,6 +69,15 @@
* elf.m4 (target_elf): Remove *-netware*.
+2011-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * mt-alphaieee (GOCFLAGS_FOR_TARGET): Add -mieee.
+
+2011-06-15 Mike Stump <mikestump@comcast.net>
+
+ PR target/49461
+ * mh-darwin: Turn off -pie on darwin11 and later.
+
2011-04-20 Eric Botcazou <ebotcazou@adacore.com>
* bootstrap-lto.mk: Remove obsolete requirement.
diff --git a/config/asmcfi.m4 b/config/asmcfi.m4
new file mode 100644
index 00000000000..a725aa11de4
--- /dev/null
+++ b/config/asmcfi.m4
@@ -0,0 +1,15 @@
+;; Cribbed from libffi
+
+AC_DEFUN([GCC_AS_CFI_PSEUDO_OP],
+[AC_CACHE_CHECK([assembler .cfi pseudo-op support],
+ gcc_cv_as_cfi_pseudo_op, [
+ gcc_cv_as_cfi_pseudo_op=unknown
+ AC_TRY_COMPILE([asm (".cfi_startproc\n\t.cfi_endproc");],,
+ [gcc_cv_as_cfi_pseudo_op=yes],
+ [gcc_cv_as_cfi_pseudo_op=no])
+ ])
+ if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
+ AC_DEFINE(HAVE_AS_CFI_PSEUDO_OP, 1,
+ [Define if your assembler supports .cfi_* directives.])
+ fi
+])
diff --git a/config/math.m4 b/config/math.m4
new file mode 100644
index 00000000000..23835f230cb
--- /dev/null
+++ b/config/math.m4
@@ -0,0 +1,50 @@
+dnl GCC_CHECK_LIBM
+dnl
+dnl Check whether -lm is available. This is a pre-requisite for
+dnl GCC_CHECK_MATH_FUNC so that it will link with -lm.
+AC_DEFUN([GCC_CHECK_LIBM],
+[AC_CHECK_LIB([m],[sin])])
+
+dnl GCC_CHECK_MATH_HEADERS
+dnl
+dnl Check for math.h and complex.h. This is a pre-requisite for
+dnl GCC_CHECK_MATH_FUNC so that it includes the right headers.
+dnl (Some systems, such as AIX or OpenVMS may define macro for math
+dnl functions).
+AC_DEFUN([GCC_CHECK_MATH_HEADERS],
+[AC_CHECK_HEADERS_ONCE(math.h complex.h)])
+
+dnl GCC_CHECK_MATH_FUNC([name])
+dnl
+dnl Check whether math function NAME is available on the system (by compiling
+dnl and linking a C program) and run define HAVE_name on success.
+dnl
+dnl Note that OpenVMS system insists on including complex.h before math.h
+AC_DEFUN([GCC_CHECK_MATH_FUNC],
+[
+ AC_REQUIRE([GCC_CHECK_LIBM])
+ AC_REQUIRE([GCC_CHECK_MATH_HEADERS])
+ AC_CACHE_CHECK([for $1], [gcc_cv_math_func_$1],
+ [AC_LINK_IFELSE([
+#ifdef HAVE_COMPLEX_H
+#include <complex.h>
+#endif
+#ifdef HAVE_MATH_H
+#include <math.h>
+#endif
+
+int (*ptr)() = (int (*)())$1;
+
+int
+main ()
+{
+ return 0;
+}
+],
+[gcc_cv_math_func_$1=yes],
+[gcc_cv_math_func_$1=no])])
+ if test $gcc_cv_math_func_$1 = yes; then
+ AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$1),[1],
+ [Define to 1 if you have the `$1' function.])
+ fi
+])
diff --git a/config/mh-darwin b/config/mh-darwin
index 66f68b664a9..19bf26568b5 100644
--- a/config/mh-darwin
+++ b/config/mh-darwin
@@ -1,5 +1,7 @@
# The -mdynamic-no-pic ensures that the compiler executable is built without
# position-independent-code -- the usual default on Darwin. This fix speeds
# compiles by 3-5%.
-
BOOT_CFLAGS += -mdynamic-no-pic
+
+# Ensure we don't try and use -pie, as it is incompatible with pch.
+BOOT_LDFLAGS += `case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
diff --git a/config/mh-interix b/config/mh-interix
deleted file mode 100644
index 3be195b51ec..00000000000
--- a/config/mh-interix
+++ /dev/null
@@ -1,2 +0,0 @@
-# The shell may not be in /bin.
-SHELL = sh
diff --git a/config/mh-ppc-aix b/config/mh-ppc-aix
index 4a97d817298..a866f7fef81 100644
--- a/config/mh-ppc-aix
+++ b/config/mh-ppc-aix
@@ -5,4 +5,4 @@
# don't do it any more.
BOOT_ADAFLAGS = -gnatapg
BOOT_LDFLAGS = -Wl,-bbigtoc
-LDFLAGS = `case $(CC) in *gcc*) echo -Wl,-bbigtoc ;; esac;`
+LDFLAGS = `case '$(CC)' in *gcc*) echo -Wl,-bbigtoc ;; esac;`
diff --git a/config/mmap.m4 b/config/mmap.m4
new file mode 100644
index 00000000000..fba0d9d3657
--- /dev/null
+++ b/config/mmap.m4
@@ -0,0 +1,97 @@
+dnl ----------------------------------------------------------------------
+dnl This whole bit snagged from gcc
+
+dnl
+dnl mmap(2) blacklisting. Some platforms provide the mmap library routine
+dnl but don't support all of the features we need from it.
+dnl
+AC_DEFUN([GCC_AC_FUNC_MMAP_BLACKLIST],
+[
+AC_CHECK_HEADER([sys/mman.h],
+ [gcc_header_sys_mman_h=yes], [gcc_header_sys_mman_h=no])
+AC_CHECK_FUNC([mmap], [gcc_func_mmap=yes], [gcc_func_mmap=no])
+if test "$gcc_header_sys_mman_h" != yes \
+ || test "$gcc_func_mmap" != yes; then
+ gcc_cv_func_mmap_file=no
+ gcc_cv_func_mmap_dev_zero=no
+ gcc_cv_func_mmap_anon=no
+else
+ AC_CACHE_CHECK([whether read-only mmap of a plain file works],
+ gcc_cv_func_mmap_file,
+ [# Add a system to this blacklist if
+ # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
+ # memory area containing the same data that you'd get if you applied
+ # read() to the same fd. The only system known to have a problem here
+ # is VMS, where text files have record structure.
+ case "$host_os" in
+ *vms* | ultrix*)
+ gcc_cv_func_mmap_file=no ;;
+ *)
+ gcc_cv_func_mmap_file=yes;;
+ esac])
+ AC_CACHE_CHECK([whether mmap from /dev/zero works],
+ gcc_cv_func_mmap_dev_zero,
+ [# Add a system to this blacklist if it has mmap() but /dev/zero
+ # does not exist, or if mmapping /dev/zero does not give anonymous
+ # zeroed pages with both the following properties:
+ # 1. If you map N consecutive pages in with one call, and then
+ # unmap any subset of those pages, the pages that were not
+ # explicitly unmapped remain accessible.
+ # 2. If you map two adjacent blocks of memory and then unmap them
+ # both at once, they must both go away.
+ # Systems known to be in this category are Windows (all variants),
+ # VMS, and Darwin.
+ case "$host_os" in
+ *vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
+ gcc_cv_func_mmap_dev_zero=no ;;
+ *)
+ gcc_cv_func_mmap_dev_zero=yes;;
+ esac])
+
+ # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
+ AC_CACHE_CHECK([for MAP_ANON(YMOUS)], gcc_cv_decl_map_anon,
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+[#include <sys/types.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+],
+[int n = MAP_ANONYMOUS;])],
+ gcc_cv_decl_map_anon=yes,
+ gcc_cv_decl_map_anon=no)])
+
+ if test $gcc_cv_decl_map_anon = no; then
+ gcc_cv_func_mmap_anon=no
+ else
+ AC_CACHE_CHECK([whether mmap with MAP_ANON(YMOUS) works],
+ gcc_cv_func_mmap_anon,
+ [# Add a system to this blacklist if it has mmap() and MAP_ANON or
+ # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
+ # doesn't give anonymous zeroed pages with the same properties listed
+ # above for use of /dev/zero.
+ # Systems known to be in this category are Windows, VMS, and SCO Unix.
+ case "$host_os" in
+ *vms* | cygwin* | pe | mingw* | sco* | udk* )
+ gcc_cv_func_mmap_anon=no ;;
+ *)
+ gcc_cv_func_mmap_anon=yes;;
+ esac])
+ fi
+fi
+
+if test $gcc_cv_func_mmap_file = yes; then
+ AC_DEFINE(HAVE_MMAP_FILE, 1,
+ [Define if read-only mmap of a plain file works.])
+fi
+if test $gcc_cv_func_mmap_dev_zero = yes; then
+ AC_DEFINE(HAVE_MMAP_DEV_ZERO, 1,
+ [Define if mmap of /dev/zero works.])
+fi
+if test $gcc_cv_func_mmap_anon = yes; then
+ AC_DEFINE(HAVE_MMAP_ANON, 1,
+ [Define if mmap with MAP_ANON(YMOUS) works.])
+fi
+])
diff --git a/config/mt-alphaieee b/config/mt-alphaieee
index 9c205314ad5..80c17cdc6ab 100644
--- a/config/mt-alphaieee
+++ b/config/mt-alphaieee
@@ -1,2 +1,3 @@
CFLAGS_FOR_TARGET += -mieee
CXXFLAGS_FOR_TARGET += -mieee
+GOCFLAGS_FOR_TARGET += -mieee
diff --git a/config/mt-sde b/config/mt-sde
index cb204203db8..d6992e41540 100644
--- a/config/mt-sde
+++ b/config/mt-sde
@@ -5,6 +5,6 @@
# as they have the D-to-I redirect for PC-relative loads. -mno-gpopt
# has two purposes: it allows libraries to be used in situations where
# $gp != our _gp, and it allows them to be built with -G8 while
-# retaining link compability with -G0 and -G4.
+# retaining link compatibility with -G0 and -G4.
CFLAGS_FOR_TARGET += -Os -minterlink-mips16 -mcode-xonly -mno-gpopt
CXXFLAGS_FOR_TARGET += -Os -minterlink-mips16 -mcode-xonly -mno-gpopt
diff --git a/config/picflag.m4 b/config/picflag.m4
index f6f1b444e40..bd818125a66 100644
--- a/config/picflag.m4
+++ b/config/picflag.m4
@@ -19,7 +19,7 @@ case "${$2}" in
;;
i[[34567]]86-*-cygwin* | i[[34567]]86-*-mingw* | x86_64-*-mingw*)
;;
- i[[34567]]86-*-interix3*)
+ i[[34567]]86-*-interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
@@ -51,9 +51,6 @@ case "${$2}" in
m68k-*-*)
$1=-fpic
;;
- s390*-*-*)
- $1=-fpic
- ;;
# FIXME: Override -fPIC default in libgcc only?
sh-*-linux* | sh[[2346lbe]]*-*-linux*)
$1=-fpic
diff --git a/config/stdint.m4 b/config/stdint.m4
index fbdd58619a5..61898a75fae 100644
--- a/config/stdint.m4
+++ b/config/stdint.m4
@@ -18,7 +18,7 @@ dnl the "ISO C9X: 7.18 Integer types <stdint.h>" section requires the
dnl existence of an include file <stdint.h> that defines a set of
dnl typedefs, especially uint8_t,int32_t,uintptr_t.
dnl Many older installations will not provide this file, but some will
-dnl have the very same definitions in <inttypes.h>. In other enviroments
+dnl have the very same definitions in <inttypes.h>. In other environments
dnl we can use the inet-types in <sys/types.h> which would define the
dnl typedefs int8_t and u_int8_t respectivly.
dnl
diff --git a/config/tcl.m4 b/config/tcl.m4
index 900a2ceb81e..59a0c7e0a59 100644
--- a/config/tcl.m4
+++ b/config/tcl.m4
@@ -290,7 +290,7 @@ AC_DEFUN([SC_LOAD_TCLCONFIG], [
elif test "`uname -s`" = "Darwin"; then
# If Tcl was built as a framework, attempt to use the libraries
# from the framework at the given location so that linking works
- # against Tcl.framework installed in an arbitary location.
+ # against Tcl.framework installed in an arbitrary location.
case ${TCL_DEFS} in
*TCL_FRAMEWORK*)
if test -f "${TCL_BIN_DIR}/${TCL_LIB_FILE}"; then
@@ -373,7 +373,7 @@ AC_DEFUN([SC_LOAD_TKCONFIG], [
elif test "`uname -s`" = "Darwin"; then
# If Tk was built as a framework, attempt to use the libraries
# from the framework at the given location so that linking works
- # against Tk.framework installed in an arbitary location.
+ # against Tk.framework installed in an arbitrary location.
case ${TK_DEFS} in
*TK_FRAMEWORK*)
if test -f "${TK_BIN_DIR}/${TK_LIB_FILE}"; then
@@ -815,7 +815,7 @@ AC_DEFUN([SC_ENABLE_LANGINFO], [
#
# Defines the following variable:
#
-# MAN_FLAGS - The apropriate flags for installManPage
+# MAN_FLAGS - The appropriate flags for installManPage
# according to the user's selection.
#
#--------------------------------------------------------------------
diff --git a/config/weakref.m4 b/config/weakref.m4
new file mode 100644
index 00000000000..ecb85672805
--- /dev/null
+++ b/config/weakref.m4
@@ -0,0 +1,47 @@
+
+dnl Check if the target supports weak.
+AC_DEFUN([GCC_CHECK_ATTRIBUTE_WEAK], [
+ AC_CACHE_CHECK([whether the target supports weak],
+ ac_cv_have_attribute_weak, [
+ weakref_m4_saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
+ AC_TRY_COMPILE([void __attribute__((weak)) foo(void) { }],
+ [], ac_cv_have_attribute_weak=yes,
+ ac_cv_have_attribute_weak=no)
+ CFLAGS="$weakref_m4_saved_CFLAGS"])
+ if test x"$ac_cv_have_attribute_weak" = xyes; then
+ AC_DEFINE(HAVE_ATTRIBUTE_WEAK, 1,
+ [Define to 1 if the target supports __attribute__((weak)).])
+ fi])
+
+dnl Check whether weak refs work like the ELF ones.
+dnl This means that the weak reference works without having to satify
+dnl linkage for the item.
+dnl There are targets (at least Darwin) where we have fully functional
+dnl weakrefs at runtime, but must supply the referenced item at link time.
+AC_DEFUN([GCC_CHECK_ELF_STYLE_WEAKREF], [
+ AC_CACHE_CHECK([whether weak refs work like ELF],
+ ac_cv_have_elf_style_weakref, [
+ weakref_m4_saved_CFLAGS="$CFLAGS"
+ case "${host}" in
+ *-apple-darwin*) CFLAGS="$CFLAGS -Wl,-undefined,dynamic_lookup" ;;
+ *) ;;
+ esac
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+extern void fNotToBeFound(void) __attribute__((weak));
+int main ()
+{
+ if (fNotToBeFound)
+ return 1;
+ else
+ return 0;
+}
+]])], ac_cv_have_elf_style_weakref=yes, ac_cv_have_elf_style_weakref=no, [
+case "${host}" in
+ *-apple-darwin[[89]]*) ac_cv_have_elf_style_weakref=no ;;
+ *) ac_cv_have_elf_style_weakref=yes;;
+esac])CFLAGS="$weakref_m4_saved_CFLAGS"])
+if test x"$ac_cv_have_elf_style_weakref" = xyes; then
+ AC_DEFINE(HAVE_ELF_STYLE_WEAKREF, 1, [Define to 1 if target has a weakref that works like the ELF one.])
+fi])
+