patches for the mpss gcc
authorReto Achermann <acreto@student.ethz.ch>
Wed, 26 Mar 2014 15:06:54 +0000 (16:06 +0100)
committerStefan Kaestle <stefan.kaestle@inf.ethz.ch>
Wed, 20 Aug 2014 13:27:56 +0000 (15:27 +0200)
tools/k1om/binutils-2.22+mpss3.2-barrelfish.patch [new file with mode: 0644]
tools/k1om/broken/binutils-2.24-barrelfish.patch [new file with mode: 0644]
tools/k1om/broken/build-toolchain.sh [new file with mode: 0755]
tools/k1om/broken/gcc-4.8.2-barrelfish.patch [new file with mode: 0644]
tools/k1om/build-toolchain.sh
tools/k1om/gcc-4.7.0+mpss3.2-barrelfish.patch [new file with mode: 0644]

diff --git a/tools/k1om/binutils-2.22+mpss3.2-barrelfish.patch b/tools/k1om/binutils-2.22+mpss3.2-barrelfish.patch
new file mode 100644 (file)
index 0000000..35cb7ee
--- /dev/null
@@ -0,0 +1,902 @@
+diff --git a/bfd/config.bfd b/bfd/config.bfd
+index 5324d39a21cb..3f0119ab2649 100644
+--- a/bfd/config.bfd
++++ b/bfd/config.bfd
+@@ -583,6 +583,10 @@
+     targ_selvecs="i386linux_vec i386pei_vec"
+     targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf32_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
+     ;;
++  i[3-7]86-*-barrelfish*)
++    targ_defvec=bfd_elf32_i386_vec
++    targ_selvecs=bfd_elf32_i386_vec
++    ;;
+   i[3-7]86-*-nacl*)
+     targ_defvec=bfd_elf32_i386_nacl_vec
+     targ_selvecs="bfd_elf32_i386_vec"
+@@ -660,6 +664,15 @@
+     targ_selvecs="bfd_elf64_x86_64_vec bfd_elf32_i386_vec bfd_elf32_x86_64_vec i386linux_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec"
+     want64=true
+     ;;
++    x86_64-*-barrelfish*)
++    targ_defvec=bfd_elf64_x86_64_vec
++    targ_selvecs=bfd_elf64_x86_64_vec
++    want64=true
++    ;;
++    k1om-*-barrelfish*)
++    targ_defvec=bfd_elf64_k1om_vec
++    targ_selvecs="bfd_elf64_x86_64_vec"
++    want64=true ;;
+   k1om-*-mingw* | k1om-*-pe | k1om-*-pep)
+     targ_defvec=bfd_elf64_k1om_vec
+     targ_selvecs="x86_64pe_vec x86_64pei_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec i386pe_vec i386pei_vec bfd_elf32_i386_vec"
+diff --git a/config.sub b/config.sub
+index 61cb4bc22db8..bc3ec8c48906 100755
+--- a/config.sub
++++ b/config.sub
+@@ -1335,7 +1335,7 @@
+             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+             | -sym* | -kopensolaris* \
+             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+-            | -aos* | -aros* \
++            | -aos* | -aros* | -barrelfish*\
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+diff --git a/configure b/configure
+index ee45e1b00f90..5bb841e5899d 100755
+--- a/configure
++++ b/configure
+@@ -2867,7 +2867,7 @@
+     is_elf=no
+     case "${target}" in
+       *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
+-      | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
++      | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* | *-*-barrelfish \
+       | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
+       | *-*-solaris2* | *-*-nto*)
+         case "${target}" in
+
+diff --git a/gas/configure.tgt b/gas/configure.tgt
+index 77c1d9b59246..5b32ae8f8a0c 100644
+--- a/gas/configure.tgt
++++ b/gas/configure.tgt
+@@ -197,6 +197,7 @@
+   i386-*-openbsd[0-2].* | \
+   i386-*-openbsd3.[0-2])              fmt=aout em=nbsd ;;
+   i386-*-openbsd*)                    fmt=elf em=nbsd ;;
++  i386-*-barrelfish*)                 fmt=elf ;;
+   i386-*-linux*aout*)                 fmt=aout em=linux ;;
+   i386-*-linux*oldld)                 fmt=aout em=linux ;;
+   i386-*-linux*coff*)                 fmt=coff em=linux ;; 
+diff --git a/ld/Makefile.am b/ld/Makefile.am
+index b2b2a6ebe362..c01570b158ba 100644
+--- a/ld/Makefile.am
++++ b/ld/Makefile.am
+@@ -259,6 +259,7 @@
+       eelf32xstormy16.c \
+       eelf32xtensa.c \
+       eelf_i386.c \
++        ebarrelfish_i386.c
+       eelf_i386_be.c \
+       eelf_i386_chaos.c \
+       eelf_i386_fbsd.c \
+@@ -484,6 +485,7 @@
+       eelf64ppc_fbsd.c \
+       eelf64tilegx.c \
+       eelf64tilegx_be.c \
++        ebarrelfish_k1om.c \
+       eelf_l1om.c \
+       eelf_l1om_fbsd.c \
+       eelf_k1om.c \
+@@ -1189,6 +1191,15 @@
+ eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \
+   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} elf_i386 "$(tdir_elf_i386)"
++ebarrelfish_i386.c: $(srcdir)/emulparams/barrelfish_i386.sh \
++  $(ELF_DEPS) $(srcdir)/scripttempl/elf-barrelfish.sc ${GEN_DEPENDS}
++      ${GENSCRIPTS} barrelfish_i386 "$(tdir_barrelfish_i386)"
++ebarrelfish_x86_64.c: $(srcdir)/emulparams/barrelfish_x86_64.sh \
++  $(ELF_DEPS) $(srcdir)/scripttempl/elf-barrelfish.sc ${GEN_DEPENDS}
++      ${GENSCRIPTS} barrelfish_x86_64 "$(tdir_barrelfish_x86_64)"
++ebarrelfish_k1om.c: $(srcdir)/emulparams/barrelfish_k1om.sh \
++  $(ELF_DEPS) $(srcdir)/scripttempl/elf-barrelfish.sc ${GEN_DEPENDS}
++      ${GENSCRIPTS} barrelfish_k1om "$(tdir_barrelfish_k1om)"
+ eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \
+   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)"
+diff --git a/ld/Makefile.in b/ld/Makefile.in
+index b95a3d103de4..d41557b3334c 100644
+--- a/ld/Makefile.in
++++ b/ld/Makefile.in
+@@ -565,6 +565,7 @@
+       eelf32xstormy16.c \
+       eelf32xtensa.c \
+       eelf_i386.c \
++        ebarrelfish_i386.c \
+       eelf_i386_be.c \
+       eelf_i386_chaos.c \
+       eelf_i386_fbsd.c \
+@@ -793,6 +794,8 @@
+       eelf_l1om_fbsd.c \
+       eelf_k1om.c \
+       eelf_k1om_fbsd.c \
++      ebarrelfish_k1om.c \
++      ebarrelfish_x86_64.c \
+       eelf_x86_64.c \
+       eelf_x86_64_fbsd.c \
+       eelf_x86_64_sol2.c \
+@@ -3473,6 +3476,15 @@
+   $(srcdir)/emulparams/elf_k1om.sh \
+   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} elf_k1om_fbsd "$(tdir_elf_k1om_fbsd)"
++ebarrelfish_i386.c: $(srcdir)/emulparams/barrelfish_i386.sh \
++  $(ELF_DEPS) $(srcdir)/scripttempl/elf-barrelfish.sc ${GEN_DEPENDS}
++      ${GENSCRIPTS} barrelfish_i386 "$(tdir_barrelfish_i386)"
++ebarrelfish_x86_64.c: $(srcdir)/emulparams/barrelfish_x86_64.sh \
++  $(ELF_DEPS) $(srcdir)/scripttempl/elf-barrelfish.sc ${GEN_DEPENDS}
++      ${GENSCRIPTS} barrelfish_x86_64 "$(tdir_barrelfish_x86_64)"
++ebarrelfish_k1om.c: $(srcdir)/emulparams/barrelfish_k1om.sh \
++  $(ELF_DEPS) $(srcdir)/scripttempl/elf-barrelfish.sc ${GEN_DEPENDS}
++      ${GENSCRIPTS} barrelfish_k1om "$(tdir_barrelfish_k1om)"
+ eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
+   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)"
+diff --git a/ld/configure.tgt b/ld/configure.tgt
+index c50730b9c514..27702cbedc3a 100644
+--- a/ld/configure.tgt
++++ b/ld/configure.tgt
+@@ -186,6 +186,7 @@
+                       targ_extra_emuls=elf_i386
+                       tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` ;;
+ i[3-7]86-*-linux*oldld)       targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
++i[3-7]86-*-barrelfish*)       targ_emul=barrelfish_i386 ;;
+ i[3-7]86-*-linux-*)   targ_emul=elf_i386
+                       targ_extra_emuls=i386linux
+                       targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om elf_k1om"
+@@ -212,6 +213,10 @@
+                       targ_extra_libpath="elf_i386 elf32_x86_64 elf_x86_64"
+                       tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
+                       tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;;
++k1om-*-barrelfish*)   targ_emul=barrelfish_k1om
++                      targ_extra_emuls="elf_k1om barrelfish_x86_64 elf_x86_64"
++                      targ_extra_libpath="elf_k1om barrelfish_x86_64 elf_x86_64" ;;
++x86_64-*-barrelfish*) targ_emul=barrelfish_x86_64 ;;
+ x86_64-*-linux-*)     targ_emul=elf_x86_64
+                       targ_extra_emuls="elf32_x86_64 elf_i386 i386linux elf_l1om elf_k1om"
+                       targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
+diff --git a/ld/emulparams/barrelfish_i386.sh b/ld/emulparams/barrelfish_i386.sh
+new file mode 100644
+index 000000000000..032dd5ae18a3
+--- /dev/null
++++ b/ld/emulparams/barrelfish_i386.sh
+@@ -0,0 +1,14 @@
++. ${srcdir}/emulparams/plt_unwind.sh
++SCRIPT_NAME=elf-barrelfish
++OUTPUT_FORMAT="elf32-i386"
++NO_RELA_RELOCS=yes
++TEXT_START_ADDR=0x400000
++MAXPAGESIZE=0x1000
++COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
++ARCH=i386
++MACHINE=
++TEMPLATE_NAME=elf32
++GENERATE_SHLIB_SCRIPT=no
++GENERATE_PIE_SCRIPT=yes
++NO_SMALL_DATA=yes
++SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 12 ? 12 : 0"
+diff --git a/ld/emulparams/barrelfish_x86_64.sh b/ld/emulparams/barrelfish_x86_64.sh
+new file mode 100644
+index 000000000000..bf4dafdd6b2b
+--- /dev/null
++++ b/ld/emulparams/barrelfish_x86_64.sh
+@@ -0,0 +1,16 @@
++. ${srcdir}/emulparams/plt_unwind.sh
++SCRIPT_NAME=elf-barrelfish
++ELFSIZE=64
++OUTPUT_FORMAT="elf64-x86-64"
++NO_RELA_RELOCS=yes
++TEXT_START_ADDR=0x400000
++MAXPAGESIZE=0x1000
++COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
++ARCH="i386:x86-64"
++MACHINE=
++TEMPLATE_NAME=elf32
++GENERATE_SHLIB_SCRIPT=no
++GENERATE_PIE_SCRIPT=yes
++NO_SMALL_DATA=yes
++LARGE_SECTIONS=yes
++SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0"
+diff --git a/ld/emulparams/barrelfish_k1om.sh b/ld/emulparams/barrelfish_k1om.sh
+new file mode 100644
+index 000000000000..bf4dafdd6b2b
+--- /dev/null
++++ b/ld/emulparams/barrelfish_k1om.sh
+@@ -0,0 +1,18 @@
++. ${srcdir}/emulparams/plt_unwind.sh
++SCRIPT_NAME=elf-barrelfish
++ELFSIZE=64
++OUTPUT_FORMAT="elf64-k1om"
++NO_RELA_RELOCS=yes
++TEXT_START_ADDR=0x400000
++MAXPAGESIZE=0x1000
++COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
++ARCH="k1om"
++MACHINE=
++COMPILE_IN=yes
++TEMPLATE_NAME=elf32
++GENERATE_SHLIB_SCRIPT=yes
++GENERATE_PIE_SCRIPT=yes
++NO_SMALL_DATA=yes
++LARGE_SECTIONS=yes
++SEPARATE_GOTPLT=24 #"SIZEOF (.got.plt) >= 24 ? 24 : 0"
++LIBPATH_SUFFIX=64 ;;
+diff --git a/ld/scripttempl/elf-barrelfish.sc b/ld/scripttempl/elf-barrelfish.sc
+new file mode 100644
+index 000000000000..51a655eed65c
+--- /dev/null
++++ b/ld/scripttempl/elf-barrelfish.sc
+@@ -0,0 +1,664 @@
++#
++# Unusual variables checked by this code:
++#     NOP - four byte opcode for no-op (defaults to none)
++#     NO_SMALL_DATA - no .sbss/.sbss2/.sdata/.sdata2 sections if not
++#             empty.
++#     SMALL_DATA_CTOR - .ctors contains small data.
++#     SMALL_DATA_DTOR - .dtors contains small data.
++#     DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
++#     INITIAL_READONLY_SECTIONS - at start of text segment
++#     OTHER_READONLY_SECTIONS - other than .text .init .rodata ...
++#             (e.g., .PARISC.milli)
++#     OTHER_TEXT_SECTIONS - these get put in .text when relocating
++#     OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ...
++#             (e.g., .PARISC.global)
++#     OTHER_RELRO_SECTIONS - other than .data.rel.ro ...
++#             (e.g. PPC32 .fixup, .got[12])
++#     OTHER_BSS_SECTIONS - other than .bss .sbss ...
++#     ATTRS_SECTIONS - at the end
++#     OTHER_SECTIONS - at the end
++#     EXECUTABLE_SYMBOLS - symbols that must be defined for an
++#             executable (e.g., _DYNAMIC_LINK)
++#       TEXT_START_ADDR - the first byte of the text segment, after any
++#               headers.
++#       TEXT_BASE_ADDRESS - the first byte of the text segment.
++#     TEXT_START_SYMBOLS - symbols that appear at the start of the
++#             .text section.
++#     DATA_START_SYMBOLS - symbols that appear at the start of the
++#             .data section.
++#     DATA_END_SYMBOLS - symbols that appear at the end of the
++#             writeable data sections.
++#     OTHER_GOT_SYMBOLS - symbols defined just before .got.
++#     OTHER_GOT_SECTIONS - sections just after .got.
++#     OTHER_SDATA_SECTIONS - sections just after .sdata.
++#     OTHER_BSS_SYMBOLS - symbols that appear at the start of the
++#             .bss section besides __bss_start.
++#     DATA_PLT - .plt should be in data segment, not text segment.
++#     PLT_BEFORE_GOT - .plt just before .got when .plt is in data segement.
++#     BSS_PLT - .plt should be in bss segment
++#     NO_REL_RELOCS - Don't include .rel.* sections in script
++#     NO_RELA_RELOCS - Don't include .rela.* sections in script
++#     NON_ALLOC_DYN - Place dynamic sections after data segment.
++#     TEXT_DYNAMIC - .dynamic in text segment, not data segment.
++#     EMBEDDED - whether this is for an embedded system.
++#     SHLIB_TEXT_START_ADDR - if set, add to SIZEOF_HEADERS to set
++#             start address of shared library.
++#     INPUT_FILES - INPUT command of files to always include
++#     WRITABLE_RODATA - if set, the .rodata section should be writable
++#     INIT_START, INIT_END -  statements just before and just after
++#     combination of .init sections.
++#     FINI_START, FINI_END - statements just before and just after
++#     combination of .fini sections.
++#     STACK_ADDR - start of a .stack section.
++#     OTHER_SYMBOLS - symbols to place right at the end of the script.
++#     ETEXT_NAME - name of a symbol for the end of the text section,
++#             normally etext.
++#     SEPARATE_CODE - if set, .text and similar sections containing
++#             actual machine instructions must be in wholly disjoint
++#             pages from any other data, including headers
++#     SEPARATE_GOTPLT - if set, .got.plt should be separate output section,
++#             so that .got can be in the RELRO area.  It should be set to
++#             the number of bytes in the beginning of .got.plt which can be
++#             in the RELRO area as well.
++#     USER_LABEL_PREFIX - prefix to add to user-visible symbols.
++#     RODATA_NAME, SDATA_NAME, SBSS_NAME, BSS_NAME - base parts of names
++#             for standard sections, without initial "." or suffixes.
++#
++# When adding sections, do note that the names of some sections are used
++# when specifying the start address of the next.
++#
++
++#  Many sections come in three flavours.  There is the 'real' section,
++#  like ".data".  Then there are the per-procedure or per-variable
++#  sections, generated by -ffunction-sections and -fdata-sections in GCC,
++#  and useful for --gc-sections, which for a variable "foo" might be
++#  ".data.foo".  Then there are the linkonce sections, for which the linker
++#  eliminates duplicates, which are named like ".gnu.linkonce.d.foo".
++#  The exact correspondences are:
++#
++#  Section    Linkonce section
++#  .text      .gnu.linkonce.t.foo
++#  .rodata    .gnu.linkonce.r.foo
++#  .data      .gnu.linkonce.d.foo
++#  .bss               .gnu.linkonce.b.foo
++#  .sdata     .gnu.linkonce.s.foo
++#  .sbss      .gnu.linkonce.sb.foo
++#  .sdata2    .gnu.linkonce.s2.foo
++#  .sbss2     .gnu.linkonce.sb2.foo
++#  .debug_info        .gnu.linkonce.wi.foo
++#  .tdata     .gnu.linkonce.td.foo
++#  .tbss      .gnu.linkonce.tb.foo
++#  .lrodata   .gnu.linkonce.lr.foo
++#  .ldata     .gnu.linkonce.l.foo
++#  .lbss      .gnu.linkonce.lb.foo
++#
++#  Each of these can also have corresponding .rel.* and .rela.* sections.
++
++if test -n "$NOP"; then
++  FILL="=$NOP"
++else
++  FILL=
++fi
++
++test -z "$RODATA_NAME" && RODATA_NAME=rodata
++test -z "$SDATA_NAME" && SDATA_NAME=sdata
++test -z "$SBSS_NAME" && SBSS_NAME=sbss
++test -z "$BSS_NAME" && BSS_NAME=bss
++test -z "$ENTRY" && ENTRY=${USER_LABEL_PREFIX}_start
++test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
++test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
++if [ -z "$MACHINE" ]; then OUTPUT_ARCH=${ARCH}; else OUTPUT_ARCH=${ARCH}:${MACHINE}; fi
++test -z "${ELFSIZE}" && ELFSIZE=32
++test -z "${ALIGNMENT}" && ALIGNMENT="${ELFSIZE} / 8"
++test "$LD_FLAG" = "N" && DATA_ADDR=.
++test -z "${ETEXT_NAME}" && ETEXT_NAME=${USER_LABEL_PREFIX}etext
++test -n "$CREATE_SHLIB$CREATE_PIE" && test -n "$SHLIB_DATA_ADDR" && COMMONPAGESIZE=""
++test -z "$CREATE_SHLIB$CREATE_PIE" && test -n "$DATA_ADDR" && COMMONPAGESIZE=""
++test -n "$RELRO_NOW" && unset SEPARATE_GOTPLT
++test -z "$ATTRS_SECTIONS" && ATTRS_SECTIONS=".gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }"
++DATA_SEGMENT_ALIGN="ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))"
++DATA_SEGMENT_RELRO_END=""
++DATA_SEGMENT_END=""
++if test -n "${COMMONPAGESIZE}"; then
++  DATA_SEGMENT_ALIGN="ALIGN (${SEGMENT_SIZE}) - ((${MAXPAGESIZE} - .) & (${MAXPAGESIZE} - 1)); . = DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE})"
++  DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);"
++  DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);"
++fi
++if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}"; then
++  INITIAL_READONLY_SECTIONS=".interp       ${RELOCATING-0} : { *(.interp) }"
++fi
++if test -z "$PLT"; then
++  IPLT=".iplt         ${RELOCATING-0} : { *(.iplt) }"
++  PLT=".plt          ${RELOCATING-0} : { *(.plt)${IREL_IN_PLT+ *(.iplt)} }
++  ${IREL_IN_PLT-$IPLT}"
++fi
++test -n "${DATA_PLT-${BSS_PLT-text}}" && TEXT_PLT=yes
++if test -z "$GOT"; then
++  if test -z "$SEPARATE_GOTPLT"; then
++    GOT=".got          ${RELOCATING-0} : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }"
++  else
++    GOT=".got          ${RELOCATING-0} : { *(.got) *(.igot) }"
++    GOTPLT=".got.plt      ${RELOCATING-0} : { *(.got.plt)  *(.igot.plt) }"
++  fi
++fi
++REL_IFUNC=".rel.ifunc    ${RELOCATING-0} : { *(.rel.ifunc) }"
++RELA_IFUNC=".rela.ifunc   ${RELOCATING-0} : { *(.rela.ifunc) }"
++REL_IPLT=".rel.iplt     ${RELOCATING-0} :
++    {
++      ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rel_iplt_start = .);}}
++      *(.rel.iplt)
++      ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rel_iplt_end = .);}}
++    }"
++RELA_IPLT=".rela.iplt    ${RELOCATING-0} :
++    {
++      ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rela_iplt_start = .);}}
++      *(.rela.iplt)
++      ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rela_iplt_end = .);}}
++    }"
++DYNAMIC=".dynamic      ${RELOCATING-0} : { *(.dynamic) }"
++RODATA=".${RODATA_NAME}       ${RELOCATING-0} : { *(.${RODATA_NAME}${RELOCATING+ .${RODATA_NAME}.* .gnu.linkonce.r.*}) }"
++DATARELRO=".data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }"
++DISCARDED="/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }"
++if test -z "${NO_SMALL_DATA}"; then
++  SBSS=".${SBSS_NAME}         ${RELOCATING-0} :
++  {
++    ${RELOCATING+${SBSS_START_SYMBOLS}}
++    ${CREATE_SHLIB+*(.${SBSS_NAME}2 .${SBSS_NAME}2.* .gnu.linkonce.sb2.*)}
++    *(.dyn${SBSS_NAME})
++    *(.${SBSS_NAME}${RELOCATING+ .${SBSS_NAME}.* .gnu.linkonce.sb.*})
++    *(.scommon)
++    ${RELOCATING+${SBSS_END_SYMBOLS}}
++  }"
++  SBSS2=".${SBSS_NAME}2        ${RELOCATING-0} : { *(.${SBSS_NAME}2${RELOCATING+ .${SBSS_NAME}2.* .gnu.linkonce.sb2.*}) }"
++  SDATA="/* We want the small data sections together, so single-instruction offsets
++     can access them all, and initialized data all before uninitialized, so
++     we can shorten the on-disk segment size.  */
++  .${SDATA_NAME}        ${RELOCATING-0} :
++  {
++    ${RELOCATING+${SDATA_START_SYMBOLS}}
++    ${CREATE_SHLIB+*(.${SDATA_NAME}2 .${SDATA_NAME}2.* .gnu.linkonce.s2.*)}
++    *(.${SDATA_NAME}${RELOCATING+ .${SDATA_NAME}.* .gnu.linkonce.s.*})
++  }"
++  SDATA2=".${SDATA_NAME}2       ${RELOCATING-0} :
++  {
++    ${RELOCATING+${SDATA2_START_SYMBOLS}}
++    *(.${SDATA_NAME}2${RELOCATING+ .${SDATA_NAME}2.* .gnu.linkonce.s2.*})
++  }"
++  REL_SDATA=".rel.${SDATA_NAME}    ${RELOCATING-0} : { *(.rel.${SDATA_NAME}${RELOCATING+ .rel.${SDATA_NAME}.* .rel.gnu.linkonce.s.*}) }
++  .rela.${SDATA_NAME}   ${RELOCATING-0} : { *(.rela.${SDATA_NAME}${RELOCATING+ .rela.${SDATA_NAME}.* .rela.gnu.linkonce.s.*}) }"
++  REL_SBSS=".rel.${SBSS_NAME}     ${RELOCATING-0} : { *(.rel.${SBSS_NAME}${RELOCATING+ .rel.${SBSS_NAME}.* .rel.gnu.linkonce.sb.*}) }
++  .rela.${SBSS_NAME}    ${RELOCATING-0} : { *(.rela.${SBSS_NAME}${RELOCATING+ .rela.${SBSS_NAME}.* .rela.gnu.linkonce.sb.*}) }"
++  REL_SDATA2=".rel.${SDATA_NAME}2   ${RELOCATING-0} : { *(.rel.${SDATA_NAME}2${RELOCATING+ .rel.${SDATA_NAME}2.* .rel.gnu.linkonce.s2.*}) }
++  .rela.${SDATA_NAME}2  ${RELOCATING-0} : { *(.rela.${SDATA_NAME}2${RELOCATING+ .rela.${SDATA_NAME}2.* .rela.gnu.linkonce.s2.*}) }"
++  REL_SBSS2=".rel.${SBSS_NAME}2    ${RELOCATING-0} : { *(.rel.${SBSS_NAME}2${RELOCATING+ .rel.${SBSS_NAME}2.* .rel.gnu.linkonce.sb2.*}) }
++  .rela.${SBSS_NAME}2   ${RELOCATING-0} : { *(.rela.${SBSS_NAME}2${RELOCATING+ .rela.${SBSS_NAME}2.* .rela.gnu.linkonce.sb2.*}) }"
++else
++  NO_SMALL_DATA=" "
++fi
++if test -z "${DATA_GOT}"; then
++  if test -n "${NO_SMALL_DATA}"; then
++    DATA_GOT=" "
++  fi
++fi
++if test -z "${SDATA_GOT}"; then
++  if test -z "${NO_SMALL_DATA}"; then
++    SDATA_GOT=" "
++  fi
++fi
++test -n "$SEPARATE_GOTPLT" && SEPARATE_GOTPLT=" "
++test "${LARGE_SECTIONS}" = "yes" && REL_LARGE="
++  .rel.ldata    ${RELOCATING-0} : { *(.rel.ldata${RELOCATING+ .rel.ldata.* .rel.gnu.linkonce.l.*}) }
++  .rela.ldata   ${RELOCATING-0} : { *(.rela.ldata${RELOCATING+ .rela.ldata.* .rela.gnu.linkonce.l.*}) }
++  .rel.lbss     ${RELOCATING-0} : { *(.rel.lbss${RELOCATING+ .rel.lbss.* .rel.gnu.linkonce.lb.*}) }
++  .rela.lbss    ${RELOCATING-0} : { *(.rela.lbss${RELOCATING+ .rela.lbss.* .rela.gnu.linkonce.lb.*}) }
++  .rel.lrodata  ${RELOCATING-0} : { *(.rel.lrodata${RELOCATING+ .rel.lrodata.* .rel.gnu.linkonce.lr.*}) }
++  .rela.lrodata ${RELOCATING-0} : { *(.rela.lrodata${RELOCATING+ .rela.lrodata.* .rela.gnu.linkonce.lr.*}) }"
++test "${LARGE_SECTIONS}" = "yes" && OTHER_BSS_SECTIONS="
++  ${OTHER_BSS_SECTIONS}
++  .lbss ${RELOCATING-0} :
++  {
++    *(.dynlbss)
++    *(.lbss${RELOCATING+ .lbss.* .gnu.linkonce.lb.*})
++    *(LARGE_COMMON)
++  }"
++test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
++  .lrodata ${RELOCATING-0} ${RELOCATING+ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))} :
++  {
++    *(.lrodata${RELOCATING+ .lrodata.* .gnu.linkonce.lr.*})
++  }
++  .ldata ${RELOCATING-0} ${RELOCATING+ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))} :
++  {
++    *(.ldata${RELOCATING+ .ldata.* .gnu.linkonce.l.*})
++    ${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
++  }"
++if test "${ENABLE_INITFINI_ARRAY}" = "yes"; then
++  SORT_INIT_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))"
++  SORT_FINI_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))"
++  CTORS_IN_INIT_ARRAY="KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))"
++  DTORS_IN_FINI_ARRAY="KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))"
++else
++  SORT_INIT_ARRAY="KEEP (*(SORT(.init_array.*)))"
++  SORT_FINI_ARRAY="KEEP (*(SORT(.fini_array.*)))"
++  CTORS_IN_INIT_ARRAY=
++  DTORS_IN_FINI_ARRAY=
++fi
++INIT_ARRAY=".init_array   ${RELOCATING-0} :
++  {
++    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_start = .);}}
++    ${SORT_INIT_ARRAY}
++    KEEP (*(.init_array))
++    ${CTORS_IN_INIT_ARRAY}
++    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_end = .);}}
++  }"
++FINI_ARRAY=".fini_array   ${RELOCATING-0} :
++  {
++    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
++    ${SORT_FINI_ARRAY}
++    KEEP (*(.fini_array))
++    ${DTORS_IN_FINI_ARRAY}
++    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
++  }"
++CTOR=".ctors        ${CONSTRUCTING-0} :
++  {
++    ${CONSTRUCTING+${CTOR_START}}
++    /* gcc uses crtbegin.o to find the start of
++       the constructors, so we make sure it is
++       first.  Because this is a wildcard, it
++       doesn't matter if the user does not
++       actually link against crtbegin.o; the
++       linker won't look for a file to match a
++       wildcard.  The wildcard also means that it
++       doesn't matter which directory crtbegin.o
++       is in.  */
++
++    KEEP (*crtbegin.o(.ctors))
++    KEEP (*crtbegin?.o(.ctors))
++
++    /* We don't want to include the .ctor section from
++       the crtend.o file until after the sorted ctors.
++       The .ctor section from the crtend file contains the
++       end of ctors marker and it must be last */
++
++    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))
++    KEEP (*(SORT(.ctors.*)))
++    KEEP (*(.ctors))
++    ${CONSTRUCTING+${CTOR_END}}
++  }"
++DTOR=".dtors        ${CONSTRUCTING-0} :
++  {
++    ${CONSTRUCTING+${DTOR_START}}
++    KEEP (*crtbegin.o(.dtors))
++    KEEP (*crtbegin?.o(.dtors))
++    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))
++    KEEP (*(SORT(.dtors.*)))
++    KEEP (*(.dtors))
++    ${CONSTRUCTING+${DTOR_END}}
++  }"
++STACK="  .stack        ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} :
++  {
++    ${RELOCATING+${USER_LABEL_PREFIX}_stack = .;}
++    *(.stack)
++  }"
++
++TEXT_START_ADDR="SEGMENT_START(\"text-segment\", ${TEXT_START_ADDR})"
++SHLIB_TEXT_START_ADDR="SEGMENT_START(\"text-segment\", ${SHLIB_TEXT_START_ADDR:-0})"
++
++if [ -z "$SEPARATE_CODE" ]; then
++  SIZEOF_HEADERS_CODE=" + SIZEOF_HEADERS"
++else
++  SIZEOF_HEADERS_CODE=
++fi
++
++# if this is for an embedded system, don't add SIZEOF_HEADERS.
++if [ -z "$EMBEDDED" ]; then
++   test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR}${SIZEOF_HEADERS_CODE}"
++else
++   test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR}"
++fi
++
++cat <<EOF
++OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
++            "${LITTLE_OUTPUT_FORMAT}")
++OUTPUT_ARCH(${OUTPUT_ARCH})
++${RELOCATING+ENTRY(${ENTRY})}
++
++${RELOCATING+${LIB_SEARCH_DIRS}}
++${RELOCATING+${EXECUTABLE_SYMBOLS}}
++${RELOCATING+${INPUT_FILES}}
++${RELOCATING- /* For some reason, the Solaris linker makes bad executables
++  if gld -r is used and the intermediate file has sections starting
++  at non-zero addresses.  Could be a Solaris ld bug, could be a GNU ld
++  bug.  But for now assigning the zero vmas works.  */}
++
++SECTIONS
++{
++  /* Read-only sections, merged into text segment: */
++  ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+PROVIDE (__executable_start = ${TEXT_START_ADDR}); . = ${TEXT_BASE_ADDRESS};}}}
++  ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR}${SIZEOF_HEADERS_CODE};}}
++  ${CREATE_PIE+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR}${SIZEOF_HEADERS_CODE};}}
++EOF
++
++emit_early_ro()
++{
++  cat <<EOF
++  ${INITIAL_READONLY_SECTIONS}
++  .note.gnu.build-id : { *(.note.gnu.build-id) }
++EOF
++}
++
++test -n "${SEPARATE_CODE}" || emit_early_ro
++
++test -n "${RELOCATING+0}" || unset NON_ALLOC_DYN
++test -z "${NON_ALLOC_DYN}" || TEXT_DYNAMIC=
++cat > ldscripts/dyntmp.$$ <<EOF
++  ${TEXT_DYNAMIC+${DYNAMIC}}
++  .hash         ${RELOCATING-0} : { *(.hash) }
++  .gnu.hash     ${RELOCATING-0} : { *(.gnu.hash) }
++  .dynsym       ${RELOCATING-0} : { *(.dynsym) }
++  .dynstr       ${RELOCATING-0} : { *(.dynstr) }
++  .gnu.version  ${RELOCATING-0} : { *(.gnu.version) }
++  .gnu.version_d ${RELOCATING-0}: { *(.gnu.version_d) }
++  .gnu.version_r ${RELOCATING-0}: { *(.gnu.version_r) }
++EOF
++
++if [ "x$COMBRELOC" = x ]; then
++  COMBRELOCCAT="cat >> ldscripts/dyntmp.$$"
++else
++  COMBRELOCCAT="cat > $COMBRELOC"
++fi
++eval $COMBRELOCCAT <<EOF
++  ${INITIAL_RELOC_SECTIONS}
++  .rel.init     ${RELOCATING-0} : { *(.rel.init) }
++  .rela.init    ${RELOCATING-0} : { *(.rela.init) }
++  .rel.text     ${RELOCATING-0} : { *(.rel.text${RELOCATING+ .rel.text.* .rel.gnu.linkonce.t.*}) }
++  .rela.text    ${RELOCATING-0} : { *(.rela.text${RELOCATING+ .rela.text.* .rela.gnu.linkonce.t.*}) }
++  .rel.fini     ${RELOCATING-0} : { *(.rel.fini) }
++  .rela.fini    ${RELOCATING-0} : { *(.rela.fini) }
++  .rel.${RODATA_NAME}   ${RELOCATING-0} : { *(.rel.${RODATA_NAME}${RELOCATING+ .rel.${RODATA_NAME}.* .rel.gnu.linkonce.r.*}) }
++  .rela.${RODATA_NAME}  ${RELOCATING-0} : { *(.rela.${RODATA_NAME}${RELOCATING+ .rela.${RODATA_NAME}.* .rela.gnu.linkonce.r.*}) }
++  ${OTHER_READONLY_RELOC_SECTIONS}
++  .rel.data.rel.ro ${RELOCATING-0} : { *(.rel.data.rel.ro${RELOCATING+ .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*}) }
++  .rela.data.rel.ro ${RELOCATING-0} : { *(.rela.data.rel.ro${RELOCATING+ .rela.data.rel.ro.* .rela.gnu.linkonce.d.rel.ro.*}) }
++  .rel.data     ${RELOCATING-0} : { *(.rel.data${RELOCATING+ .rel.data.* .rel.gnu.linkonce.d.*}) }
++  .rela.data    ${RELOCATING-0} : { *(.rela.data${RELOCATING+ .rela.data.* .rela.gnu.linkonce.d.*}) }
++  ${OTHER_READWRITE_RELOC_SECTIONS}
++  .rel.tdata  ${RELOCATING-0} : { *(.rel.tdata${RELOCATING+ .rel.tdata.* .rel.gnu.linkonce.td.*}) }
++  .rela.tdata ${RELOCATING-0} : { *(.rela.tdata${RELOCATING+ .rela.tdata.* .rela.gnu.linkonce.td.*}) }
++  .rel.tbss   ${RELOCATING-0} : { *(.rel.tbss${RELOCATING+ .rel.tbss.* .rel.gnu.linkonce.tb.*}) }
++  .rela.tbss  ${RELOCATING-0} : { *(.rela.tbss${RELOCATING+ .rela.tbss.* .rela.gnu.linkonce.tb.*}) }
++  .rel.ctors    ${RELOCATING-0} : { *(.rel.ctors) }
++  .rela.ctors   ${RELOCATING-0} : { *(.rela.ctors) }
++  .rel.dtors    ${RELOCATING-0} : { *(.rel.dtors) }
++  .rela.dtors   ${RELOCATING-0} : { *(.rela.dtors) }
++  .rel.got      ${RELOCATING-0} : { *(.rel.got) }
++  .rela.got     ${RELOCATING-0} : { *(.rela.got) }
++  ${OTHER_GOT_RELOC_SECTIONS}
++  ${REL_SDATA}
++  ${REL_SBSS}
++  ${REL_SDATA2}
++  ${REL_SBSS2}
++  .rel.${BSS_NAME}      ${RELOCATING-0} : { *(.rel.${BSS_NAME}${RELOCATING+ .rel.${BSS_NAME}.* .rel.gnu.linkonce.b.*}) }
++  .rela.${BSS_NAME}     ${RELOCATING-0} : { *(.rela.${BSS_NAME}${RELOCATING+ .rela.${BSS_NAME}.* .rela.gnu.linkonce.b.*}) }
++  ${REL_LARGE}
++  ${IREL_IN_PLT+$REL_IFUNC}
++  ${IREL_IN_PLT+$RELA_IFUNC}
++  ${IREL_IN_PLT-$REL_IPLT}
++  ${IREL_IN_PLT-$RELA_IPLT}
++EOF
++
++if [ -n "$COMBRELOC" ]; then
++cat >> ldscripts/dyntmp.$$ <<EOF
++  .rel.dyn      ${RELOCATING-0} :
++    {
++EOF
++sed -e '/^[   ]*[{}][         ]*$/d;/:[       ]*$/d;/\.rela\./d;s/^.*: { *\(.*\)}$/      \1/' $COMBRELOC >> ldscripts/dyntmp.$$
++cat >> ldscripts/dyntmp.$$ <<EOF
++    }
++  .rela.dyn     ${RELOCATING-0} :
++    {
++EOF
++sed -e '/^[   ]*[{}][         ]*$/d;/:[       ]*$/d;/\.rel\./d;s/^.*: { *\(.*\)}/      \1/' $COMBRELOC >> ldscripts/dyntmp.$$
++cat >> ldscripts/dyntmp.$$ <<EOF
++    }
++EOF
++fi
++
++cat >> ldscripts/dyntmp.$$ <<EOF
++  .rel.plt      ${RELOCATING-0} :
++    {
++      *(.rel.plt)
++      ${IREL_IN_PLT+${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rel_iplt_start = .);}}}
++      ${IREL_IN_PLT+${RELOCATING+*(.rel.iplt)}}
++      ${IREL_IN_PLT+${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rel_iplt_end = .);}}}
++    }
++  .rela.plt     ${RELOCATING-0} :
++    {
++      *(.rela.plt)
++      ${IREL_IN_PLT+${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rela_iplt_start = .);}}}
++      ${IREL_IN_PLT+${RELOCATING+*(.rela.iplt)}}
++      ${IREL_IN_PLT+${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rela_iplt_end = .);}}}
++    }
++  ${OTHER_PLT_RELOC_SECTIONS}
++EOF
++
++emit_dyn()
++{
++  if test -z "${NO_REL_RELOCS}${NO_RELA_RELOCS}"; then
++    cat ldscripts/dyntmp.$$
++  else
++    if test -z "${NO_REL_RELOCS}"; then
++      sed -e '/^[     ]*\.rela\.[^}]*$/,/}/d' -e '/^[         ]*\.rela\./d' ldscripts/dyntmp.$$
++    fi
++    if test -z "${NO_RELA_RELOCS}"; then
++      sed -e '/^[     ]*\.rel\.[^}]*$/,/}/d' -e '/^[  ]*\.rel\./d' ldscripts/dyntmp.$$
++    fi
++  fi
++  rm -f ldscripts/dyntmp.$$
++}
++
++test -n "${NON_ALLOC_DYN}${SEPARATE_CODE}" || emit_dyn
++
++cat <<EOF
++  .init         ${RELOCATING-0} :
++  {
++    ${RELOCATING+${INIT_START}}
++    KEEP (*(SORT_NONE(.init)))
++    ${RELOCATING+${INIT_END}}
++  } ${FILL}
++
++  ${TEXT_PLT+${PLT}}
++  ${TINY_READONLY_SECTION}
++  .text         ${RELOCATING-0} :
++  {
++    ${RELOCATING+${TEXT_START_SYMBOLS}}
++    ${RELOCATING+*(.text.unlikely .text.*_unlikely)}
++    ${RELOCATING+*(.text.exit .text.exit.*)}
++    ${RELOCATING+*(.text.startup .text.startup.*)}
++    ${RELOCATING+*(.text.hot .text.hot.*)}
++    *(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*})
++    /* .gnu.warning sections are handled specially by elf32.em.  */
++    *(.gnu.warning)
++    ${RELOCATING+${OTHER_TEXT_SECTIONS}}
++  } ${FILL}
++  .fini         ${RELOCATING-0} :
++  {
++    ${RELOCATING+${FINI_START}}
++    KEEP (*(SORT_NONE(.fini)))
++    ${RELOCATING+${FINI_END}}
++  } ${FILL}
++  ${RELOCATING+PROVIDE (__${ETEXT_NAME} = .);}
++  ${RELOCATING+PROVIDE (_${ETEXT_NAME} = .);}
++  ${RELOCATING+PROVIDE (${ETEXT_NAME} = .);}
++EOF
++
++if test -n "${SEPARATE_CODE}"; then
++  cat <<EOF
++  /* Adjust the address for the rodata segment.  We want to adjust up to
++     the same address within the page on the next page up.  */
++  ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+. = ${RODATA_ADDR-ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))};}}}
++  ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_RODATA_ADDR-ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))};}}
++  ${CREATE_PIE+${RELOCATING+. = ${SHLIB_RODATA_ADDR-ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))};}}
++EOF
++  emit_early_ro
++  emit_dyn
++fi
++
++cat <<EOF
++  ${WRITABLE_RODATA-${RODATA}}
++  .${RODATA_NAME}1      ${RELOCATING-0} : { *(.${RODATA_NAME}1) }
++  ${CREATE_SHLIB-${SDATA2}}
++  ${CREATE_SHLIB-${SBSS2}}
++  ${OTHER_READONLY_SECTIONS}
++  .eh_frame_hdr : { *(.eh_frame_hdr) }
++  .eh_frame     ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
++  .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table
++  .gcc_except_table.*) }
++  /* These sections are generated by the Sun/Oracle C++ compiler.  */
++  .exception_ranges ${RELOCATING-0} : ONLY_IF_RO { *(.exception_ranges
++  .exception_ranges*) }
++
++  /* Adjust the address for the data segment.  We want to adjust up to
++     the same address within the page on the next page up.  */
++  ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+. = ${DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}}
++  ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
++  ${CREATE_PIE+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
++
++  /* Exception handling  */
++  .eh_frame     ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) }
++  .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
++  .exception_ranges ${RELOCATING-0} : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) }
++
++  /* Thread Local Storage sections  */
++  .tdata      ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
++  .tbss               ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
++
++  .preinit_array   ${RELOCATING-0} :
++  {
++    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_start = .);}}
++    KEEP (*(.preinit_array))
++    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_end = .);}}
++  }
++  ${RELOCATING+${INIT_ARRAY}}
++  ${RELOCATING+${FINI_ARRAY}}
++  ${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}}
++  ${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}}
++  .jcr          ${RELOCATING-0} : { KEEP (*(.jcr)) }
++
++  ${RELOCATING+${DATARELRO}}
++  ${OTHER_RELRO_SECTIONS}
++  ${TEXT_DYNAMIC-${DYNAMIC}}
++  ${DATA_GOT+${RELRO_NOW+${GOT}}}
++  ${DATA_GOT+${RELRO_NOW+${GOTPLT}}}
++  ${DATA_GOT+${RELRO_NOW-${SEPARATE_GOTPLT+${GOT}}}}
++  ${RELOCATING+${DATA_SEGMENT_RELRO_END}}
++  ${DATA_GOT+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}}
++  ${DATA_GOT+${RELRO_NOW-${GOTPLT}}}
++
++  ${DATA_PLT+${PLT_BEFORE_GOT-${PLT}}}
++
++  .data         ${RELOCATING-0} :
++  {
++    ${RELOCATING+${DATA_START_SYMBOLS}}
++    *(.data${RELOCATING+ .data.* .gnu.linkonce.d.*})
++    ${CONSTRUCTING+SORT(CONSTRUCTORS)}
++  }
++  .data1        ${RELOCATING-0} : { *(.data1) }
++  ${WRITABLE_RODATA+${RODATA}}
++  ${OTHER_READWRITE_SECTIONS}
++  ${SMALL_DATA_CTOR+${RELOCATING+${CTOR}}}
++  ${SMALL_DATA_DTOR+${RELOCATING+${DTOR}}}
++  ${DATA_PLT+${PLT_BEFORE_GOT+${PLT}}}
++  ${SDATA_GOT+${RELOCATING+${OTHER_GOT_SYMBOLS+. = .; ${OTHER_GOT_SYMBOLS}}}}
++  ${SDATA_GOT+${GOT}}
++  ${SDATA_GOT+${OTHER_GOT_SECTIONS}}
++  ${SDATA}
++  ${OTHER_SDATA_SECTIONS}
++  ${RELOCATING+${DATA_END_SYMBOLS-${USER_LABEL_PREFIX}_edata = .; PROVIDE (${USER_LABEL_PREFIX}edata = .);}}
++  ${RELOCATING+. = .;}
++  ${RELOCATING+${USER_LABEL_PREFIX}__bss_start = .;}
++  ${RELOCATING+${OTHER_BSS_SYMBOLS}}
++  ${SBSS}
++  ${BSS_PLT+${PLT}}
++  .${BSS_NAME}          ${RELOCATING-0} :
++  {
++   *(.dyn${BSS_NAME})
++   *(.${BSS_NAME}${RELOCATING+ .${BSS_NAME}.* .gnu.linkonce.b.*})
++   *(COMMON)
++   /* Align here to ensure that the .bss section occupies space up to
++      _end.  Align after .bss to ensure correct alignment even if the
++      .bss section disappears because there are no input sections.
++      FIXME: Why do we need it? When there is no .bss section, we don't
++      pad the .data section.  */
++   ${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
++  }
++  ${OTHER_BSS_SECTIONS}
++  ${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
++  ${RELOCATING+. = ALIGN(${ALIGNMENT});}
++  ${LARGE_SECTIONS}
++  ${RELOCATING+. = ALIGN(${ALIGNMENT});}
++  ${RELOCATING+${OTHER_END_SYMBOLS}}
++  ${RELOCATING+${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .; PROVIDE (${USER_LABEL_PREFIX}end = .);}}
++  ${RELOCATING+${DATA_SEGMENT_END}}
++EOF
++
++test -z "${NON_ALLOC_DYN}" || emit_dyn
++
++cat <<EOF
++  /* Stabs debugging sections.  */
++  .stab          0 : { *(.stab) }
++  .stabstr       0 : { *(.stabstr) }
++  .stab.excl     0 : { *(.stab.excl) }
++  .stab.exclstr  0 : { *(.stab.exclstr) }
++  .stab.index    0 : { *(.stab.index) }
++  .stab.indexstr 0 : { *(.stab.indexstr) }
++
++  .comment       0 : { *(.comment) }
++
++  /* DWARF debug sections.
++     Symbols in the DWARF debugging sections are relative to the beginning
++     of the section so we begin them at 0.  */
++
++  /* DWARF 1 */
++  .debug          0 : { *(.debug) }
++  .line           0 : { *(.line) }
++
++  /* GNU DWARF 1 extensions */
++  .debug_srcinfo  0 : { *(.debug_srcinfo) }
++  .debug_sfnames  0 : { *(.debug_sfnames) }
++
++  /* DWARF 1.1 and DWARF 2 */
++  .debug_aranges  0 : { *(.debug_aranges) }
++  .debug_pubnames 0 : { *(.debug_pubnames) }
++
++  /* DWARF 2 */
++  .debug_info     0 : { *(.debug_info${RELOCATING+ .gnu.linkonce.wi.*}) }
++  .debug_abbrev   0 : { *(.debug_abbrev) }
++  .debug_line     0 : { *(.debug_line) }
++  .debug_frame    0 : { *(.debug_frame) }
++  .debug_str      0 : { *(.debug_str) }
++  .debug_loc      0 : { *(.debug_loc) }
++  .debug_macinfo  0 : { *(.debug_macinfo) }
++
++  /* SGI/MIPS DWARF 2 extensions */
++  .debug_weaknames 0 : { *(.debug_weaknames) }
++  .debug_funcnames 0 : { *(.debug_funcnames) }
++  .debug_typenames 0 : { *(.debug_typenames) }
++  .debug_varnames  0 : { *(.debug_varnames) }
++
++  /* DWARF 3 */
++  .debug_pubtypes 0 : { *(.debug_pubtypes) }
++  .debug_ranges   0 : { *(.debug_ranges) }
++
++  /* DWARF Extension.  */
++  .debug_macro    0 : { *(.debug_macro) } 
++  
++  ${TINY_DATA_SECTION}
++  ${TINY_BSS_SECTION}
++
++  ${STACK_ADDR+${STACK}}
++  ${ATTRS_SECTIONS}
++  ${OTHER_SECTIONS}
++  ${RELOCATING+${OTHER_SYMBOLS}}
++  ${RELOCATING+${DISCARDED}}
++}
++EOF
diff --git a/tools/k1om/broken/binutils-2.24-barrelfish.patch b/tools/k1om/broken/binutils-2.24-barrelfish.patch
new file mode 100644 (file)
index 0000000..ea83842
--- /dev/null
@@ -0,0 +1,901 @@
+diff --git a/bfd/config.bfd b/bfd/config.bfd
+index 5324d39a21cb..3f0119ab2649 100644
+--- a/bfd/config.bfd
++++ b/bfd/config.bfd
+@@ -630,6 +630,10 @@ case "${targ}" in
+     targ64_selvecs="bfd_elf64_x86_64_nacl_vec bfd_elf32_x86_64_nacl_vec"
+     targ_archs="$targ_archs bfd_arm_arch"
+     ;;
++  i[3-7]86-*-barrelfish*)
++    targ_defvec=bfd_elf32_i386_vec
++    targ_selvecs=bfd_elf32_i386_vec
++    ;;
+ #ifdef BFD64
+   x86_64-*-darwin*)
+     targ_defvec=mach_o_x86_64_vec
+@@ -673,6 +681,16 @@ case "${targ}" in
+     targ_archs="$targ_archs bfd_arm_arch"
+     want64=true
+     ;;
++  x86_64-k1om-barrelfish*)
++    targ_defvec=bfd_elf64_k1om_vec
++    targ_selvecs="bfd_elf32_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec bfd_elf64_x86_64_vec"
++    want64=true
++    ;;
++  x86_64-*-barrelfish*)
++    targ_defvec=bfd_elf64_x86_64_vec
++    targ_selvecs=bfd_elf64_x86_64_vec
++    want64=true
++    ;;
+   x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin)
+     targ_defvec=x86_64pe_vec
+     targ_selvecs="x86_64pe_vec x86_64pei_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386pe_vec i386pei_vec bfd_elf32_i386_vec"
+diff --git a/config.sub b/config.sub
+index 61cb4bc22db8..bc3ec8c48906 100755
+--- a/config.sub
++++ b/config.sub
+@@ -1357,6 +1357,7 @@ case $os in
+             | -sym* | -kopensolaris* | -plan9* \
+             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+             | -aos* | -aros* \
++            | -barrelfish* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+diff --git a/configure b/configure
+index ee45e1b00f90..5bb841e5899d 100755
+--- a/configure
++++ b/configure
+@@ -2953,7 +2953,7 @@ case "${ENABLE_GOLD}" in
+       *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
+       | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
+       | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
+-      | *-*-solaris2* | *-*-nto* | *-*-nacl*)
++      | *-*-solaris2* | *-*-nto* | *-*-nacl* | *-*-barrelfish*)
+         case "${target}" in
+           *-*-linux*aout* | *-*-linux*oldld*)
+             ;;
+diff --git a/gas/configure.tgt b/gas/configure.tgt
+index 77c1d9b59246..5b32ae8f8a0c 100644
+--- a/gas/configure.tgt
++++ b/gas/configure.tgt
+@@ -270,6 +270,7 @@ case ${generic_target} in
+   i386-*-chaos)                               fmt=elf ;;
+   i386-*-rdos*)                               fmt=elf ;;
+   i386-*-darwin*)                     fmt=macho ;;
++  i386-*-barrelfish*)                 fmt=elf ;;
+
+   i860-*-*)                           fmt=elf endian=little ;;
+
+diff --git a/ld/Makefile.am b/ld/Makefile.am
+index b2b2a6ebe362..c01570b158ba 100644
+--- a/ld/Makefile.am
++++ b/ld/Makefile.am
+@@ -263,6 +263,7 @@ ALL_EMULATION_SOURCES = \
+       eelf32xstormy16.c \
+       eelf32xtensa.c \
+       eelf_i386.c \
++      ebarrelfish_i386.c \
+       eelf_i386_be.c \
+       eelf_i386_chaos.c \
+       eelf_i386_fbsd.c \
+@@ -522,6 +522,8 @@ ALL_64_EMULATION_SOURCES = \
+       eelf_l1om_fbsd.c \
+       eelf_k1om.c \
+       eelf_k1om_fbsd.c \
++      ebarrelfish_x86_64.c \
++      ebarrelfish_k1om.c \
+       eelf_x86_64.c \
+       eelf_x86_64_fbsd.c \
+       eelf_x86_64_nacl.c \
+@@ -1268,6 +1269,15 @@ eelf32xtensa.c: $(srcdir)/emulparams/elf32xtensa.sh $(ELF_DEPS) \
+ eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \
+   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} elf_i386 "$(tdir_elf_i386)"
++ebarrelfish_i386.c: $(srcdir)/emulparams/barrelfish_i386.sh \
++  $(ELF_DEPS) $(srcdir)/scripttempl/elf-barrelfish.sc ${GEN_DEPENDS}
++      ${GENSCRIPTS} barrelfish_i386 "$(tdir_barrelfish_i386)"
++ebarrelfish_x86_64.c: $(srcdir)/emulparams/barrelfish_x86_64.sh \
++  $(ELF_DEPS) $(srcdir)/scripttempl/elf-barrelfish.sc ${GEN_DEPENDS}
++      ${GENSCRIPTS} barrelfish_x86_64 "$(tdir_barrelfish_x86_64)"
++ebarrelfish_k1om.c: $(srcdir)/emulparams/barrelfish_k1om.sh \
++  $(ELF_DEPS) $(srcdir)/scripttempl/elf-barrelfish.sc ${GEN_DEPENDS}
++      ${GENSCRIPTS} barrelfish_k1om "$(tdir_barrelfish_k1om)"
+ eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \
+   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)"
+diff --git a/ld/Makefile.in b/ld/Makefile.in
+index b95a3d103de4..d41557b3334c 100644
+--- a/ld/Makefile.in
++++ b/ld/Makefile.in
+@@ -571,6 +571,7 @@ ALL_EMULATION_SOURCES = \
+       eelf32xstormy16.c \
+       eelf32xtensa.c \
+       eelf_i386.c \
++      ebarrelfish_i386.c \
+       eelf_i386_be.c \
+       eelf_i386_chaos.c \
+       eelf_i386_fbsd.c \
+@@ -830,6 +832,8 @@ ALL_64_EMULATION_SOURCES = \
+       eelf_k1om.c \
+       eelf_k1om_fbsd.c \
+       eelf_x86_64.c \
++      ebarrelfish_x86_64.c \
++      ebarrelfish_k1om.c \
+       eelf_x86_64_fbsd.c \
+       eelf_x86_64_nacl.c \
+       eelf_x86_64_sol2.c \
+@@ -3619,6 +3621,15 @@ eelf_k1om_fbsd.c: $(srcdir)/emulparams/elf_k1om_fbsd.sh \
+   $(srcdir)/emulparams/elf_k1om.sh \
+   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} elf_k1om_fbsd "$(tdir_elf_k1om_fbsd)"
++ebarrelfish_i386.c: $(srcdir)/emulparams/barrelfish_i386.sh \
++  $(ELF_DEPS) $(srcdir)/scripttempl/elf-barrelfish.sc ${GEN_DEPENDS}
++      ${GENSCRIPTS} barrelfish_i386 "$(tdir_barrelfish_i386)"
++ebarrelfish_x86_64.c: $(srcdir)/emulparams/barrelfish_x86_64.sh \
++  $(ELF_DEPS) $(srcdir)/scripttempl/elf-barrelfish.sc ${GEN_DEPENDS}
++      ${GENSCRIPTS} barrelfish_x86_64 "$(tdir_barrelfish_x86_64)"
++ebarrelfish_k1om.c: $(srcdir)/emulparams/barrelfish_k1om.sh \
++  $(ELF_DEPS) $(srcdir)/scripttempl/elf-barrelfish.sc ${GEN_DEPENDS}
++      ${GENSCRIPTS} barrelfish_k1om "$(tdir_barrelfish_k1om)"
+ eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
+   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+       ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)"
+diff --git a/ld/configure.tgt b/ld/configure.tgt
+index c50730b9c514..27702cbedc3a 100644
+--- a/ld/configure.tgt
++++ b/ld/configure.tgt
+@@ -224,6 +224,7 @@ i[3-7]86-*-bsd)            targ_emul=i386bsd ;;
+ i[3-7]86-*-bsd386)    targ_emul=i386bsd ;;
+ i[3-7]86-*-bsdi*)     targ_emul=i386bsd ;;
+ i[3-7]86-*-aout)      targ_emul=i386aout ;;
++i[3-7]86-*-barrelfish*)       targ_emul=barrelfish_i386 ;;
+ i[3-7]86-*-linux*aout*)       targ_emul=i386linux
+                       targ_extra_emuls=elf_i386
+                       tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` ;;
+@@ -244,6 +248,10 @@ x86_64-*-linux-*) targ_emul=elf_x86_64
+                       targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
+                       tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
+                       tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;;
++x86_64-k1om-barrelfish*) targ_emul=elf_k1om 
++                      targ_extra_emuls="barrelfish_k1om barrelfish_x86_64 " 
++                      targ_extra_libpath="elf_l1om barrelfish_k1om barrelfish_x86_64"         ;;
++x86_64-*-barrelfish*) targ_emul=barrelfish_x86_64 ;;
+ i[3-7]86-*-sysv[45]*) targ_emul=elf_i386 ;;
+ i[3-7]86-*-solaris2*) targ_emul=elf_i386_sol2
+                        targ_extra_emuls="elf_i386_ldso elf_i386 elf_x86_64_sol2 elf_x86_64 elf_l1om elf_k1om"
+diff --git a/ld/emulparams/barrelfish_i386.sh b/ld/emulparams/barrelfish_i386.sh
+new file mode 100644
+index 000000000000..032dd5ae18a3
+--- /dev/null
++++ b/ld/emulparams/barrelfish_i386.sh
+@@ -0,0 +1,14 @@
++. ${srcdir}/emulparams/plt_unwind.sh
++SCRIPT_NAME=elf-barrelfish
++OUTPUT_FORMAT="elf32-i386"
++NO_RELA_RELOCS=yes
++TEXT_START_ADDR=0x400000
++MAXPAGESIZE=0x1000
++COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
++ARCH=i386
++MACHINE=
++TEMPLATE_NAME=elf32
++GENERATE_SHLIB_SCRIPT=no
++GENERATE_PIE_SCRIPT=yes
++NO_SMALL_DATA=yes
++SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 12 ? 12 : 0"
+diff --git a/ld/emulparams/barrelfish_x86_64.sh b/ld/emulparams/barrelfish_x86_64.sh
+new file mode 100644
+index 000000000000..bf4dafdd6b2b
+--- /dev/null
++++ b/ld/emulparams/barrelfish_x86_64.sh
+@@ -0,0 +1,16 @@
++. ${srcdir}/emulparams/plt_unwind.sh
++SCRIPT_NAME=elf-barrelfish
++ELFSIZE=64
++OUTPUT_FORMAT="elf64-x86-64"
++NO_RELA_RELOCS=yes
++TEXT_START_ADDR=0x400000
++MAXPAGESIZE=0x1000
++COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
++ARCH="i386:x86-64"
++MACHINE=
++TEMPLATE_NAME=elf32
++GENERATE_SHLIB_SCRIPT=no
++GENERATE_PIE_SCRIPT=yes
++NO_SMALL_DATA=yes
++LARGE_SECTIONS=yes
++SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0"
+diff --git a/ld/emulparams/barrelfish_k1om.sh b/ld/emulparams/barrelfish_k1om.sh
+new file mode 100644
+index 000000000000..bf4dafdd6b2b
+--- /dev/null
++++ b/ld/emulparams/barrelfish_k1om.sh
+@@ -0,0 +1,17 @@
++. ${srcdir}/emulparams/plt_unwind.sh
++SCRIPT_NAME=elf-barrelfish
++ELFSIZE=64
++OUTPUT_FORMAT="elf64-k1om"
++NO_RELA_RELOCS=yes
++TEXT_START_ADDR=0x400000
++MAXPAGESIZE=0x1000
++COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
++ARCH="k1om"
++MACHINE=
++COMPILE_IN=yes
++TEMPLATE_NAME=elf32
++GENERATE_SHLIB_SCRIPT=yes
++GENERATE_PIE_SCRIPT=yes
++NO_SMALL_DATA=yes
++LARGE_SECTIONS=yes
++SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0"
+diff --git a/ld/scripttempl/elf-barrelfish.sc b/ld/scripttempl/elf-barrelfish.sc
+new file mode 100644
+index 000000000000..51a655eed65c
+--- /dev/null
++++ b/ld/scripttempl/elf-barrelfish.sc
+@@ -0,0 +1,664 @@
++#
++# Unusual variables checked by this code:
++#     NOP - four byte opcode for no-op (defaults to none)
++#     NO_SMALL_DATA - no .sbss/.sbss2/.sdata/.sdata2 sections if not
++#             empty.
++#     SMALL_DATA_CTOR - .ctors contains small data.
++#     SMALL_DATA_DTOR - .dtors contains small data.
++#     DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
++#     INITIAL_READONLY_SECTIONS - at start of text segment
++#     OTHER_READONLY_SECTIONS - other than .text .init .rodata ...
++#             (e.g., .PARISC.milli)
++#     OTHER_TEXT_SECTIONS - these get put in .text when relocating
++#     OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ...
++#             (e.g., .PARISC.global)
++#     OTHER_RELRO_SECTIONS - other than .data.rel.ro ...
++#             (e.g. PPC32 .fixup, .got[12])
++#     OTHER_BSS_SECTIONS - other than .bss .sbss ...
++#     ATTRS_SECTIONS - at the end
++#     OTHER_SECTIONS - at the end
++#     EXECUTABLE_SYMBOLS - symbols that must be defined for an
++#             executable (e.g., _DYNAMIC_LINK)
++#       TEXT_START_ADDR - the first byte of the text segment, after any
++#               headers.
++#       TEXT_BASE_ADDRESS - the first byte of the text segment.
++#     TEXT_START_SYMBOLS - symbols that appear at the start of the
++#             .text section.
++#     DATA_START_SYMBOLS - symbols that appear at the start of the
++#             .data section.
++#     DATA_END_SYMBOLS - symbols that appear at the end of the
++#             writeable data sections.
++#     OTHER_GOT_SYMBOLS - symbols defined just before .got.
++#     OTHER_GOT_SECTIONS - sections just after .got.
++#     OTHER_SDATA_SECTIONS - sections just after .sdata.
++#     OTHER_BSS_SYMBOLS - symbols that appear at the start of the
++#             .bss section besides __bss_start.
++#     DATA_PLT - .plt should be in data segment, not text segment.
++#     PLT_BEFORE_GOT - .plt just before .got when .plt is in data segement.
++#     BSS_PLT - .plt should be in bss segment
++#     NO_REL_RELOCS - Don't include .rel.* sections in script
++#     NO_RELA_RELOCS - Don't include .rela.* sections in script
++#     NON_ALLOC_DYN - Place dynamic sections after data segment.
++#     TEXT_DYNAMIC - .dynamic in text segment, not data segment.
++#     EMBEDDED - whether this is for an embedded system.
++#     SHLIB_TEXT_START_ADDR - if set, add to SIZEOF_HEADERS to set
++#             start address of shared library.
++#     INPUT_FILES - INPUT command of files to always include
++#     WRITABLE_RODATA - if set, the .rodata section should be writable
++#     INIT_START, INIT_END -  statements just before and just after
++#     combination of .init sections.
++#     FINI_START, FINI_END - statements just before and just after
++#     combination of .fini sections.
++#     STACK_ADDR - start of a .stack section.
++#     OTHER_SYMBOLS - symbols to place right at the end of the script.
++#     ETEXT_NAME - name of a symbol for the end of the text section,
++#             normally etext.
++#     SEPARATE_CODE - if set, .text and similar sections containing
++#             actual machine instructions must be in wholly disjoint
++#             pages from any other data, including headers
++#     SEPARATE_GOTPLT - if set, .got.plt should be separate output section,
++#             so that .got can be in the RELRO area.  It should be set to
++#             the number of bytes in the beginning of .got.plt which can be
++#             in the RELRO area as well.
++#     USER_LABEL_PREFIX - prefix to add to user-visible symbols.
++#     RODATA_NAME, SDATA_NAME, SBSS_NAME, BSS_NAME - base parts of names
++#             for standard sections, without initial "." or suffixes.
++#
++# When adding sections, do note that the names of some sections are used
++# when specifying the start address of the next.
++#
++
++#  Many sections come in three flavours.  There is the 'real' section,
++#  like ".data".  Then there are the per-procedure or per-variable
++#  sections, generated by -ffunction-sections and -fdata-sections in GCC,
++#  and useful for --gc-sections, which for a variable "foo" might be
++#  ".data.foo".  Then there are the linkonce sections, for which the linker
++#  eliminates duplicates, which are named like ".gnu.linkonce.d.foo".
++#  The exact correspondences are:
++#
++#  Section    Linkonce section
++#  .text      .gnu.linkonce.t.foo
++#  .rodata    .gnu.linkonce.r.foo
++#  .data      .gnu.linkonce.d.foo
++#  .bss               .gnu.linkonce.b.foo
++#  .sdata     .gnu.linkonce.s.foo
++#  .sbss      .gnu.linkonce.sb.foo
++#  .sdata2    .gnu.linkonce.s2.foo
++#  .sbss2     .gnu.linkonce.sb2.foo
++#  .debug_info        .gnu.linkonce.wi.foo
++#  .tdata     .gnu.linkonce.td.foo
++#  .tbss      .gnu.linkonce.tb.foo
++#  .lrodata   .gnu.linkonce.lr.foo
++#  .ldata     .gnu.linkonce.l.foo
++#  .lbss      .gnu.linkonce.lb.foo
++#
++#  Each of these can also have corresponding .rel.* and .rela.* sections.
++
++if test -n "$NOP"; then
++  FILL="=$NOP"
++else
++  FILL=
++fi
++
++test -z "$RODATA_NAME" && RODATA_NAME=rodata
++test -z "$SDATA_NAME" && SDATA_NAME=sdata
++test -z "$SBSS_NAME" && SBSS_NAME=sbss
++test -z "$BSS_NAME" && BSS_NAME=bss
++test -z "$ENTRY" && ENTRY=${USER_LABEL_PREFIX}_start
++test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
++test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
++if [ -z "$MACHINE" ]; then OUTPUT_ARCH=${ARCH}; else OUTPUT_ARCH=${ARCH}:${MACHINE}; fi
++test -z "${ELFSIZE}" && ELFSIZE=32
++test -z "${ALIGNMENT}" && ALIGNMENT="${ELFSIZE} / 8"
++test "$LD_FLAG" = "N" && DATA_ADDR=.
++test -z "${ETEXT_NAME}" && ETEXT_NAME=${USER_LABEL_PREFIX}etext
++test -n "$CREATE_SHLIB$CREATE_PIE" && test -n "$SHLIB_DATA_ADDR" && COMMONPAGESIZE=""
++test -z "$CREATE_SHLIB$CREATE_PIE" && test -n "$DATA_ADDR" && COMMONPAGESIZE=""
++test -n "$RELRO_NOW" && unset SEPARATE_GOTPLT
++test -z "$ATTRS_SECTIONS" && ATTRS_SECTIONS=".gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }"
++DATA_SEGMENT_ALIGN="ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))"
++DATA_SEGMENT_RELRO_END=""
++DATA_SEGMENT_END=""
++if test -n "${COMMONPAGESIZE}"; then
++  DATA_SEGMENT_ALIGN="ALIGN (${SEGMENT_SIZE}) - ((${MAXPAGESIZE} - .) & (${MAXPAGESIZE} - 1)); . = DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE})"
++  DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);"
++  DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);"
++fi
++if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}"; then
++  INITIAL_READONLY_SECTIONS=".interp       ${RELOCATING-0} : { *(.interp) }"
++fi
++if test -z "$PLT"; then
++  IPLT=".iplt         ${RELOCATING-0} : { *(.iplt) }"
++  PLT=".plt          ${RELOCATING-0} : { *(.plt)${IREL_IN_PLT+ *(.iplt)} }
++  ${IREL_IN_PLT-$IPLT}"
++fi
++test -n "${DATA_PLT-${BSS_PLT-text}}" && TEXT_PLT=yes
++if test -z "$GOT"; then
++  if test -z "$SEPARATE_GOTPLT"; then
++    GOT=".got          ${RELOCATING-0} : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }"
++  else
++    GOT=".got          ${RELOCATING-0} : { *(.got) *(.igot) }"
++    GOTPLT=".got.plt      ${RELOCATING-0} : { *(.got.plt)  *(.igot.plt) }"
++  fi
++fi
++REL_IFUNC=".rel.ifunc    ${RELOCATING-0} : { *(.rel.ifunc) }"
++RELA_IFUNC=".rela.ifunc   ${RELOCATING-0} : { *(.rela.ifunc) }"
++REL_IPLT=".rel.iplt     ${RELOCATING-0} :
++    {
++      ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rel_iplt_start = .);}}
++      *(.rel.iplt)
++      ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rel_iplt_end = .);}}
++    }"
++RELA_IPLT=".rela.iplt    ${RELOCATING-0} :
++    {
++      ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rela_iplt_start = .);}}
++      *(.rela.iplt)
++      ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rela_iplt_end = .);}}
++    }"
++DYNAMIC=".dynamic      ${RELOCATING-0} : { *(.dynamic) }"
++RODATA=".${RODATA_NAME}       ${RELOCATING-0} : { *(.${RODATA_NAME}${RELOCATING+ .${RODATA_NAME}.* .gnu.linkonce.r.*}) }"
++DATARELRO=".data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }"
++DISCARDED="/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }"
++if test -z "${NO_SMALL_DATA}"; then
++  SBSS=".${SBSS_NAME}         ${RELOCATING-0} :
++  {
++    ${RELOCATING+${SBSS_START_SYMBOLS}}
++    ${CREATE_SHLIB+*(.${SBSS_NAME}2 .${SBSS_NAME}2.* .gnu.linkonce.sb2.*)}
++    *(.dyn${SBSS_NAME})
++    *(.${SBSS_NAME}${RELOCATING+ .${SBSS_NAME}.* .gnu.linkonce.sb.*})
++    *(.scommon)
++    ${RELOCATING+${SBSS_END_SYMBOLS}}
++  }"
++  SBSS2=".${SBSS_NAME}2        ${RELOCATING-0} : { *(.${SBSS_NAME}2${RELOCATING+ .${SBSS_NAME}2.* .gnu.linkonce.sb2.*}) }"
++  SDATA="/* We want the small data sections together, so single-instruction offsets
++     can access them all, and initialized data all before uninitialized, so
++     we can shorten the on-disk segment size.  */
++  .${SDATA_NAME}        ${RELOCATING-0} :
++  {
++    ${RELOCATING+${SDATA_START_SYMBOLS}}
++    ${CREATE_SHLIB+*(.${SDATA_NAME}2 .${SDATA_NAME}2.* .gnu.linkonce.s2.*)}
++    *(.${SDATA_NAME}${RELOCATING+ .${SDATA_NAME}.* .gnu.linkonce.s.*})
++  }"
++  SDATA2=".${SDATA_NAME}2       ${RELOCATING-0} :
++  {
++    ${RELOCATING+${SDATA2_START_SYMBOLS}}
++    *(.${SDATA_NAME}2${RELOCATING+ .${SDATA_NAME}2.* .gnu.linkonce.s2.*})
++  }"
++  REL_SDATA=".rel.${SDATA_NAME}    ${RELOCATING-0} : { *(.rel.${SDATA_NAME}${RELOCATING+ .rel.${SDATA_NAME}.* .rel.gnu.linkonce.s.*}) }
++  .rela.${SDATA_NAME}   ${RELOCATING-0} : { *(.rela.${SDATA_NAME}${RELOCATING+ .rela.${SDATA_NAME}.* .rela.gnu.linkonce.s.*}) }"
++  REL_SBSS=".rel.${SBSS_NAME}     ${RELOCATING-0} : { *(.rel.${SBSS_NAME}${RELOCATING+ .rel.${SBSS_NAME}.* .rel.gnu.linkonce.sb.*}) }
++  .rela.${SBSS_NAME}    ${RELOCATING-0} : { *(.rela.${SBSS_NAME}${RELOCATING+ .rela.${SBSS_NAME}.* .rela.gnu.linkonce.sb.*}) }"
++  REL_SDATA2=".rel.${SDATA_NAME}2   ${RELOCATING-0} : { *(.rel.${SDATA_NAME}2${RELOCATING+ .rel.${SDATA_NAME}2.* .rel.gnu.linkonce.s2.*}) }
++  .rela.${SDATA_NAME}2  ${RELOCATING-0} : { *(.rela.${SDATA_NAME}2${RELOCATING+ .rela.${SDATA_NAME}2.* .rela.gnu.linkonce.s2.*}) }"
++  REL_SBSS2=".rel.${SBSS_NAME}2    ${RELOCATING-0} : { *(.rel.${SBSS_NAME}2${RELOCATING+ .rel.${SBSS_NAME}2.* .rel.gnu.linkonce.sb2.*}) }
++  .rela.${SBSS_NAME}2   ${RELOCATING-0} : { *(.rela.${SBSS_NAME}2${RELOCATING+ .rela.${SBSS_NAME}2.* .rela.gnu.linkonce.sb2.*}) }"
++else
++  NO_SMALL_DATA=" "
++fi
++if test -z "${DATA_GOT}"; then
++  if test -n "${NO_SMALL_DATA}"; then
++    DATA_GOT=" "
++  fi
++fi
++if test -z "${SDATA_GOT}"; then
++  if test -z "${NO_SMALL_DATA}"; then
++    SDATA_GOT=" "
++  fi
++fi
++test -n "$SEPARATE_GOTPLT" && SEPARATE_GOTPLT=" "
++test "${LARGE_SECTIONS}" = "yes" && REL_LARGE="
++  .rel.ldata    ${RELOCATING-0} : { *(.rel.ldata${RELOCATING+ .rel.ldata.* .rel.gnu.linkonce.l.*}) }
++  .rela.ldata   ${RELOCATING-0} : { *(.rela.ldata${RELOCATING+ .rela.ldata.* .rela.gnu.linkonce.l.*}) }
++  .rel.lbss     ${RELOCATING-0} : { *(.rel.lbss${RELOCATING+ .rel.lbss.* .rel.gnu.linkonce.lb.*}) }
++  .rela.lbss    ${RELOCATING-0} : { *(.rela.lbss${RELOCATING+ .rela.lbss.* .rela.gnu.linkonce.lb.*}) }
++  .rel.lrodata  ${RELOCATING-0} : { *(.rel.lrodata${RELOCATING+ .rel.lrodata.* .rel.gnu.linkonce.lr.*}) }
++  .rela.lrodata ${RELOCATING-0} : { *(.rela.lrodata${RELOCATING+ .rela.lrodata.* .rela.gnu.linkonce.lr.*}) }"
++test "${LARGE_SECTIONS}" = "yes" && OTHER_BSS_SECTIONS="
++  ${OTHER_BSS_SECTIONS}
++  .lbss ${RELOCATING-0} :
++  {
++    *(.dynlbss)
++    *(.lbss${RELOCATING+ .lbss.* .gnu.linkonce.lb.*})
++    *(LARGE_COMMON)
++  }"
++test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
++  .lrodata ${RELOCATING-0} ${RELOCATING+ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))} :
++  {
++    *(.lrodata${RELOCATING+ .lrodata.* .gnu.linkonce.lr.*})
++  }
++  .ldata ${RELOCATING-0} ${RELOCATING+ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))} :
++  {
++    *(.ldata${RELOCATING+ .ldata.* .gnu.linkonce.l.*})
++    ${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
++  }"
++if test "${ENABLE_INITFINI_ARRAY}" = "yes"; then
++  SORT_INIT_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))"
++  SORT_FINI_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))"
++  CTORS_IN_INIT_ARRAY="KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))"
++  DTORS_IN_FINI_ARRAY="KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))"
++else
++  SORT_INIT_ARRAY="KEEP (*(SORT(.init_array.*)))"
++  SORT_FINI_ARRAY="KEEP (*(SORT(.fini_array.*)))"
++  CTORS_IN_INIT_ARRAY=
++  DTORS_IN_FINI_ARRAY=
++fi
++INIT_ARRAY=".init_array   ${RELOCATING-0} :
++  {
++    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_start = .);}}
++    ${SORT_INIT_ARRAY}
++    KEEP (*(.init_array))
++    ${CTORS_IN_INIT_ARRAY}
++    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_end = .);}}
++  }"
++FINI_ARRAY=".fini_array   ${RELOCATING-0} :
++  {
++    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
++    ${SORT_FINI_ARRAY}
++    KEEP (*(.fini_array))
++    ${DTORS_IN_FINI_ARRAY}
++    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
++  }"
++CTOR=".ctors        ${CONSTRUCTING-0} :
++  {
++    ${CONSTRUCTING+${CTOR_START}}
++    /* gcc uses crtbegin.o to find the start of
++       the constructors, so we make sure it is
++       first.  Because this is a wildcard, it
++       doesn't matter if the user does not
++       actually link against crtbegin.o; the
++       linker won't look for a file to match a
++       wildcard.  The wildcard also means that it
++       doesn't matter which directory crtbegin.o
++       is in.  */
++
++    KEEP (*crtbegin.o(.ctors))
++    KEEP (*crtbegin?.o(.ctors))
++
++    /* We don't want to include the .ctor section from
++       the crtend.o file until after the sorted ctors.
++       The .ctor section from the crtend file contains the
++       end of ctors marker and it must be last */
++
++    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))
++    KEEP (*(SORT(.ctors.*)))
++    KEEP (*(.ctors))
++    ${CONSTRUCTING+${CTOR_END}}
++  }"
++DTOR=".dtors        ${CONSTRUCTING-0} :
++  {
++    ${CONSTRUCTING+${DTOR_START}}
++    KEEP (*crtbegin.o(.dtors))
++    KEEP (*crtbegin?.o(.dtors))
++    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))
++    KEEP (*(SORT(.dtors.*)))
++    KEEP (*(.dtors))
++    ${CONSTRUCTING+${DTOR_END}}
++  }"
++STACK="  .stack        ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} :
++  {
++    ${RELOCATING+${USER_LABEL_PREFIX}_stack = .;}
++    *(.stack)
++  }"
++
++TEXT_START_ADDR="SEGMENT_START(\"text-segment\", ${TEXT_START_ADDR})"
++SHLIB_TEXT_START_ADDR="SEGMENT_START(\"text-segment\", ${SHLIB_TEXT_START_ADDR:-0})"
++
++if [ -z "$SEPARATE_CODE" ]; then
++  SIZEOF_HEADERS_CODE=" + SIZEOF_HEADERS"
++else
++  SIZEOF_HEADERS_CODE=
++fi
++
++# if this is for an embedded system, don't add SIZEOF_HEADERS.
++if [ -z "$EMBEDDED" ]; then
++   test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR}${SIZEOF_HEADERS_CODE}"
++else
++   test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR}"
++fi
++
++cat <<EOF
++OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
++            "${LITTLE_OUTPUT_FORMAT}")
++OUTPUT_ARCH(${OUTPUT_ARCH})
++${RELOCATING+ENTRY(${ENTRY})}
++
++${RELOCATING+${LIB_SEARCH_DIRS}}
++${RELOCATING+${EXECUTABLE_SYMBOLS}}
++${RELOCATING+${INPUT_FILES}}
++${RELOCATING- /* For some reason, the Solaris linker makes bad executables
++  if gld -r is used and the intermediate file has sections starting
++  at non-zero addresses.  Could be a Solaris ld bug, could be a GNU ld
++  bug.  But for now assigning the zero vmas works.  */}
++
++SECTIONS
++{
++  /* Read-only sections, merged into text segment: */
++  ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+PROVIDE (__executable_start = ${TEXT_START_ADDR}); . = ${TEXT_BASE_ADDRESS};}}}
++  ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR}${SIZEOF_HEADERS_CODE};}}
++  ${CREATE_PIE+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR}${SIZEOF_HEADERS_CODE};}}
++EOF
++
++emit_early_ro()
++{
++  cat <<EOF
++  ${INITIAL_READONLY_SECTIONS}
++  .note.gnu.build-id : { *(.note.gnu.build-id) }
++EOF
++}
++
++test -n "${SEPARATE_CODE}" || emit_early_ro
++
++test -n "${RELOCATING+0}" || unset NON_ALLOC_DYN
++test -z "${NON_ALLOC_DYN}" || TEXT_DYNAMIC=
++cat > ldscripts/dyntmp.$$ <<EOF
++  ${TEXT_DYNAMIC+${DYNAMIC}}
++  .hash         ${RELOCATING-0} : { *(.hash) }
++  .gnu.hash     ${RELOCATING-0} : { *(.gnu.hash) }
++  .dynsym       ${RELOCATING-0} : { *(.dynsym) }
++  .dynstr       ${RELOCATING-0} : { *(.dynstr) }
++  .gnu.version  ${RELOCATING-0} : { *(.gnu.version) }
++  .gnu.version_d ${RELOCATING-0}: { *(.gnu.version_d) }
++  .gnu.version_r ${RELOCATING-0}: { *(.gnu.version_r) }
++EOF
++
++if [ "x$COMBRELOC" = x ]; then
++  COMBRELOCCAT="cat >> ldscripts/dyntmp.$$"
++else
++  COMBRELOCCAT="cat > $COMBRELOC"
++fi
++eval $COMBRELOCCAT <<EOF
++  ${INITIAL_RELOC_SECTIONS}
++  .rel.init     ${RELOCATING-0} : { *(.rel.init) }
++  .rela.init    ${RELOCATING-0} : { *(.rela.init) }
++  .rel.text     ${RELOCATING-0} : { *(.rel.text${RELOCATING+ .rel.text.* .rel.gnu.linkonce.t.*}) }
++  .rela.text    ${RELOCATING-0} : { *(.rela.text${RELOCATING+ .rela.text.* .rela.gnu.linkonce.t.*}) }
++  .rel.fini     ${RELOCATING-0} : { *(.rel.fini) }
++  .rela.fini    ${RELOCATING-0} : { *(.rela.fini) }
++  .rel.${RODATA_NAME}   ${RELOCATING-0} : { *(.rel.${RODATA_NAME}${RELOCATING+ .rel.${RODATA_NAME}.* .rel.gnu.linkonce.r.*}) }
++  .rela.${RODATA_NAME}  ${RELOCATING-0} : { *(.rela.${RODATA_NAME}${RELOCATING+ .rela.${RODATA_NAME}.* .rela.gnu.linkonce.r.*}) }
++  ${OTHER_READONLY_RELOC_SECTIONS}
++  .rel.data.rel.ro ${RELOCATING-0} : { *(.rel.data.rel.ro${RELOCATING+ .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*}) }
++  .rela.data.rel.ro ${RELOCATING-0} : { *(.rela.data.rel.ro${RELOCATING+ .rela.data.rel.ro.* .rela.gnu.linkonce.d.rel.ro.*}) }
++  .rel.data     ${RELOCATING-0} : { *(.rel.data${RELOCATING+ .rel.data.* .rel.gnu.linkonce.d.*}) }
++  .rela.data    ${RELOCATING-0} : { *(.rela.data${RELOCATING+ .rela.data.* .rela.gnu.linkonce.d.*}) }
++  ${OTHER_READWRITE_RELOC_SECTIONS}
++  .rel.tdata  ${RELOCATING-0} : { *(.rel.tdata${RELOCATING+ .rel.tdata.* .rel.gnu.linkonce.td.*}) }
++  .rela.tdata ${RELOCATING-0} : { *(.rela.tdata${RELOCATING+ .rela.tdata.* .rela.gnu.linkonce.td.*}) }
++  .rel.tbss   ${RELOCATING-0} : { *(.rel.tbss${RELOCATING+ .rel.tbss.* .rel.gnu.linkonce.tb.*}) }
++  .rela.tbss  ${RELOCATING-0} : { *(.rela.tbss${RELOCATING+ .rela.tbss.* .rela.gnu.linkonce.tb.*}) }
++  .rel.ctors    ${RELOCATING-0} : { *(.rel.ctors) }
++  .rela.ctors   ${RELOCATING-0} : { *(.rela.ctors) }
++  .rel.dtors    ${RELOCATING-0} : { *(.rel.dtors) }
++  .rela.dtors   ${RELOCATING-0} : { *(.rela.dtors) }
++  .rel.got      ${RELOCATING-0} : { *(.rel.got) }
++  .rela.got     ${RELOCATING-0} : { *(.rela.got) }
++  ${OTHER_GOT_RELOC_SECTIONS}
++  ${REL_SDATA}
++  ${REL_SBSS}
++  ${REL_SDATA2}
++  ${REL_SBSS2}
++  .rel.${BSS_NAME}      ${RELOCATING-0} : { *(.rel.${BSS_NAME}${RELOCATING+ .rel.${BSS_NAME}.* .rel.gnu.linkonce.b.*}) }
++  .rela.${BSS_NAME}     ${RELOCATING-0} : { *(.rela.${BSS_NAME}${RELOCATING+ .rela.${BSS_NAME}.* .rela.gnu.linkonce.b.*}) }
++  ${REL_LARGE}
++  ${IREL_IN_PLT+$REL_IFUNC}
++  ${IREL_IN_PLT+$RELA_IFUNC}
++  ${IREL_IN_PLT-$REL_IPLT}
++  ${IREL_IN_PLT-$RELA_IPLT}
++EOF
++
++if [ -n "$COMBRELOC" ]; then
++cat >> ldscripts/dyntmp.$$ <<EOF
++  .rel.dyn      ${RELOCATING-0} :
++    {
++EOF
++sed -e '/^[   ]*[{}][         ]*$/d;/:[       ]*$/d;/\.rela\./d;s/^.*: { *\(.*\)}$/      \1/' $COMBRELOC >> ldscripts/dyntmp.$$
++cat >> ldscripts/dyntmp.$$ <<EOF
++    }
++  .rela.dyn     ${RELOCATING-0} :
++    {
++EOF
++sed -e '/^[   ]*[{}][         ]*$/d;/:[       ]*$/d;/\.rel\./d;s/^.*: { *\(.*\)}/      \1/' $COMBRELOC >> ldscripts/dyntmp.$$
++cat >> ldscripts/dyntmp.$$ <<EOF
++    }
++EOF
++fi
++
++cat >> ldscripts/dyntmp.$$ <<EOF
++  .rel.plt      ${RELOCATING-0} :
++    {
++      *(.rel.plt)
++      ${IREL_IN_PLT+${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rel_iplt_start = .);}}}
++      ${IREL_IN_PLT+${RELOCATING+*(.rel.iplt)}}
++      ${IREL_IN_PLT+${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rel_iplt_end = .);}}}
++    }
++  .rela.plt     ${RELOCATING-0} :
++    {
++      *(.rela.plt)
++      ${IREL_IN_PLT+${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rela_iplt_start = .);}}}
++      ${IREL_IN_PLT+${RELOCATING+*(.rela.iplt)}}
++      ${IREL_IN_PLT+${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rela_iplt_end = .);}}}
++    }
++  ${OTHER_PLT_RELOC_SECTIONS}
++EOF
++
++emit_dyn()
++{
++  if test -z "${NO_REL_RELOCS}${NO_RELA_RELOCS}"; then
++    cat ldscripts/dyntmp.$$
++  else
++    if test -z "${NO_REL_RELOCS}"; then
++      sed -e '/^[     ]*\.rela\.[^}]*$/,/}/d' -e '/^[         ]*\.rela\./d' ldscripts/dyntmp.$$
++    fi
++    if test -z "${NO_RELA_RELOCS}"; then
++      sed -e '/^[     ]*\.rel\.[^}]*$/,/}/d' -e '/^[  ]*\.rel\./d' ldscripts/dyntmp.$$
++    fi
++  fi
++  rm -f ldscripts/dyntmp.$$
++}
++
++test -n "${NON_ALLOC_DYN}${SEPARATE_CODE}" || emit_dyn
++
++cat <<EOF
++  .init         ${RELOCATING-0} :
++  {
++    ${RELOCATING+${INIT_START}}
++    KEEP (*(SORT_NONE(.init)))
++    ${RELOCATING+${INIT_END}}
++  } ${FILL}
++
++  ${TEXT_PLT+${PLT}}
++  ${TINY_READONLY_SECTION}
++  .text         ${RELOCATING-0} :
++  {
++    ${RELOCATING+${TEXT_START_SYMBOLS}}
++    ${RELOCATING+*(.text.unlikely .text.*_unlikely)}
++    ${RELOCATING+*(.text.exit .text.exit.*)}
++    ${RELOCATING+*(.text.startup .text.startup.*)}
++    ${RELOCATING+*(.text.hot .text.hot.*)}
++    *(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*})
++    /* .gnu.warning sections are handled specially by elf32.em.  */
++    *(.gnu.warning)
++    ${RELOCATING+${OTHER_TEXT_SECTIONS}}
++  } ${FILL}
++  .fini         ${RELOCATING-0} :
++  {
++    ${RELOCATING+${FINI_START}}
++    KEEP (*(SORT_NONE(.fini)))
++    ${RELOCATING+${FINI_END}}
++  } ${FILL}
++  ${RELOCATING+PROVIDE (__${ETEXT_NAME} = .);}
++  ${RELOCATING+PROVIDE (_${ETEXT_NAME} = .);}
++  ${RELOCATING+PROVIDE (${ETEXT_NAME} = .);}
++EOF
++
++if test -n "${SEPARATE_CODE}"; then
++  cat <<EOF
++  /* Adjust the address for the rodata segment.  We want to adjust up to
++     the same address within the page on the next page up.  */
++  ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+. = ${RODATA_ADDR-ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))};}}}
++  ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_RODATA_ADDR-ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))};}}
++  ${CREATE_PIE+${RELOCATING+. = ${SHLIB_RODATA_ADDR-ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))};}}
++EOF
++  emit_early_ro
++  emit_dyn
++fi
++
++cat <<EOF
++  ${WRITABLE_RODATA-${RODATA}}
++  .${RODATA_NAME}1      ${RELOCATING-0} : { *(.${RODATA_NAME}1) }
++  ${CREATE_SHLIB-${SDATA2}}
++  ${CREATE_SHLIB-${SBSS2}}
++  ${OTHER_READONLY_SECTIONS}
++  .eh_frame_hdr : { *(.eh_frame_hdr) }
++  .eh_frame     ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
++  .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table
++  .gcc_except_table.*) }
++  /* These sections are generated by the Sun/Oracle C++ compiler.  */
++  .exception_ranges ${RELOCATING-0} : ONLY_IF_RO { *(.exception_ranges
++  .exception_ranges*) }
++
++  /* Adjust the address for the data segment.  We want to adjust up to
++     the same address within the page on the next page up.  */
++  ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+. = ${DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}}
++  ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
++  ${CREATE_PIE+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
++
++  /* Exception handling  */
++  .eh_frame     ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) }
++  .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
++  .exception_ranges ${RELOCATING-0} : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) }
++
++  /* Thread Local Storage sections  */
++  .tdata      ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
++  .tbss               ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
++
++  .preinit_array   ${RELOCATING-0} :
++  {
++    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_start = .);}}
++    KEEP (*(.preinit_array))
++    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_end = .);}}
++  }
++  ${RELOCATING+${INIT_ARRAY}}
++  ${RELOCATING+${FINI_ARRAY}}
++  ${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}}
++  ${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}}
++  .jcr          ${RELOCATING-0} : { KEEP (*(.jcr)) }
++
++  ${RELOCATING+${DATARELRO}}
++  ${OTHER_RELRO_SECTIONS}
++  ${TEXT_DYNAMIC-${DYNAMIC}}
++  ${DATA_GOT+${RELRO_NOW+${GOT}}}
++  ${DATA_GOT+${RELRO_NOW+${GOTPLT}}}
++  ${DATA_GOT+${RELRO_NOW-${SEPARATE_GOTPLT+${GOT}}}}
++  ${RELOCATING+${DATA_SEGMENT_RELRO_END}}
++  ${DATA_GOT+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}}
++  ${DATA_GOT+${RELRO_NOW-${GOTPLT}}}
++
++  ${DATA_PLT+${PLT_BEFORE_GOT-${PLT}}}
++
++  .data         ${RELOCATING-0} :
++  {
++    ${RELOCATING+${DATA_START_SYMBOLS}}
++    *(.data${RELOCATING+ .data.* .gnu.linkonce.d.*})
++    ${CONSTRUCTING+SORT(CONSTRUCTORS)}
++  }
++  .data1        ${RELOCATING-0} : { *(.data1) }
++  ${WRITABLE_RODATA+${RODATA}}
++  ${OTHER_READWRITE_SECTIONS}
++  ${SMALL_DATA_CTOR+${RELOCATING+${CTOR}}}
++  ${SMALL_DATA_DTOR+${RELOCATING+${DTOR}}}
++  ${DATA_PLT+${PLT_BEFORE_GOT+${PLT}}}
++  ${SDATA_GOT+${RELOCATING+${OTHER_GOT_SYMBOLS+. = .; ${OTHER_GOT_SYMBOLS}}}}
++  ${SDATA_GOT+${GOT}}
++  ${SDATA_GOT+${OTHER_GOT_SECTIONS}}
++  ${SDATA}
++  ${OTHER_SDATA_SECTIONS}
++  ${RELOCATING+${DATA_END_SYMBOLS-${USER_LABEL_PREFIX}_edata = .; PROVIDE (${USER_LABEL_PREFIX}edata = .);}}
++  ${RELOCATING+. = .;}
++  ${RELOCATING+${USER_LABEL_PREFIX}__bss_start = .;}
++  ${RELOCATING+${OTHER_BSS_SYMBOLS}}
++  ${SBSS}
++  ${BSS_PLT+${PLT}}
++  .${BSS_NAME}          ${RELOCATING-0} :
++  {
++   *(.dyn${BSS_NAME})
++   *(.${BSS_NAME}${RELOCATING+ .${BSS_NAME}.* .gnu.linkonce.b.*})
++   *(COMMON)
++   /* Align here to ensure that the .bss section occupies space up to
++      _end.  Align after .bss to ensure correct alignment even if the
++      .bss section disappears because there are no input sections.
++      FIXME: Why do we need it? When there is no .bss section, we don't
++      pad the .data section.  */
++   ${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
++  }
++  ${OTHER_BSS_SECTIONS}
++  ${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
++  ${RELOCATING+. = ALIGN(${ALIGNMENT});}
++  ${LARGE_SECTIONS}
++  ${RELOCATING+. = ALIGN(${ALIGNMENT});}
++  ${RELOCATING+${OTHER_END_SYMBOLS}}
++  ${RELOCATING+${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .; PROVIDE (${USER_LABEL_PREFIX}end = .);}}
++  ${RELOCATING+${DATA_SEGMENT_END}}
++EOF
++
++test -z "${NON_ALLOC_DYN}" || emit_dyn
++
++cat <<EOF
++  /* Stabs debugging sections.  */
++  .stab          0 : { *(.stab) }
++  .stabstr       0 : { *(.stabstr) }
++  .stab.excl     0 : { *(.stab.excl) }
++  .stab.exclstr  0 : { *(.stab.exclstr) }
++  .stab.index    0 : { *(.stab.index) }
++  .stab.indexstr 0 : { *(.stab.indexstr) }
++
++  .comment       0 : { *(.comment) }
++
++  /* DWARF debug sections.
++     Symbols in the DWARF debugging sections are relative to the beginning
++     of the section so we begin them at 0.  */
++
++  /* DWARF 1 */
++  .debug          0 : { *(.debug) }
++  .line           0 : { *(.line) }
++
++  /* GNU DWARF 1 extensions */
++  .debug_srcinfo  0 : { *(.debug_srcinfo) }
++  .debug_sfnames  0 : { *(.debug_sfnames) }
++
++  /* DWARF 1.1 and DWARF 2 */
++  .debug_aranges  0 : { *(.debug_aranges) }
++  .debug_pubnames 0 : { *(.debug_pubnames) }
++
++  /* DWARF 2 */
++  .debug_info     0 : { *(.debug_info${RELOCATING+ .gnu.linkonce.wi.*}) }
++  .debug_abbrev   0 : { *(.debug_abbrev) }
++  .debug_line     0 : { *(.debug_line) }
++  .debug_frame    0 : { *(.debug_frame) }
++  .debug_str      0 : { *(.debug_str) }
++  .debug_loc      0 : { *(.debug_loc) }
++  .debug_macinfo  0 : { *(.debug_macinfo) }
++
++  /* SGI/MIPS DWARF 2 extensions */
++  .debug_weaknames 0 : { *(.debug_weaknames) }
++  .debug_funcnames 0 : { *(.debug_funcnames) }
++  .debug_typenames 0 : { *(.debug_typenames) }
++  .debug_varnames  0 : { *(.debug_varnames) }
++
++  /* DWARF 3 */
++  .debug_pubtypes 0 : { *(.debug_pubtypes) }
++  .debug_ranges   0 : { *(.debug_ranges) }
++
++  /* DWARF Extension.  */
++  .debug_macro    0 : { *(.debug_macro) } 
++  
++  ${TINY_DATA_SECTION}
++  ${TINY_BSS_SECTION}
++
++  ${STACK_ADDR+${STACK}}
++  ${ATTRS_SECTIONS}
++  ${OTHER_SECTIONS}
++  ${RELOCATING+${OTHER_SYMBOLS}}
++  ${RELOCATING+${DISCARDED}}
++}
++EOF
diff --git a/tools/k1om/broken/build-toolchain.sh b/tools/k1om/broken/build-toolchain.sh
new file mode 100755 (executable)
index 0000000..86c67cb
--- /dev/null
@@ -0,0 +1,133 @@
+#!/usr/bin/env bash
+
+# C/C++ toolchain build script for Barrelfish.
+# http://redmine.aluzina.org/projects/barrelfish/wiki/Toolchain_from_sources
+# http://wiki.barrelfish.org/CrossCompiler
+#
+# In order to build a toolchain you will need to install the following packages:
+#   $ sudo apt-get install gcc g++ make patch bison flex texinfo
+#
+# These are also required but will be downloaded automatically during the build:
+#   libgmp-dev, libmpc-dev, libmpfr-dev
+#
+# Optional (for Graphite optimizations): libcloog-ppl-dev.
+
+set -e  # Die if any command fails.
+set -x  # Trace each command before execution.
+
+BASEDIR=$(pwd)
+BASEDIR=/home/acreto
+
+
+export TARGET=x86_64-k1om-barrelfish
+
+# Path of your Barrelfish source and build tree.
+BARRELFISH_SOURCE=$BASEDIR/barrelfish.xeon-phi
+BARRELFISH_BUILD=$BASEDIR/barrelfish.xeon-phi/build
+
+# Modify these versions to match the corresponding patch.
+BINUTILS=binutils-2.24
+GCC=gcc-4.8.2
+
+
+# Directory this shell script is stored in.
+# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+# Paths to patches.
+BINUTILS_PATCH="${SCRIPT_DIR}/${BINUTILS}-barrelfish.patch"
+GCC_PATCH="${SCRIPT_DIR}/${GCC}-barrelfish.patch"
+
+#-------------------------------------------------------------------------------
+
+# Where the toolchain will be built and installed.
+# Note: the toolchain is specific to the Barrelfish tree mentioned above.
+TOOLCHAIN_PREFIX=${BARRELFISH_SOURCE}/toolchain
+
+
+
+#-------------------------------------------------------------------------------
+
+# Sanity checks.
+exit_with_error() { echo "error: $1" && exit 1; }
+[[ ! -d "${BARRELFISH_SOURCE}" ]] && \
+    exit_with_error "Barrelfish source not found (${BARRELFISH_SOURCE})."
+[[ ! -d "${BARRELFISH_BUILD}" ]] && \
+    exit_with_error "Barrelfish tree not found (${BARRELFISH_BUILD})."
+[[   -d "${TOOLCHAIN_PREFIX}" ]] && \
+    exit_with_error "toolchain already built in ${TOOLCHAIN_PREFIX}."
+[[ ! -f "${BINUTILS_PATCH}" ]] && \
+    exit_with_error "binutils patch not found (${BINUTILS_PATCH})."
+[[ ! -f "${GCC_PATCH}" ]] && \
+    exit_with_error "GCC patch not found (${GCC_PATCH})."
+
+
+# Build the toolchain.
+export PATH=${PATH}:${TOOLCHAIN_PREFIX}/bin
+export PREFIX=${TOOLCHAIN_PREFIX}
+
+
+TOOLCHAIN_BUILD="$(mktemp -d --tmpdir barrelfish-toolchain-build.XXXXXXXXXX)"
+
+
+# Build parallelism
+MAKE_JOBS=
+if [[ -z "${MAKE_JOBS}" ]]; then
+  # Guess a sensible value - default: #cores + 2.
+  MAKE_JOBS=$(($(grep "^core id" /proc/cpuinfo | sort -u | wc -l) + 2))
+fi
+
+
+pushd "${TOOLCHAIN_BUILD}"
+
+# 1. binutils - GNU Binary Utilities
+wget "http://ftp.gnu.org/gnu/binutils/${BINUTILS}.tar.gz"
+tar xzvf ${BINUTILS}.tar.gz
+pushd ${BINUTILS}/
+patch -p1 < "${BINUTILS_PATCH}"
+popd  # ${BINUTILS}/
+mkdir -p ${BINUTILS}-build/
+pushd ${BINUTILS}-build/
+../${BINUTILS}/configure \
+    --prefix="${TOOLCHAIN_PREFIX}" \
+    --target="${TARGET}" \
+    --enable-threads \
+    --enable-lto \
+    --enable-plugins \
+    --disable-nls
+make -j${MAKE_JOBS}
+make install-strip
+popd  # ${BINUTILS}-build/
+
+# 2. GCC - GNU Compiler Collection
+wget "ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/${GCC}/${GCC}.tar.bz2"
+tar xjvf ${GCC}.tar.bz2
+pushd ${GCC}/
+source ./contrib/download_prerequisites
+# http://stackoverflow.com/questions/407523/escape-a-string-for-sed-search-pattern
+BF_SOURCE_ESCAPED=$(echo "${BARRELFISH_SOURCE}" | sed -e 's/[\/&]/\\&/g')
+BF_BUILD_ESCAPED=$(echo "${BARRELFISH_BUILD}" | sed -e 's/[\/&]/\\&/g')
+sed -r -e "s/\{\{BF_SRC\}\}/${BF_SOURCE_ESCAPED}/g" \
+       -e "s/\{\{BF_BUILD\}\}/${BF_BUILD_ESCAPED}/g" \
+       "${GCC_PATCH}" | patch -p1
+popd  # ${GCC}/
+
+mkdir -p ${GCC}-build/
+pushd ${GCC}-build/
+../${GCC}/configure \
+    --prefix="${TOOLCHAIN_PREFIX}" \
+    --target="${TARGET}" \
+    --enable-languages=c,c++ \
+    --enable-initfini-array \
+    --disable-nls \
+    --disable-libssp \
+    --with-newlib \
+    --disable-multilib # from xeon phi inside cluster
+make -j$MAKE_JOBS
+make install-strip
+
+popd  # ${GCC}-build/
+
+popd  # ${TOOLCHAIN_BUILD}
+
+rm -rf "${TOOLCHAIN_BUILD}"
diff --git a/tools/k1om/broken/gcc-4.8.2-barrelfish.patch b/tools/k1om/broken/gcc-4.8.2-barrelfish.patch
new file mode 100644 (file)
index 0000000..5d4eb1d
--- /dev/null
@@ -0,0 +1,6470 @@
+diff --git a/config.sub b/config.sub
+index 707e9e2efe8d..59dd372ec16c 100755
+--- a/config.sub
++++ b/config.sub
+@@ -1359,6 +1359,7 @@ case $os in
+             | -sym* | -kopensolaris* | -plan9* \
+             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+             | -aos* | -aros* \
++            | -barrelfish* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index 92d57ddf4fb3..8e794e895be0 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -683,6 +683,12 @@ case ${target} in
+   tmake_file="${tmake_file} t-glibc"
+   target_has_targetcm=yes
+   ;;
++*-*-barrelfish*)
++  gas=yes
++  gnu_ld=yes
++  default_use_cxa_atexit=yes
++  use_gcc_stdint=wrap
++  ;;
+ *-*-netbsd*)
+   tmake_file="t-slibgcc"
+   gas=yes
+@@ -1212,9 +1224,21 @@ x86_64-*-darwin*)
+ i[34567]86-*-elf*)
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
+       ;;
++i[34567]86-pc-barrelfish*)
++      tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/barrelfish-x86_32.h"
++      ;;
++i[34567]86-scc-barrelfish*)
++      tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/barrelfish-scc.h"
++      ;;
+ x86_64-*-elf*)
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
+       ;;
++x86_64-k1om-barrelfish*)
++      tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/barrelfish-k1om.h"
++      ;;
++x86_64-*-barrelfish*)
++      tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/barrelfish-x86_64.h"
++      ;;
+ i[34567]86-*-rdos*)
+     tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
+     ;;
+diff --git a/gcc/config/i386/barrelfish-scc.h b/gcc/config/i386/barrelfish-scc.h
+new file mode 100644
+index 000000000000..930451c4dcdb
+--- /dev/null
++++ b/gcc/config/i386/barrelfish-scc.h
+@@ -0,0 +1,72 @@
++#define BF_SRC   "{{BF_SRC}}"
++#define BF_BUILD "{{BF_BUILD}}"
++
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS()                        \
++  do {                                                  \
++    builtin_define ("BARRELFISH");                      \
++    builtin_define_std ("barrelfish");                  \
++    builtin_define_std ("unix");                        \
++    builtin_define_std ("scc");                         \
++    builtin_define ("CONFIG_LAZY_THC");                 \
++    builtin_define ("CONFIG_NEWLIB");                   \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_LMP");  \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_UMP");  \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_LMP");     \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_UMP_IPI"); \
++    builtin_define ("BF_BUILD_DIR=\"" BF_BUILD "\"");   \
++    builtin_define ("BF_SRC_DIR=\"" BF_SRC "\"");       \
++    builtin_assert ("system=barrelfish");               \
++    builtin_assert ("system=unix");                     \
++  } while(0);
++
++#undef  CC1_SPEC
++#define CC1_SPEC "%(cc1_cpu) -mno-red-zone"
++
++/* Default #includes are defined in 'hake/ArchDefaults.hs' (see 'cStdIncs'). */
++#undef  CPP_SPEC
++#define CPP_SPEC                                       \
++  "-isystem" BF_SRC "/include "                        \
++  "-isystem" BF_SRC "/include/arch/scc "               \
++  "-isystem" BF_SRC "/include/arch/x86_32 "            \
++  "-isystem" BF_SRC "/lib/newlib/newlib/libc/include " \
++  "-isystem" BF_SRC "/include/c "                      \
++  "-isystem" BF_SRC "/include/target/x86_32 "          \
++  "-isystem" BF_SRC "/include/ipv4 "                   \
++  "-isystem" BF_BUILD "/scc/include "                  \
++  "-isystem" BF_BUILD "/scc/include/dev"
++
++/* Default libraries are specified in 'hake/ArchDefaults.hs' (see 'stdLibs').
++   Follows the order given by 'libDeps' in '{BF_SRC}/hake/RuleDefs.hs'. */
++#undef LIB_SPEC
++#define LIB_SPEC                  \
++  "-L" BF_BUILD "/scc/lib "       \
++  "-lbarrelfish "                 \
++  "-loctopus_parser "             \
++  BF_BUILD "/scc/errors/errno.o " \
++  "-lnewlib "                     \
++  "-lposixcompat "                \
++  "-lvfs "                        \
++  "-lahci "                       \
++  "-lnfs "                        \
++  "-llwip "                       \
++  "-lbarrelfish "                 \
++  "-lnewlib"
++
++#undef  STARTFILE_SPEC
++#define STARTFILE_SPEC             \
++  BF_BUILD "/scc/lib/crt0.o%s "    \
++  BF_BUILD "/scc/lib/crtbegin.o%s"
++
++#undef  ENDFILE_SPEC
++#define ENDFILE_SPEC                                                \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \
++  "%{mpc32:crtprec32.o%s} "                                         \
++  "%{mpc64:crtprec64.o%s} "                                         \
++  "%{mpc80:crtprec80.o%s} "                                         \
++  BF_BUILD "/scc/lib/crtend.o%s "                                   \
++  "-lcollections"
++
++/* System header files are C++ ready so don't wrap in extern "C". */
++#undef  NO_IMPLICIT_EXTERN_C
++#define NO_IMPLICIT_EXTERN_C  1
+diff --git a/gcc/config/i386/barrelfish-x86_32.h b/gcc/config/i386/barrelfish-x86_32.h
+new file mode 100644
+index 000000000000..84d0bf56721c
+--- /dev/null
++++ b/gcc/config/i386/barrelfish-x86_32.h
+@@ -0,0 +1,70 @@
++#define BF_SRC   "{{BF_SRC}}"
++#define BF_BUILD "{{BF_BUILD}}"
++
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS()                       \
++  do {                                                 \
++    builtin_define ("BARRELFISH");                     \
++    builtin_define_std ("barrelfish");                 \
++    builtin_define_std ("unix");                       \
++    builtin_define ("CONFIG_LAZY_THC");                \
++    builtin_define ("CONFIG_NEWLIB");                  \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_LMP"); \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_UMP"); \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_LMP");    \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_UMP");    \
++    builtin_define ("BF_BUILD_DIR=\"" BF_BUILD "\"");  \
++    builtin_define ("BF_SRC_DIR=\"" BF_SRC "\"");      \
++    builtin_assert ("system=barrelfish");              \
++    builtin_assert ("system=unix");                    \
++  } while(0);
++
++#undef  CC1_SPEC
++#define CC1_SPEC "%(cc1_cpu) -mno-red-zone"
++
++/* Default #includes are defined in 'hake/ArchDefaults.hs' (see 'cStdIncs'). */
++#undef  CPP_SPEC
++#define CPP_SPEC                                       \
++  "-isystem" BF_SRC "/include "                        \
++  "-isystem" BF_SRC "/include/arch/x86_32 "            \
++  "-isystem" BF_SRC "/lib/newlib/newlib/libc/include " \
++  "-isystem" BF_SRC "/include/c "                      \
++  "-isystem" BF_SRC "/include/target/x86_32 "          \
++  "-isystem" BF_SRC "/include/ipv4 "                   \
++  "-isystem" BF_BUILD "/x86_32/include "               \
++  "-isystem" BF_BUILD "/x86_32/include/dev"
++
++/* Default libraries are specified in 'hake/ArchDefaults.hs' (see 'stdLibs').
++   Follows the order given by 'libDeps' in '{BF_SRC}/hake/RuleDefs.hs'. */
++#undef LIB_SPEC
++#define LIB_SPEC                     \
++  "-L" BF_BUILD "/x86_32/lib "       \
++  "-lbarrelfish "                    \
++  "-loctopus_parser "                \
++  BF_BUILD "/x86_32/errors/errno.o " \
++  "-lnewlib "                        \
++  "-lposixcompat "                   \
++  "-lvfs "                           \
++  "-lahci "                          \
++  "-lnfs "                           \
++  "-llwip "                          \
++  "-lbarrelfish "                    \
++  "-lnewlib"
++
++#undef  STARTFILE_SPEC
++#define STARTFILE_SPEC                \
++  BF_BUILD "/x86_32/lib/crt0.o%s "    \
++  BF_BUILD "/x86_32/lib/crtbegin.o%s"
++
++#undef  ENDFILE_SPEC
++#define ENDFILE_SPEC                                                \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \
++  "%{mpc32:crtprec32.o%s} "                                         \
++  "%{mpc64:crtprec64.o%s} "                                         \
++  "%{mpc80:crtprec80.o%s} "                                         \
++  BF_BUILD "/x86_32/lib/crtend.o%s "                                \
++  "-lcollections"
++
++/* System header files are C++ ready so don't wrap in extern "C". */
++#undef  NO_IMPLICIT_EXTERN_C
++#define NO_IMPLICIT_EXTERN_C  1
+diff --git a/gcc/config/i386/barrelfish-x86_64.h b/gcc/config/i386/barrelfish-x86_64.h
+new file mode 100644
+index 000000000000..8608b62b1019
+--- /dev/null
++++ b/gcc/config/i386/barrelfish-x86_64.h
+@@ -0,0 +1,70 @@
++#define BF_SRC   "{{BF_SRC}}"
++#define BF_BUILD "{{BF_BUILD}}"
++
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS()                       \
++  do {                                                 \
++    builtin_define ("BARRELFISH");                     \
++    builtin_define_std ("barrelfish");                 \
++    builtin_define_std ("unix");                       \
++    builtin_define ("CONFIG_LAZY_THC");                \
++    builtin_define ("CONFIG_NEWLIB");                  \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_LMP"); \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_UMP"); \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_LMP");    \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_UMP");    \
++    builtin_define ("BF_BUILD_DIR=\"" BF_BUILD "\"");  \
++    builtin_define ("BF_SRC_DIR=\"" BF_SRC "\"");      \
++    builtin_assert ("system=barrelfish");              \
++    builtin_assert ("system=unix");                    \
++  } while(0);
++
++#undef  CC1_SPEC
++#define CC1_SPEC "%(cc1_cpu) -mno-red-zone"
++
++/* Default #includes are defined in 'hake/ArchDefaults.hs' (see 'cStdIncs'). */
++#undef  CPP_SPEC
++#define CPP_SPEC                                       \
++  "-isystem" BF_SRC "/include "                        \
++  "-isystem" BF_SRC "/include/arch/x86_64 "            \
++  "-isystem" BF_SRC "/lib/newlib/newlib/libc/include " \
++  "-isystem" BF_SRC "/include/c "                      \
++  "-isystem" BF_SRC "/include/target/x86_64 "          \
++  "-isystem" BF_SRC "/include/ipv4 "                   \
++  "-isystem" BF_BUILD "/x86_64/include "               \
++  "-isystem" BF_BUILD "/x86_64/include/dev"
++
++/* Default libraries are specified in 'hake/ArchDefaults.hs' (see 'stdLibs').
++   Follows the order given by 'libDeps' in '{BF_SRC}/hake/RuleDefs.hs'. */
++#undef LIB_SPEC
++#define LIB_SPEC                     \
++  "-L" BF_BUILD "/x86_64/lib "       \
++  "-lbarrelfish "                    \
++  "-loctopus_parser "                \
++  BF_BUILD "/x86_64/errors/errno.o " \
++  "-lnewlib "                        \
++  "-lposixcompat "                   \
++  "-lvfs "                           \
++  "-lahci "                          \
++  "-lnfs "                           \
++  "-llwip "                          \
++  "-lbarrelfish "                    \
++  "-lnewlib"
++
++#undef  STARTFILE_SPEC
++#define STARTFILE_SPEC                \
++  BF_BUILD "/x86_64/lib/crt0.o%s "    \
++  BF_BUILD "/x86_64/lib/crtbegin.o%s"
++
++#undef  ENDFILE_SPEC
++#define ENDFILE_SPEC                                                \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \
++  "%{mpc32:crtprec32.o%s} "                                         \
++  "%{mpc64:crtprec64.o%s} "                                         \
++  "%{mpc80:crtprec80.o%s} "                                         \
++  BF_BUILD "/x86_64/lib/crtend.o%s "                                \
++  "-lcollections"
++
++/* System header files are C++ ready so don't wrap in extern "C". */
++#undef  NO_IMPLICIT_EXTERN_C
++#define NO_IMPLICIT_EXTERN_C  1
+diff --git a/gcc/config/i386/barrelfish-k1om.h b/gcc/config/i386/barrelfish-k1om.h
+new file mode 100644
+index 000000000000..8608b62b1019
+--- /dev/null
++++ b/gcc/config/i386/barrelfish-k1om.h
+@@ -0,0 +1,70 @@
++#define BF_SRC   "{{BF_SRC}}"
++#define BF_BUILD "{{BF_BUILD}}"
++
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS()                       \
++  do {                                                 \
++    builtin_define ("BARRELFISH");                     \
++    builtin_define_std ("barrelfish");                 \
++    builtin_define_std ("unix");                       \
++    builtin_define ("CONFIG_LAZY_THC");                \
++    builtin_define ("CONFIG_NEWLIB");                  \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_LMP"); \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_UMP"); \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_LMP");    \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_UMP");    \
++    builtin_define ("BF_BUILD_DIR=\"" BF_BUILD "\"");  \
++    builtin_define ("BF_SRC_DIR=\"" BF_SRC "\"");      \
++    builtin_assert ("system=barrelfish");              \
++    builtin_assert ("system=unix");                    \
++  } while(0);
++
++#undef  CC1_SPEC
++#define CC1_SPEC "%(cc1_cpu) -mno-red-zone"
++
++/* Default #includes are defined in 'hake/ArchDefaults.hs' (see 'cStdIncs'). */
++#undef  CPP_SPEC
++#define CPP_SPEC                                       \
++  "-isystem" BF_SRC "/include "                        \
++  "-isystem" BF_SRC "/include/arch/k1om "            \
++  "-isystem" BF_SRC "/lib/newlib/newlib/libc/include " \
++  "-isystem" BF_SRC "/include/c "                      \
++  "-isystem" BF_SRC "/include/target/k1om "          \
++  "-isystem" BF_SRC "/include/ipv4 "                   \
++  "-isystem" BF_BUILD "/k1om/include "               \
++  "-isystem" BF_BUILD "/k1om/include/dev"
++
++/* Default libraries are specified in 'hake/ArchDefaults.hs' (see 'stdLibs').
++   Follows the order given by 'libDeps' in '{BF_SRC}/hake/RuleDefs.hs'. */
++#undef LIB_SPEC
++#define LIB_SPEC                     \
++  "-L" BF_BUILD "/k1om/lib "       \
++  "-lbarrelfish "                    \
++  "-loctopus_parser "                \
++  BF_BUILD "/k1om/errors/errno.o " \
++  "-lnewlib "                        \
++  "-lposixcompat "                   \
++  "-lvfs "                           \
++  "-lahci "                          \
++  "-lnfs "                           \
++  "-llwip "                          \
++  "-lbarrelfish "                    \
++  "-lnewlib"
++
++#undef  STARTFILE_SPEC
++#define STARTFILE_SPEC                \
++  BF_BUILD "/k1om/lib/crt0.o%s "    \
++  BF_BUILD "/k1om/lib/crtbegin.o%s"
++
++#undef  ENDFILE_SPEC
++#define ENDFILE_SPEC                                                \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \
++  "%{mpc32:crtprec32.o%s} "                                         \
++  "%{mpc64:crtprec64.o%s} "                                         \
++  "%{mpc80:crtprec80.o%s} "                                         \
++  BF_BUILD "/k1om/lib/crtend.o%s "                                \
++  "-lcollections"
++
++/* System header files are C++ ready so don't wrap in extern "C". */
++#undef  NO_IMPLICIT_EXTERN_C
++#define NO_IMPLICIT_EXTERN_C  1
+diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
+index b04dd659abd8..4fe4906df44e 100644
+--- a/gcc/ginclude/stddef.h
++++ b/gcc/ginclude/stddef.h
+@@ -198,7 +198,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
+ #define _GCC_SIZE_T
+ #define _SIZET_
+ #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
+-  || defined(__FreeBSD_kernel__)
++  || defined(__FreeBSD_kernel__) || defined(__barrelfish__)
+ /* __size_t is a typedef on FreeBSD 5, must not trash it. */
+ #elif defined (__VMS__)
+ /* __size_t is also a typedef on VMS.  */
+diff --git a/gcc/testsuite/g++.dg/dg.exp b/gcc/testsuite/g++.dg/dg.exp
+index 720135942bbf..e65f8891ef1e 100644
+--- a/gcc/testsuite/g++.dg/dg.exp
++++ b/gcc/testsuite/g++.dg/dg.exp
+@@ -31,6 +31,7 @@ dg-init
+ # Gather a list of all tests, with the exception of those in directories
+ # that are handled specially.
+ set tests [lsort [find $srcdir/$subdir *.C]]
++set tests [prune $tests $srcdir/$subdir/eh/*]
+ set tests [prune $tests $srcdir/$subdir/bprob/*]
+ set tests [prune $tests $srcdir/$subdir/charset/*]
+ set tests [prune $tests $srcdir/$subdir/compat/*]
+diff --git a/libgcc/config.host b/libgcc/config.host
+index 259c9a725f98..609b6a541c4f 100644
+--- a/libgcc/config.host
++++ b/libgcc/config.host
+@@ -199,6 +199,10 @@ case ${host} in
+   tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
+   extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
+   ;;
++*-*-barrelfish*)
++  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
++  extra_parts="crtbegin.o crtend.o"
++  ;;
+ *-*-lynxos*)
+   tmake_file="$tmake_file t-lynx $cpu_type/t-crtstuff t-crtstuff-pic t-libgcc-pic"
+   extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+@@ -523,6 +527,10 @@ i[34567]86-*-linux*)
+       tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
+       md_unwind_header=i386/linux-unwind.h
+       ;;
++i[34567]86-*-barrelfish*)
++      extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
++      tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
++      ;;
+ i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
+       extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
+       tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
+@@ -532,6 +544,14 @@ x86_64-*-linux*)
+       tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
+       md_unwind_header=i386/linux-unwind.h
+       ;;
++x86_64-k1om-barrelfish*)
++       extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
++       tmake_file="${tmake_file} i386/t-crtpc i386/t-mic-crtfm i386/${host_address}/t-mic-fprules-softfp  i386/t-crtstuff"
++       ;;
++x86_64-*-barrelfish*)
++      extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
++      tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
++      ;;
+ x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
+       extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
+       tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
+diff --git a/libiberty/clock.c b/libiberty/clock.c
+index 07d902e8a160..4d5817a30cf9 100644
+--- a/libiberty/clock.c
++++ b/libiberty/clock.c
+@@ -66,7 +66,7 @@ number of seconds used.
+ /* FIXME: should be able to declare as clock_t. */
+-long
++clock_t
+ clock (void)
+ {
+ #ifdef HAVE_GETRUSAGE
+diff --git a/libiberty/gettimeofday.c b/libiberty/gettimeofday.c
+index fca16794028e..88f2f5ae70d3 100644
+--- a/libiberty/gettimeofday.c
++++ b/libiberty/gettimeofday.c
+@@ -19,7 +19,7 @@ that @var{tz} be NULL.  Returns 0 on success, -1 on failure.
+ */ 
+ int
+-gettimeofday (struct timeval *tp, void *tz)
++gettimeofday (struct timeval *tp, struct timezone *tz)
+ {
+   if (tz)
+     abort ();
+diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
+index 57452f7fe590..1a1cfd4a6cfa 100755
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -52461,6 +52461,5983 @@ _ACEOF
+   fi
+     ;;
++  *-barrelfish*)
++
++  # All these tests are for C++; save the language and the compiler flags.
++  # The CXXFLAGS thing is suspicious, but based on similar bits previously
++  # found in GLIBCXX_CONFIGURE.
++
++  ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++  ac_test_CXXFLAGS="${CXXFLAGS+set}"
++  ac_save_CXXFLAGS="$CXXFLAGS"
++
++  # Check for maintainer-mode bits.
++  if test x"$USE_MAINTAINER_MODE" = xno; then
++    WERROR=''
++  else
++    WERROR='-Werror'
++  fi
++
++  # Check for -ffunction-sections -fdata-sections
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
++$as_echo_n "checking for g++ that supports -ffunction-sections -fdata-sections... " >&6; }
++  CXXFLAGS='-g -Werror -ffunction-sections -fdata-sections'
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++int foo; void bar() { };
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  ac_fdsections=yes
++else
++  ac_fdsections=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  if test "$ac_test_CXXFLAGS" = set; then
++    CXXFLAGS="$ac_save_CXXFLAGS"
++  else
++    # this is the suspicious part
++    CXXFLAGS=''
++  fi
++  if test x"$ac_fdsections" = x"yes"; then
++    SECTION_FLAGS='-ffunction-sections -fdata-sections'
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_fdsections" >&5
++$as_echo "$ac_fdsections" >&6; }
++
++  ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++
++
++
++  # If we're not using GNU ld, then there's no point in even trying these
++  # tests.  Check for that first.  We should have already tested for gld
++  # by now (in libtool), but require it now just to be safe...
++  test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
++  test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
++
++
++
++  # The name set by libtool depends on the version of libtool.  Shame on us
++  # for depending on an impl detail, but c'est la vie.  Older versions used
++  # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
++  # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
++  # makes sense).  We'll test with_gnu_ld everywhere else, so if that isn't
++  # set (hence we're using an older libtool), then set it.
++  if test x${with_gnu_ld+set} != xset; then
++    if test x${ac_cv_prog_gnu_ld+set} != xset; then
++      # We got through "ac_require(ac_prog_ld)" and still not set?  Huh?
++      with_gnu_ld=no
++    else
++      with_gnu_ld=$ac_cv_prog_gnu_ld
++    fi
++  fi
++
++  # Start by getting the version number.  I think the libtool test already
++  # does some of this, but throws away the result.
++  glibcxx_ld_is_gold=no
++  if test x"$with_gnu_ld" = x"yes"; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
++$as_echo_n "checking for ld version... " >&6; }
++
++    if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
++      glibcxx_ld_is_gold=yes
++    fi
++    ldver=`$LD --version 2>/dev/null |
++         sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
++
++    glibcxx_gnu_ld_version=`echo $ldver | \
++         $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
++$as_echo "$glibcxx_gnu_ld_version" >&6; }
++  fi
++
++  # Set --gc-sections.
++  glibcxx_have_gc_sections=no
++  if test "$glibcxx_ld_is_gold" = "yes"; then
++    if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
++      glibcxx_have_gc_sections=yes
++    fi
++  else
++    glibcxx_gcsections_min_ld=21602
++    if test x"$with_gnu_ld" = x"yes" &&
++      test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
++      glibcxx_have_gc_sections=yes
++    fi
++  fi
++  if test "$glibcxx_have_gc_sections" = "yes"; then
++    # Sufficiently young GNU ld it is!  Joy and bunny rabbits!
++    # NB: This flag only works reliably after 2.16.1. Configure tests
++    # for this are difficult, so hard wire a value that should work.
++
++    ac_test_CFLAGS="${CFLAGS+set}"
++    ac_save_CFLAGS="$CFLAGS"
++    CFLAGS='-Wl,--gc-sections'
++
++    # Check for -Wl,--gc-sections
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
++$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
++    if test x$gcc_no_link = xyes; then
++  as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
++fi
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++ int one(void) { return 1; }
++     int two(void) { return 2; }
++
++int
++main ()
++{
++ two();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++  ac_gcsections=yes
++else
++  ac_gcsections=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++    conftest$ac_exeext conftest.$ac_ext
++    if test "$ac_gcsections" = "yes"; then
++      rm -f conftest.c
++      touch conftest.c
++      if $CC -c conftest.c; then
++      if $LD --gc-sections -o conftest conftest.o 2>&1 | \
++         grep "Warning: gc-sections option ignored" > /dev/null; then
++        ac_gcsections=no
++      fi
++      fi
++      rm -f conftest.c conftest.o conftest
++    fi
++    if test "$ac_gcsections" = "yes"; then
++      SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
++    fi
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
++$as_echo "$ac_gcsections" >&6; }
++
++    if test "$ac_test_CFLAGS" = set; then
++      CFLAGS="$ac_save_CFLAGS"
++    else
++      # this is the suspicious part
++      CFLAGS=''
++    fi
++  fi
++
++  # Set -z,relro.
++  # Note this is only for shared objects.
++  ac_ld_relro=no
++  if test x"$with_gnu_ld" = x"yes"; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
++$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
++    cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
++    if test -n "$cxx_z_relo"; then
++      OPT_LDFLAGS="-Wl,-z,relro"
++      ac_ld_relro=yes
++    fi
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
++$as_echo "$ac_ld_relro" >&6; }
++  fi
++
++  # Set linker optimization flags.
++  if test x"$with_gnu_ld" = x"yes"; then
++    OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
++  fi
++
++
++
++
++
++  ac_test_CXXFLAGS="${CXXFLAGS+set}"
++  ac_save_CXXFLAGS="$CXXFLAGS"
++  CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
++$as_echo_n "checking for sin in -lm... " >&6; }
++if test "${ac_cv_lib_m_sin+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lm  $LIBS"
++if test x$gcc_no_link = xyes; then
++  as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
++fi
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char sin ();
++int
++main ()
++{
++return sin ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++  ac_cv_lib_m_sin=yes
++else
++  ac_cv_lib_m_sin=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
++$as_echo "$ac_cv_lib_m_sin" >&6; }
++if test "x$ac_cv_lib_m_sin" = x""yes; then :
++  libm="-lm"
++fi
++
++  ac_save_LIBS="$LIBS"
++  LIBS="$LIBS $libm"
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf declaration" >&5
++$as_echo_n "checking for isinf declaration... " >&6; }
++  if test x${glibcxx_cv_func_isinf_use+set} != xset; then
++    if test "${glibcxx_cv_func_isinf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ isinf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_isinf_use=yes
++else
++  glibcxx_cv_func_isinf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinf_use" >&5
++$as_echo "$glibcxx_cv_func_isinf_use" >&6; }
++
++  if test x$glibcxx_cv_func_isinf_use = x"yes"; then
++    for ac_func in isinf
++do :
++  ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf"
++if test "x$ac_cv_func_isinf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ISINF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinf declaration" >&5
++$as_echo_n "checking for _isinf declaration... " >&6; }
++  if test x${glibcxx_cv_func__isinf_use+set} != xset; then
++    if test "${glibcxx_cv_func__isinf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _isinf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__isinf_use=yes
++else
++  glibcxx_cv_func__isinf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinf_use" >&5
++$as_echo "$glibcxx_cv_func__isinf_use" >&6; }
++
++    if test x$glibcxx_cv_func__isinf_use = x"yes"; then
++      for ac_func in _isinf
++do :
++  ac_fn_c_check_func "$LINENO" "_isinf" "ac_cv_func__isinf"
++if test "x$ac_cv_func__isinf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ISINF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan declaration" >&5
++$as_echo_n "checking for isnan declaration... " >&6; }
++  if test x${glibcxx_cv_func_isnan_use+set} != xset; then
++    if test "${glibcxx_cv_func_isnan_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ isnan(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_isnan_use=yes
++else
++  glibcxx_cv_func_isnan_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnan_use" >&5
++$as_echo "$glibcxx_cv_func_isnan_use" >&6; }
++
++  if test x$glibcxx_cv_func_isnan_use = x"yes"; then
++    for ac_func in isnan
++do :
++  ac_fn_c_check_func "$LINENO" "isnan" "ac_cv_func_isnan"
++if test "x$ac_cv_func_isnan" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ISNAN 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnan declaration" >&5
++$as_echo_n "checking for _isnan declaration... " >&6; }
++  if test x${glibcxx_cv_func__isnan_use+set} != xset; then
++    if test "${glibcxx_cv_func__isnan_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _isnan(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__isnan_use=yes
++else
++  glibcxx_cv_func__isnan_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnan_use" >&5
++$as_echo "$glibcxx_cv_func__isnan_use" >&6; }
++
++    if test x$glibcxx_cv_func__isnan_use = x"yes"; then
++      for ac_func in _isnan
++do :
++  ac_fn_c_check_func "$LINENO" "_isnan" "ac_cv_func__isnan"
++if test "x$ac_cv_func__isnan" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ISNAN 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finite declaration" >&5
++$as_echo_n "checking for finite declaration... " >&6; }
++  if test x${glibcxx_cv_func_finite_use+set} != xset; then
++    if test "${glibcxx_cv_func_finite_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ finite(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_finite_use=yes
++else
++  glibcxx_cv_func_finite_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finite_use" >&5
++$as_echo "$glibcxx_cv_func_finite_use" >&6; }
++
++  if test x$glibcxx_cv_func_finite_use = x"yes"; then
++    for ac_func in finite
++do :
++  ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite"
++if test "x$ac_cv_func_finite" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FINITE 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finite declaration" >&5
++$as_echo_n "checking for _finite declaration... " >&6; }
++  if test x${glibcxx_cv_func__finite_use+set} != xset; then
++    if test "${glibcxx_cv_func__finite_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _finite(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__finite_use=yes
++else
++  glibcxx_cv_func__finite_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finite_use" >&5
++$as_echo "$glibcxx_cv_func__finite_use" >&6; }
++
++    if test x$glibcxx_cv_func__finite_use = x"yes"; then
++      for ac_func in _finite
++do :
++  ac_fn_c_check_func "$LINENO" "_finite" "ac_cv_func__finite"
++if test "x$ac_cv_func__finite" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FINITE 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincos declaration" >&5
++$as_echo_n "checking for sincos declaration... " >&6; }
++  if test x${glibcxx_cv_func_sincos_use+set} != xset; then
++    if test "${glibcxx_cv_func_sincos_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ sincos(0, 0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_sincos_use=yes
++else
++  glibcxx_cv_func_sincos_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincos_use" >&5
++$as_echo "$glibcxx_cv_func_sincos_use" >&6; }
++
++  if test x$glibcxx_cv_func_sincos_use = x"yes"; then
++    for ac_func in sincos
++do :
++  ac_fn_c_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
++if test "x$ac_cv_func_sincos" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_SINCOS 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincos declaration" >&5
++$as_echo_n "checking for _sincos declaration... " >&6; }
++  if test x${glibcxx_cv_func__sincos_use+set} != xset; then
++    if test "${glibcxx_cv_func__sincos_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _sincos(0, 0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__sincos_use=yes
++else
++  glibcxx_cv_func__sincos_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincos_use" >&5
++$as_echo "$glibcxx_cv_func__sincos_use" >&6; }
++
++    if test x$glibcxx_cv_func__sincos_use = x"yes"; then
++      for ac_func in _sincos
++do :
++  ac_fn_c_check_func "$LINENO" "_sincos" "ac_cv_func__sincos"
++if test "x$ac_cv_func__sincos" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__SINCOS 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpclass declaration" >&5
++$as_echo_n "checking for fpclass declaration... " >&6; }
++  if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
++    if test "${glibcxx_cv_func_fpclass_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ fpclass(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_fpclass_use=yes
++else
++  glibcxx_cv_func_fpclass_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fpclass_use" >&5
++$as_echo "$glibcxx_cv_func_fpclass_use" >&6; }
++
++  if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
++    for ac_func in fpclass
++do :
++  ac_fn_c_check_func "$LINENO" "fpclass" "ac_cv_func_fpclass"
++if test "x$ac_cv_func_fpclass" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FPCLASS 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fpclass declaration" >&5
++$as_echo_n "checking for _fpclass declaration... " >&6; }
++  if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
++    if test "${glibcxx_cv_func__fpclass_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _fpclass(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__fpclass_use=yes
++else
++  glibcxx_cv_func__fpclass_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fpclass_use" >&5
++$as_echo "$glibcxx_cv_func__fpclass_use" >&6; }
++
++    if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
++      for ac_func in _fpclass
++do :
++  ac_fn_c_check_func "$LINENO" "_fpclass" "ac_cv_func__fpclass"
++if test "x$ac_cv_func__fpclass" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FPCLASS 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for qfpclass declaration" >&5
++$as_echo_n "checking for qfpclass declaration... " >&6; }
++  if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
++    if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ qfpclass(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_qfpclass_use=yes
++else
++  glibcxx_cv_func_qfpclass_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_qfpclass_use" >&5
++$as_echo "$glibcxx_cv_func_qfpclass_use" >&6; }
++
++  if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
++    for ac_func in qfpclass
++do :
++  ac_fn_c_check_func "$LINENO" "qfpclass" "ac_cv_func_qfpclass"
++if test "x$ac_cv_func_qfpclass" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_QFPCLASS 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _qfpclass declaration" >&5
++$as_echo_n "checking for _qfpclass declaration... " >&6; }
++  if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
++    if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _qfpclass(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__qfpclass_use=yes
++else
++  glibcxx_cv_func__qfpclass_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__qfpclass_use" >&5
++$as_echo "$glibcxx_cv_func__qfpclass_use" >&6; }
++
++    if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
++      for ac_func in _qfpclass
++do :
++  ac_fn_c_check_func "$LINENO" "_qfpclass" "ac_cv_func__qfpclass"
++if test "x$ac_cv_func__qfpclass" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__QFPCLASS 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypot declaration" >&5
++$as_echo_n "checking for hypot declaration... " >&6; }
++  if test x${glibcxx_cv_func_hypot_use+set} != xset; then
++    if test "${glibcxx_cv_func_hypot_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ hypot(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_hypot_use=yes
++else
++  glibcxx_cv_func_hypot_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypot_use" >&5
++$as_echo "$glibcxx_cv_func_hypot_use" >&6; }
++
++  if test x$glibcxx_cv_func_hypot_use = x"yes"; then
++    for ac_func in hypot
++do :
++  ac_fn_c_check_func "$LINENO" "hypot" "ac_cv_func_hypot"
++if test "x$ac_cv_func_hypot" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_HYPOT 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypot declaration" >&5
++$as_echo_n "checking for _hypot declaration... " >&6; }
++  if test x${glibcxx_cv_func__hypot_use+set} != xset; then
++    if test "${glibcxx_cv_func__hypot_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _hypot(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__hypot_use=yes
++else
++  glibcxx_cv_func__hypot_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypot_use" >&5
++$as_echo "$glibcxx_cv_func__hypot_use" >&6; }
++
++    if test x$glibcxx_cv_func__hypot_use = x"yes"; then
++      for ac_func in _hypot
++do :
++  ac_fn_c_check_func "$LINENO" "_hypot" "ac_cv_func__hypot"
++if test "x$ac_cv_func__hypot" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__HYPOT 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float trig functions" >&5
++$as_echo_n "checking for float trig functions... " >&6; }
++  if test "${glibcxx_cv_func_float_trig_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++    ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_float_trig_use=yes
++else
++  glibcxx_cv_func_float_trig_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++    ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_trig_use" >&5
++$as_echo "$glibcxx_cv_func_float_trig_use" >&6; }
++  if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
++    for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float trig functions" >&5
++$as_echo_n "checking for _float trig functions... " >&6; }
++    if test "${glibcxx_cv_func__float_trig_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__float_trig_use=yes
++else
++  glibcxx_cv_func__float_trig_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_trig_use" >&5
++$as_echo "$glibcxx_cv_func__float_trig_use" >&6; }
++    if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
++      for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float round functions" >&5
++$as_echo_n "checking for float round functions... " >&6; }
++  if test "${glibcxx_cv_func_float_round_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++    ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ceilf (0); floorf (0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_float_round_use=yes
++else
++  glibcxx_cv_func_float_round_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++    ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_round_use" >&5
++$as_echo "$glibcxx_cv_func_float_round_use" >&6; }
++  if test x$glibcxx_cv_func_float_round_use = x"yes"; then
++    for ac_func in ceilf floorf
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float round functions" >&5
++$as_echo_n "checking for _float round functions... " >&6; }
++    if test "${glibcxx_cv_func__float_round_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++_ceilf (0); _floorf (0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__float_round_use=yes
++else
++  glibcxx_cv_func__float_round_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_round_use" >&5
++$as_echo "$glibcxx_cv_func__float_round_use" >&6; }
++    if test x$glibcxx_cv_func__float_round_use = x"yes"; then
++      for ac_func in _ceilf _floorf
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expf declaration" >&5
++$as_echo_n "checking for expf declaration... " >&6; }
++  if test x${glibcxx_cv_func_expf_use+set} != xset; then
++    if test "${glibcxx_cv_func_expf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ expf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_expf_use=yes
++else
++  glibcxx_cv_func_expf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expf_use" >&5
++$as_echo "$glibcxx_cv_func_expf_use" >&6; }
++
++  if test x$glibcxx_cv_func_expf_use = x"yes"; then
++    for ac_func in expf
++do :
++  ac_fn_c_check_func "$LINENO" "expf" "ac_cv_func_expf"
++if test "x$ac_cv_func_expf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_EXPF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expf declaration" >&5
++$as_echo_n "checking for _expf declaration... " >&6; }
++  if test x${glibcxx_cv_func__expf_use+set} != xset; then
++    if test "${glibcxx_cv_func__expf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _expf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__expf_use=yes
++else
++  glibcxx_cv_func__expf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expf_use" >&5
++$as_echo "$glibcxx_cv_func__expf_use" >&6; }
++
++    if test x$glibcxx_cv_func__expf_use = x"yes"; then
++      for ac_func in _expf
++do :
++  ac_fn_c_check_func "$LINENO" "_expf" "ac_cv_func__expf"
++if test "x$ac_cv_func__expf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__EXPF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanf declaration" >&5
++$as_echo_n "checking for isnanf declaration... " >&6; }
++  if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
++    if test "${glibcxx_cv_func_isnanf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ isnanf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_isnanf_use=yes
++else
++  glibcxx_cv_func_isnanf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanf_use" >&5
++$as_echo "$glibcxx_cv_func_isnanf_use" >&6; }
++
++  if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
++    for ac_func in isnanf
++do :
++  ac_fn_c_check_func "$LINENO" "isnanf" "ac_cv_func_isnanf"
++if test "x$ac_cv_func_isnanf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ISNANF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanf declaration" >&5
++$as_echo_n "checking for _isnanf declaration... " >&6; }
++  if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
++    if test "${glibcxx_cv_func__isnanf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _isnanf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__isnanf_use=yes
++else
++  glibcxx_cv_func__isnanf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanf_use" >&5
++$as_echo "$glibcxx_cv_func__isnanf_use" >&6; }
++
++    if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
++      for ac_func in _isnanf
++do :
++  ac_fn_c_check_func "$LINENO" "_isnanf" "ac_cv_func__isnanf"
++if test "x$ac_cv_func__isnanf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ISNANF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinff declaration" >&5
++$as_echo_n "checking for isinff declaration... " >&6; }
++  if test x${glibcxx_cv_func_isinff_use+set} != xset; then
++    if test "${glibcxx_cv_func_isinff_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ isinff(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_isinff_use=yes
++else
++  glibcxx_cv_func_isinff_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinff_use" >&5
++$as_echo "$glibcxx_cv_func_isinff_use" >&6; }
++
++  if test x$glibcxx_cv_func_isinff_use = x"yes"; then
++    for ac_func in isinff
++do :
++  ac_fn_c_check_func "$LINENO" "isinff" "ac_cv_func_isinff"
++if test "x$ac_cv_func_isinff" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ISINFF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinff declaration" >&5
++$as_echo_n "checking for _isinff declaration... " >&6; }
++  if test x${glibcxx_cv_func__isinff_use+set} != xset; then
++    if test "${glibcxx_cv_func__isinff_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _isinff(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__isinff_use=yes
++else
++  glibcxx_cv_func__isinff_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinff_use" >&5
++$as_echo "$glibcxx_cv_func__isinff_use" >&6; }
++
++    if test x$glibcxx_cv_func__isinff_use = x"yes"; then
++      for ac_func in _isinff
++do :
++  ac_fn_c_check_func "$LINENO" "_isinff" "ac_cv_func__isinff"
++if test "x$ac_cv_func__isinff" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ISINFF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2f declaration" >&5
++$as_echo_n "checking for atan2f declaration... " >&6; }
++  if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
++    if test "${glibcxx_cv_func_atan2f_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ atan2f(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_atan2f_use=yes
++else
++  glibcxx_cv_func_atan2f_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2f_use" >&5
++$as_echo "$glibcxx_cv_func_atan2f_use" >&6; }
++
++  if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
++    for ac_func in atan2f
++do :
++  ac_fn_c_check_func "$LINENO" "atan2f" "ac_cv_func_atan2f"
++if test "x$ac_cv_func_atan2f" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ATAN2F 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2f declaration" >&5
++$as_echo_n "checking for _atan2f declaration... " >&6; }
++  if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
++    if test "${glibcxx_cv_func__atan2f_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _atan2f(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__atan2f_use=yes
++else
++  glibcxx_cv_func__atan2f_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2f_use" >&5
++$as_echo "$glibcxx_cv_func__atan2f_use" >&6; }
++
++    if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
++      for ac_func in _atan2f
++do :
++  ac_fn_c_check_func "$LINENO" "_atan2f" "ac_cv_func__atan2f"
++if test "x$ac_cv_func__atan2f" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ATAN2F 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsf declaration" >&5
++$as_echo_n "checking for fabsf declaration... " >&6; }
++  if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
++    if test "${glibcxx_cv_func_fabsf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ fabsf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_fabsf_use=yes
++else
++  glibcxx_cv_func_fabsf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsf_use" >&5
++$as_echo "$glibcxx_cv_func_fabsf_use" >&6; }
++
++  if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
++    for ac_func in fabsf
++do :
++  ac_fn_c_check_func "$LINENO" "fabsf" "ac_cv_func_fabsf"
++if test "x$ac_cv_func_fabsf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FABSF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsf declaration" >&5
++$as_echo_n "checking for _fabsf declaration... " >&6; }
++  if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
++    if test "${glibcxx_cv_func__fabsf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _fabsf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__fabsf_use=yes
++else
++  glibcxx_cv_func__fabsf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsf_use" >&5
++$as_echo "$glibcxx_cv_func__fabsf_use" >&6; }
++
++    if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
++      for ac_func in _fabsf
++do :
++  ac_fn_c_check_func "$LINENO" "_fabsf" "ac_cv_func__fabsf"
++if test "x$ac_cv_func__fabsf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FABSF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodf declaration" >&5
++$as_echo_n "checking for fmodf declaration... " >&6; }
++  if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
++    if test "${glibcxx_cv_func_fmodf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ fmodf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_fmodf_use=yes
++else
++  glibcxx_cv_func_fmodf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodf_use" >&5
++$as_echo "$glibcxx_cv_func_fmodf_use" >&6; }
++
++  if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
++    for ac_func in fmodf
++do :
++  ac_fn_c_check_func "$LINENO" "fmodf" "ac_cv_func_fmodf"
++if test "x$ac_cv_func_fmodf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FMODF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodf declaration" >&5
++$as_echo_n "checking for _fmodf declaration... " >&6; }
++  if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
++    if test "${glibcxx_cv_func__fmodf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _fmodf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__fmodf_use=yes
++else
++  glibcxx_cv_func__fmodf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodf_use" >&5
++$as_echo "$glibcxx_cv_func__fmodf_use" >&6; }
++
++    if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
++      for ac_func in _fmodf
++do :
++  ac_fn_c_check_func "$LINENO" "_fmodf" "ac_cv_func__fmodf"
++if test "x$ac_cv_func__fmodf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FMODF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpf declaration" >&5
++$as_echo_n "checking for frexpf declaration... " >&6; }
++  if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
++    if test "${glibcxx_cv_func_frexpf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ frexpf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_frexpf_use=yes
++else
++  glibcxx_cv_func_frexpf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpf_use" >&5
++$as_echo "$glibcxx_cv_func_frexpf_use" >&6; }
++
++  if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
++    for ac_func in frexpf
++do :
++  ac_fn_c_check_func "$LINENO" "frexpf" "ac_cv_func_frexpf"
++if test "x$ac_cv_func_frexpf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FREXPF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpf declaration" >&5
++$as_echo_n "checking for _frexpf declaration... " >&6; }
++  if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
++    if test "${glibcxx_cv_func__frexpf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _frexpf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__frexpf_use=yes
++else
++  glibcxx_cv_func__frexpf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpf_use" >&5
++$as_echo "$glibcxx_cv_func__frexpf_use" >&6; }
++
++    if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
++      for ac_func in _frexpf
++do :
++  ac_fn_c_check_func "$LINENO" "_frexpf" "ac_cv_func__frexpf"
++if test "x$ac_cv_func__frexpf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FREXPF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotf declaration" >&5
++$as_echo_n "checking for hypotf declaration... " >&6; }
++  if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
++    if test "${glibcxx_cv_func_hypotf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ hypotf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_hypotf_use=yes
++else
++  glibcxx_cv_func_hypotf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotf_use" >&5
++$as_echo "$glibcxx_cv_func_hypotf_use" >&6; }
++
++  if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
++    for ac_func in hypotf
++do :
++  ac_fn_c_check_func "$LINENO" "hypotf" "ac_cv_func_hypotf"
++if test "x$ac_cv_func_hypotf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_HYPOTF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotf declaration" >&5
++$as_echo_n "checking for _hypotf declaration... " >&6; }
++  if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
++    if test "${glibcxx_cv_func__hypotf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _hypotf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__hypotf_use=yes
++else
++  glibcxx_cv_func__hypotf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotf_use" >&5
++$as_echo "$glibcxx_cv_func__hypotf_use" >&6; }
++
++    if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
++      for ac_func in _hypotf
++do :
++  ac_fn_c_check_func "$LINENO" "_hypotf" "ac_cv_func__hypotf"
++if test "x$ac_cv_func__hypotf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__HYPOTF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpf declaration" >&5
++$as_echo_n "checking for ldexpf declaration... " >&6; }
++  if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
++    if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ ldexpf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_ldexpf_use=yes
++else
++  glibcxx_cv_func_ldexpf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpf_use" >&5
++$as_echo "$glibcxx_cv_func_ldexpf_use" >&6; }
++
++  if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
++    for ac_func in ldexpf
++do :
++  ac_fn_c_check_func "$LINENO" "ldexpf" "ac_cv_func_ldexpf"
++if test "x$ac_cv_func_ldexpf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LDEXPF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpf declaration" >&5
++$as_echo_n "checking for _ldexpf declaration... " >&6; }
++  if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
++    if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _ldexpf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__ldexpf_use=yes
++else
++  glibcxx_cv_func__ldexpf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpf_use" >&5
++$as_echo "$glibcxx_cv_func__ldexpf_use" >&6; }
++
++    if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
++      for ac_func in _ldexpf
++do :
++  ac_fn_c_check_func "$LINENO" "_ldexpf" "ac_cv_func__ldexpf"
++if test "x$ac_cv_func__ldexpf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__LDEXPF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logf declaration" >&5
++$as_echo_n "checking for logf declaration... " >&6; }
++  if test x${glibcxx_cv_func_logf_use+set} != xset; then
++    if test "${glibcxx_cv_func_logf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ logf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_logf_use=yes
++else
++  glibcxx_cv_func_logf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logf_use" >&5
++$as_echo "$glibcxx_cv_func_logf_use" >&6; }
++
++  if test x$glibcxx_cv_func_logf_use = x"yes"; then
++    for ac_func in logf
++do :
++  ac_fn_c_check_func "$LINENO" "logf" "ac_cv_func_logf"
++if test "x$ac_cv_func_logf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LOGF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logf declaration" >&5
++$as_echo_n "checking for _logf declaration... " >&6; }
++  if test x${glibcxx_cv_func__logf_use+set} != xset; then
++    if test "${glibcxx_cv_func__logf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _logf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__logf_use=yes
++else
++  glibcxx_cv_func__logf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logf_use" >&5
++$as_echo "$glibcxx_cv_func__logf_use" >&6; }
++
++    if test x$glibcxx_cv_func__logf_use = x"yes"; then
++      for ac_func in _logf
++do :
++  ac_fn_c_check_func "$LINENO" "_logf" "ac_cv_func__logf"
++if test "x$ac_cv_func__logf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__LOGF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10f declaration" >&5
++$as_echo_n "checking for log10f declaration... " >&6; }
++  if test x${glibcxx_cv_func_log10f_use+set} != xset; then
++    if test "${glibcxx_cv_func_log10f_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ log10f(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_log10f_use=yes
++else
++  glibcxx_cv_func_log10f_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10f_use" >&5
++$as_echo "$glibcxx_cv_func_log10f_use" >&6; }
++
++  if test x$glibcxx_cv_func_log10f_use = x"yes"; then
++    for ac_func in log10f
++do :
++  ac_fn_c_check_func "$LINENO" "log10f" "ac_cv_func_log10f"
++if test "x$ac_cv_func_log10f" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LOG10F 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10f declaration" >&5
++$as_echo_n "checking for _log10f declaration... " >&6; }
++  if test x${glibcxx_cv_func__log10f_use+set} != xset; then
++    if test "${glibcxx_cv_func__log10f_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _log10f(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__log10f_use=yes
++else
++  glibcxx_cv_func__log10f_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10f_use" >&5
++$as_echo "$glibcxx_cv_func__log10f_use" >&6; }
++
++    if test x$glibcxx_cv_func__log10f_use = x"yes"; then
++      for ac_func in _log10f
++do :
++  ac_fn_c_check_func "$LINENO" "_log10f" "ac_cv_func__log10f"
++if test "x$ac_cv_func__log10f" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__LOG10F 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modff declaration" >&5
++$as_echo_n "checking for modff declaration... " >&6; }
++  if test x${glibcxx_cv_func_modff_use+set} != xset; then
++    if test "${glibcxx_cv_func_modff_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ modff(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_modff_use=yes
++else
++  glibcxx_cv_func_modff_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modff_use" >&5
++$as_echo "$glibcxx_cv_func_modff_use" >&6; }
++
++  if test x$glibcxx_cv_func_modff_use = x"yes"; then
++    for ac_func in modff
++do :
++  ac_fn_c_check_func "$LINENO" "modff" "ac_cv_func_modff"
++if test "x$ac_cv_func_modff" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_MODFF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modff declaration" >&5
++$as_echo_n "checking for _modff declaration... " >&6; }
++  if test x${glibcxx_cv_func__modff_use+set} != xset; then
++    if test "${glibcxx_cv_func__modff_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _modff(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__modff_use=yes
++else
++  glibcxx_cv_func__modff_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modff_use" >&5
++$as_echo "$glibcxx_cv_func__modff_use" >&6; }
++
++    if test x$glibcxx_cv_func__modff_use = x"yes"; then
++      for ac_func in _modff
++do :
++  ac_fn_c_check_func "$LINENO" "_modff" "ac_cv_func__modff"
++if test "x$ac_cv_func__modff" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__MODFF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modf declaration" >&5
++$as_echo_n "checking for modf declaration... " >&6; }
++  if test x${glibcxx_cv_func_modf_use+set} != xset; then
++    if test "${glibcxx_cv_func_modf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ modf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_modf_use=yes
++else
++  glibcxx_cv_func_modf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modf_use" >&5
++$as_echo "$glibcxx_cv_func_modf_use" >&6; }
++
++  if test x$glibcxx_cv_func_modf_use = x"yes"; then
++    for ac_func in modf
++do :
++  ac_fn_c_check_func "$LINENO" "modf" "ac_cv_func_modf"
++if test "x$ac_cv_func_modf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_MODF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modf declaration" >&5
++$as_echo_n "checking for _modf declaration... " >&6; }
++  if test x${glibcxx_cv_func__modf_use+set} != xset; then
++    if test "${glibcxx_cv_func__modf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _modf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__modf_use=yes
++else
++  glibcxx_cv_func__modf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modf_use" >&5
++$as_echo "$glibcxx_cv_func__modf_use" >&6; }
++
++    if test x$glibcxx_cv_func__modf_use = x"yes"; then
++      for ac_func in _modf
++do :
++  ac_fn_c_check_func "$LINENO" "_modf" "ac_cv_func__modf"
++if test "x$ac_cv_func__modf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__MODF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powf declaration" >&5
++$as_echo_n "checking for powf declaration... " >&6; }
++  if test x${glibcxx_cv_func_powf_use+set} != xset; then
++    if test "${glibcxx_cv_func_powf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ powf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_powf_use=yes
++else
++  glibcxx_cv_func_powf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powf_use" >&5
++$as_echo "$glibcxx_cv_func_powf_use" >&6; }
++
++  if test x$glibcxx_cv_func_powf_use = x"yes"; then
++    for ac_func in powf
++do :
++  ac_fn_c_check_func "$LINENO" "powf" "ac_cv_func_powf"
++if test "x$ac_cv_func_powf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_POWF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powf declaration" >&5
++$as_echo_n "checking for _powf declaration... " >&6; }
++  if test x${glibcxx_cv_func__powf_use+set} != xset; then
++    if test "${glibcxx_cv_func__powf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _powf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__powf_use=yes
++else
++  glibcxx_cv_func__powf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powf_use" >&5
++$as_echo "$glibcxx_cv_func__powf_use" >&6; }
++
++    if test x$glibcxx_cv_func__powf_use = x"yes"; then
++      for ac_func in _powf
++do :
++  ac_fn_c_check_func "$LINENO" "_powf" "ac_cv_func__powf"
++if test "x$ac_cv_func__powf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__POWF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtf declaration" >&5
++$as_echo_n "checking for sqrtf declaration... " >&6; }
++  if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
++    if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ sqrtf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_sqrtf_use=yes
++else
++  glibcxx_cv_func_sqrtf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtf_use" >&5
++$as_echo "$glibcxx_cv_func_sqrtf_use" >&6; }
++
++  if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
++    for ac_func in sqrtf
++do :
++  ac_fn_c_check_func "$LINENO" "sqrtf" "ac_cv_func_sqrtf"
++if test "x$ac_cv_func_sqrtf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_SQRTF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtf declaration" >&5
++$as_echo_n "checking for _sqrtf declaration... " >&6; }
++  if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
++    if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _sqrtf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__sqrtf_use=yes
++else
++  glibcxx_cv_func__sqrtf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtf_use" >&5
++$as_echo "$glibcxx_cv_func__sqrtf_use" >&6; }
++
++    if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
++      for ac_func in _sqrtf
++do :
++  ac_fn_c_check_func "$LINENO" "_sqrtf" "ac_cv_func__sqrtf"
++if test "x$ac_cv_func__sqrtf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__SQRTF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosf declaration" >&5
++$as_echo_n "checking for sincosf declaration... " >&6; }
++  if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
++    if test "${glibcxx_cv_func_sincosf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ sincosf(0, 0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_sincosf_use=yes
++else
++  glibcxx_cv_func_sincosf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosf_use" >&5
++$as_echo "$glibcxx_cv_func_sincosf_use" >&6; }
++
++  if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
++    for ac_func in sincosf
++do :
++  ac_fn_c_check_func "$LINENO" "sincosf" "ac_cv_func_sincosf"
++if test "x$ac_cv_func_sincosf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_SINCOSF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosf declaration" >&5
++$as_echo_n "checking for _sincosf declaration... " >&6; }
++  if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
++    if test "${glibcxx_cv_func__sincosf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _sincosf(0, 0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__sincosf_use=yes
++else
++  glibcxx_cv_func__sincosf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosf_use" >&5
++$as_echo "$glibcxx_cv_func__sincosf_use" >&6; }
++
++    if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
++      for ac_func in _sincosf
++do :
++  ac_fn_c_check_func "$LINENO" "_sincosf" "ac_cv_func__sincosf"
++if test "x$ac_cv_func__sincosf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__SINCOSF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitef declaration" >&5
++$as_echo_n "checking for finitef declaration... " >&6; }
++  if test x${glibcxx_cv_func_finitef_use+set} != xset; then
++    if test "${glibcxx_cv_func_finitef_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ finitef(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_finitef_use=yes
++else
++  glibcxx_cv_func_finitef_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitef_use" >&5
++$as_echo "$glibcxx_cv_func_finitef_use" >&6; }
++
++  if test x$glibcxx_cv_func_finitef_use = x"yes"; then
++    for ac_func in finitef
++do :
++  ac_fn_c_check_func "$LINENO" "finitef" "ac_cv_func_finitef"
++if test "x$ac_cv_func_finitef" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FINITEF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitef declaration" >&5
++$as_echo_n "checking for _finitef declaration... " >&6; }
++  if test x${glibcxx_cv_func__finitef_use+set} != xset; then
++    if test "${glibcxx_cv_func__finitef_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _finitef(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__finitef_use=yes
++else
++  glibcxx_cv_func__finitef_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitef_use" >&5
++$as_echo "$glibcxx_cv_func__finitef_use" >&6; }
++
++    if test x$glibcxx_cv_func__finitef_use = x"yes"; then
++      for ac_func in _finitef
++do :
++  ac_fn_c_check_func "$LINENO" "_finitef" "ac_cv_func__finitef"
++if test "x$ac_cv_func__finitef" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FINITEF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double trig functions" >&5
++$as_echo_n "checking for long double trig functions... " >&6; }
++  if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++    ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_long_double_trig_use=yes
++else
++  glibcxx_cv_func_long_double_trig_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++    ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_trig_use" >&5
++$as_echo "$glibcxx_cv_func_long_double_trig_use" >&6; }
++  if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
++    for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double trig functions" >&5
++$as_echo_n "checking for _long double trig functions... " >&6; }
++    if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__long_double_trig_use=yes
++else
++  glibcxx_cv_func__long_double_trig_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_trig_use" >&5
++$as_echo "$glibcxx_cv_func__long_double_trig_use" >&6; }
++    if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
++      for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double round functions" >&5
++$as_echo_n "checking for long double round functions... " >&6; }
++  if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++    ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ceill (0); floorl (0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_long_double_round_use=yes
++else
++  glibcxx_cv_func_long_double_round_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++    ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_long_double_round_use" >&5
++$as_echo "$glibcxx_cv_func_long_double_round_use" >&6; }
++  if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
++    for ac_func in ceill floorl
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _long double round functions" >&5
++$as_echo_n "checking for _long double round functions... " >&6; }
++    if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++_ceill (0); _floorl (0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__long_double_round_use=yes
++else
++  glibcxx_cv_func__long_double_round_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__long_double_round_use" >&5
++$as_echo "$glibcxx_cv_func__long_double_round_use" >&6; }
++    if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
++      for ac_func in _ceill _floorl
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanl declaration" >&5
++$as_echo_n "checking for isnanl declaration... " >&6; }
++  if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
++    if test "${glibcxx_cv_func_isnanl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ isnanl(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_isnanl_use=yes
++else
++  glibcxx_cv_func_isnanl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanl_use" >&5
++$as_echo "$glibcxx_cv_func_isnanl_use" >&6; }
++
++  if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
++    for ac_func in isnanl
++do :
++  ac_fn_c_check_func "$LINENO" "isnanl" "ac_cv_func_isnanl"
++if test "x$ac_cv_func_isnanl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ISNANL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanl declaration" >&5
++$as_echo_n "checking for _isnanl declaration... " >&6; }
++  if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
++    if test "${glibcxx_cv_func__isnanl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _isnanl(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__isnanl_use=yes
++else
++  glibcxx_cv_func__isnanl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanl_use" >&5
++$as_echo "$glibcxx_cv_func__isnanl_use" >&6; }
++
++    if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
++      for ac_func in _isnanl
++do :
++  ac_fn_c_check_func "$LINENO" "_isnanl" "ac_cv_func__isnanl"
++if test "x$ac_cv_func__isnanl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ISNANL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinfl declaration" >&5
++$as_echo_n "checking for isinfl declaration... " >&6; }
++  if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
++    if test "${glibcxx_cv_func_isinfl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ isinfl(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_isinfl_use=yes
++else
++  glibcxx_cv_func_isinfl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinfl_use" >&5
++$as_echo "$glibcxx_cv_func_isinfl_use" >&6; }
++
++  if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
++    for ac_func in isinfl
++do :
++  ac_fn_c_check_func "$LINENO" "isinfl" "ac_cv_func_isinfl"
++if test "x$ac_cv_func_isinfl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ISINFL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinfl declaration" >&5
++$as_echo_n "checking for _isinfl declaration... " >&6; }
++  if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
++    if test "${glibcxx_cv_func__isinfl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _isinfl(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__isinfl_use=yes
++else
++  glibcxx_cv_func__isinfl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinfl_use" >&5
++$as_echo "$glibcxx_cv_func__isinfl_use" >&6; }
++
++    if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
++      for ac_func in _isinfl
++do :
++  ac_fn_c_check_func "$LINENO" "_isinfl" "ac_cv_func__isinfl"
++if test "x$ac_cv_func__isinfl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ISINFL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2l declaration" >&5
++$as_echo_n "checking for atan2l declaration... " >&6; }
++  if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
++    if test "${glibcxx_cv_func_atan2l_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ atan2l(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_atan2l_use=yes
++else
++  glibcxx_cv_func_atan2l_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2l_use" >&5
++$as_echo "$glibcxx_cv_func_atan2l_use" >&6; }
++
++  if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
++    for ac_func in atan2l
++do :
++  ac_fn_c_check_func "$LINENO" "atan2l" "ac_cv_func_atan2l"
++if test "x$ac_cv_func_atan2l" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ATAN2L 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2l declaration" >&5
++$as_echo_n "checking for _atan2l declaration... " >&6; }
++  if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
++    if test "${glibcxx_cv_func__atan2l_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _atan2l(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__atan2l_use=yes
++else
++  glibcxx_cv_func__atan2l_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2l_use" >&5
++$as_echo "$glibcxx_cv_func__atan2l_use" >&6; }
++
++    if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
++      for ac_func in _atan2l
++do :
++  ac_fn_c_check_func "$LINENO" "_atan2l" "ac_cv_func__atan2l"
++if test "x$ac_cv_func__atan2l" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ATAN2L 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expl declaration" >&5
++$as_echo_n "checking for expl declaration... " >&6; }
++  if test x${glibcxx_cv_func_expl_use+set} != xset; then
++    if test "${glibcxx_cv_func_expl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ expl(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_expl_use=yes
++else
++  glibcxx_cv_func_expl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expl_use" >&5
++$as_echo "$glibcxx_cv_func_expl_use" >&6; }
++
++  if test x$glibcxx_cv_func_expl_use = x"yes"; then
++    for ac_func in expl
++do :
++  ac_fn_c_check_func "$LINENO" "expl" "ac_cv_func_expl"
++if test "x$ac_cv_func_expl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_EXPL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expl declaration" >&5
++$as_echo_n "checking for _expl declaration... " >&6; }
++  if test x${glibcxx_cv_func__expl_use+set} != xset; then
++    if test "${glibcxx_cv_func__expl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _expl(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__expl_use=yes
++else
++  glibcxx_cv_func__expl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expl_use" >&5
++$as_echo "$glibcxx_cv_func__expl_use" >&6; }
++
++    if test x$glibcxx_cv_func__expl_use = x"yes"; then
++      for ac_func in _expl
++do :
++  ac_fn_c_check_func "$LINENO" "_expl" "ac_cv_func__expl"
++if test "x$ac_cv_func__expl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__EXPL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsl declaration" >&5
++$as_echo_n "checking for fabsl declaration... " >&6; }
++  if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
++    if test "${glibcxx_cv_func_fabsl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ fabsl(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_fabsl_use=yes
++else
++  glibcxx_cv_func_fabsl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsl_use" >&5
++$as_echo "$glibcxx_cv_func_fabsl_use" >&6; }
++
++  if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
++    for ac_func in fabsl
++do :
++  ac_fn_c_check_func "$LINENO" "fabsl" "ac_cv_func_fabsl"
++if test "x$ac_cv_func_fabsl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FABSL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsl declaration" >&5
++$as_echo_n "checking for _fabsl declaration... " >&6; }
++  if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
++    if test "${glibcxx_cv_func__fabsl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _fabsl(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__fabsl_use=yes
++else
++  glibcxx_cv_func__fabsl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsl_use" >&5
++$as_echo "$glibcxx_cv_func__fabsl_use" >&6; }
++
++    if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
++      for ac_func in _fabsl
++do :
++  ac_fn_c_check_func "$LINENO" "_fabsl" "ac_cv_func__fabsl"
++if test "x$ac_cv_func__fabsl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FABSL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodl declaration" >&5
++$as_echo_n "checking for fmodl declaration... " >&6; }
++  if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
++    if test "${glibcxx_cv_func_fmodl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ fmodl(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_fmodl_use=yes
++else
++  glibcxx_cv_func_fmodl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodl_use" >&5
++$as_echo "$glibcxx_cv_func_fmodl_use" >&6; }
++
++  if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
++    for ac_func in fmodl
++do :
++  ac_fn_c_check_func "$LINENO" "fmodl" "ac_cv_func_fmodl"
++if test "x$ac_cv_func_fmodl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FMODL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodl declaration" >&5
++$as_echo_n "checking for _fmodl declaration... " >&6; }
++  if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
++    if test "${glibcxx_cv_func__fmodl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _fmodl(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__fmodl_use=yes
++else
++  glibcxx_cv_func__fmodl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodl_use" >&5
++$as_echo "$glibcxx_cv_func__fmodl_use" >&6; }
++
++    if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
++      for ac_func in _fmodl
++do :
++  ac_fn_c_check_func "$LINENO" "_fmodl" "ac_cv_func__fmodl"
++if test "x$ac_cv_func__fmodl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FMODL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpl declaration" >&5
++$as_echo_n "checking for frexpl declaration... " >&6; }
++  if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
++    if test "${glibcxx_cv_func_frexpl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ frexpl(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_frexpl_use=yes
++else
++  glibcxx_cv_func_frexpl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpl_use" >&5
++$as_echo "$glibcxx_cv_func_frexpl_use" >&6; }
++
++  if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
++    for ac_func in frexpl
++do :
++  ac_fn_c_check_func "$LINENO" "frexpl" "ac_cv_func_frexpl"
++if test "x$ac_cv_func_frexpl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FREXPL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpl declaration" >&5
++$as_echo_n "checking for _frexpl declaration... " >&6; }
++  if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
++    if test "${glibcxx_cv_func__frexpl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _frexpl(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__frexpl_use=yes
++else
++  glibcxx_cv_func__frexpl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpl_use" >&5
++$as_echo "$glibcxx_cv_func__frexpl_use" >&6; }
++
++    if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
++      for ac_func in _frexpl
++do :
++  ac_fn_c_check_func "$LINENO" "_frexpl" "ac_cv_func__frexpl"
++if test "x$ac_cv_func__frexpl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FREXPL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotl declaration" >&5
++$as_echo_n "checking for hypotl declaration... " >&6; }
++  if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
++    if test "${glibcxx_cv_func_hypotl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ hypotl(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_hypotl_use=yes
++else
++  glibcxx_cv_func_hypotl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotl_use" >&5
++$as_echo "$glibcxx_cv_func_hypotl_use" >&6; }
++
++  if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
++    for ac_func in hypotl
++do :
++  ac_fn_c_check_func "$LINENO" "hypotl" "ac_cv_func_hypotl"
++if test "x$ac_cv_func_hypotl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_HYPOTL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotl declaration" >&5
++$as_echo_n "checking for _hypotl declaration... " >&6; }
++  if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
++    if test "${glibcxx_cv_func__hypotl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _hypotl(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__hypotl_use=yes
++else
++  glibcxx_cv_func__hypotl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotl_use" >&5
++$as_echo "$glibcxx_cv_func__hypotl_use" >&6; }
++
++    if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
++      for ac_func in _hypotl
++do :
++  ac_fn_c_check_func "$LINENO" "_hypotl" "ac_cv_func__hypotl"
++if test "x$ac_cv_func__hypotl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__HYPOTL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpl declaration" >&5
++$as_echo_n "checking for ldexpl declaration... " >&6; }
++  if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
++    if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ ldexpl(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_ldexpl_use=yes
++else
++  glibcxx_cv_func_ldexpl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpl_use" >&5
++$as_echo "$glibcxx_cv_func_ldexpl_use" >&6; }
++
++  if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
++    for ac_func in ldexpl
++do :
++  ac_fn_c_check_func "$LINENO" "ldexpl" "ac_cv_func_ldexpl"
++if test "x$ac_cv_func_ldexpl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LDEXPL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpl declaration" >&5
++$as_echo_n "checking for _ldexpl declaration... " >&6; }
++  if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
++    if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _ldexpl(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__ldexpl_use=yes
++else
++  glibcxx_cv_func__ldexpl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpl_use" >&5
++$as_echo "$glibcxx_cv_func__ldexpl_use" >&6; }
++
++    if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
++      for ac_func in _ldexpl
++do :
++  ac_fn_c_check_func "$LINENO" "_ldexpl" "ac_cv_func__ldexpl"
++if test "x$ac_cv_func__ldexpl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__LDEXPL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logl declaration" >&5
++$as_echo_n "checking for logl declaration... " >&6; }
++  if test x${glibcxx_cv_func_logl_use+set} != xset; then
++    if test "${glibcxx_cv_func_logl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ logl(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_logl_use=yes
++else
++  glibcxx_cv_func_logl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logl_use" >&5
++$as_echo "$glibcxx_cv_func_logl_use" >&6; }
++
++  if test x$glibcxx_cv_func_logl_use = x"yes"; then
++    for ac_func in logl
++do :
++  ac_fn_c_check_func "$LINENO" "logl" "ac_cv_func_logl"
++if test "x$ac_cv_func_logl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LOGL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logl declaration" >&5
++$as_echo_n "checking for _logl declaration... " >&6; }
++  if test x${glibcxx_cv_func__logl_use+set} != xset; then
++    if test "${glibcxx_cv_func__logl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _logl(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__logl_use=yes
++else
++  glibcxx_cv_func__logl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logl_use" >&5
++$as_echo "$glibcxx_cv_func__logl_use" >&6; }
++
++    if test x$glibcxx_cv_func__logl_use = x"yes"; then
++      for ac_func in _logl
++do :
++  ac_fn_c_check_func "$LINENO" "_logl" "ac_cv_func__logl"
++if test "x$ac_cv_func__logl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__LOGL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10l declaration" >&5
++$as_echo_n "checking for log10l declaration... " >&6; }
++  if test x${glibcxx_cv_func_log10l_use+set} != xset; then
++    if test "${glibcxx_cv_func_log10l_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ log10l(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_log10l_use=yes
++else
++  glibcxx_cv_func_log10l_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10l_use" >&5
++$as_echo "$glibcxx_cv_func_log10l_use" >&6; }
++
++  if test x$glibcxx_cv_func_log10l_use = x"yes"; then
++    for ac_func in log10l
++do :
++  ac_fn_c_check_func "$LINENO" "log10l" "ac_cv_func_log10l"
++if test "x$ac_cv_func_log10l" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LOG10L 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10l declaration" >&5
++$as_echo_n "checking for _log10l declaration... " >&6; }
++  if test x${glibcxx_cv_func__log10l_use+set} != xset; then
++    if test "${glibcxx_cv_func__log10l_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _log10l(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__log10l_use=yes
++else
++  glibcxx_cv_func__log10l_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10l_use" >&5
++$as_echo "$glibcxx_cv_func__log10l_use" >&6; }
++
++    if test x$glibcxx_cv_func__log10l_use = x"yes"; then
++      for ac_func in _log10l
++do :
++  ac_fn_c_check_func "$LINENO" "_log10l" "ac_cv_func__log10l"
++if test "x$ac_cv_func__log10l" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__LOG10L 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modfl declaration" >&5
++$as_echo_n "checking for modfl declaration... " >&6; }
++  if test x${glibcxx_cv_func_modfl_use+set} != xset; then
++    if test "${glibcxx_cv_func_modfl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ modfl(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_modfl_use=yes
++else
++  glibcxx_cv_func_modfl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modfl_use" >&5
++$as_echo "$glibcxx_cv_func_modfl_use" >&6; }
++
++  if test x$glibcxx_cv_func_modfl_use = x"yes"; then
++    for ac_func in modfl
++do :
++  ac_fn_c_check_func "$LINENO" "modfl" "ac_cv_func_modfl"
++if test "x$ac_cv_func_modfl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_MODFL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modfl declaration" >&5
++$as_echo_n "checking for _modfl declaration... " >&6; }
++  if test x${glibcxx_cv_func__modfl_use+set} != xset; then
++    if test "${glibcxx_cv_func__modfl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _modfl(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__modfl_use=yes
++else
++  glibcxx_cv_func__modfl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modfl_use" >&5
++$as_echo "$glibcxx_cv_func__modfl_use" >&6; }
++
++    if test x$glibcxx_cv_func__modfl_use = x"yes"; then
++      for ac_func in _modfl
++do :
++  ac_fn_c_check_func "$LINENO" "_modfl" "ac_cv_func__modfl"
++if test "x$ac_cv_func__modfl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__MODFL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powl declaration" >&5
++$as_echo_n "checking for powl declaration... " >&6; }
++  if test x${glibcxx_cv_func_powl_use+set} != xset; then
++    if test "${glibcxx_cv_func_powl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ powl(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_powl_use=yes
++else
++  glibcxx_cv_func_powl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_powl_use" >&5
++$as_echo "$glibcxx_cv_func_powl_use" >&6; }
++
++  if test x$glibcxx_cv_func_powl_use = x"yes"; then
++    for ac_func in powl
++do :
++  ac_fn_c_check_func "$LINENO" "powl" "ac_cv_func_powl"
++if test "x$ac_cv_func_powl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_POWL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _powl declaration" >&5
++$as_echo_n "checking for _powl declaration... " >&6; }
++  if test x${glibcxx_cv_func__powl_use+set} != xset; then
++    if test "${glibcxx_cv_func__powl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _powl(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__powl_use=yes
++else
++  glibcxx_cv_func__powl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__powl_use" >&5
++$as_echo "$glibcxx_cv_func__powl_use" >&6; }
++
++    if test x$glibcxx_cv_func__powl_use = x"yes"; then
++      for ac_func in _powl
++do :
++  ac_fn_c_check_func "$LINENO" "_powl" "ac_cv_func__powl"
++if test "x$ac_cv_func__powl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__POWL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtl declaration" >&5
++$as_echo_n "checking for sqrtl declaration... " >&6; }
++  if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
++    if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ sqrtl(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_sqrtl_use=yes
++else
++  glibcxx_cv_func_sqrtl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sqrtl_use" >&5
++$as_echo "$glibcxx_cv_func_sqrtl_use" >&6; }
++
++  if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
++    for ac_func in sqrtl
++do :
++  ac_fn_c_check_func "$LINENO" "sqrtl" "ac_cv_func_sqrtl"
++if test "x$ac_cv_func_sqrtl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_SQRTL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sqrtl declaration" >&5
++$as_echo_n "checking for _sqrtl declaration... " >&6; }
++  if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
++    if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _sqrtl(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__sqrtl_use=yes
++else
++  glibcxx_cv_func__sqrtl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sqrtl_use" >&5
++$as_echo "$glibcxx_cv_func__sqrtl_use" >&6; }
++
++    if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
++      for ac_func in _sqrtl
++do :
++  ac_fn_c_check_func "$LINENO" "_sqrtl" "ac_cv_func__sqrtl"
++if test "x$ac_cv_func__sqrtl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__SQRTL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincosl declaration" >&5
++$as_echo_n "checking for sincosl declaration... " >&6; }
++  if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
++    if test "${glibcxx_cv_func_sincosl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ sincosl(0, 0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_sincosl_use=yes
++else
++  glibcxx_cv_func_sincosl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincosl_use" >&5
++$as_echo "$glibcxx_cv_func_sincosl_use" >&6; }
++
++  if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
++    for ac_func in sincosl
++do :
++  ac_fn_c_check_func "$LINENO" "sincosl" "ac_cv_func_sincosl"
++if test "x$ac_cv_func_sincosl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_SINCOSL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincosl declaration" >&5
++$as_echo_n "checking for _sincosl declaration... " >&6; }
++  if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
++    if test "${glibcxx_cv_func__sincosl_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _sincosl(0, 0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__sincosl_use=yes
++else
++  glibcxx_cv_func__sincosl_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincosl_use" >&5
++$as_echo "$glibcxx_cv_func__sincosl_use" >&6; }
++
++    if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
++      for ac_func in _sincosl
++do :
++  ac_fn_c_check_func "$LINENO" "_sincosl" "ac_cv_func__sincosl"
++if test "x$ac_cv_func__sincosl" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__SINCOSL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finitel declaration" >&5
++$as_echo_n "checking for finitel declaration... " >&6; }
++  if test x${glibcxx_cv_func_finitel_use+set} != xset; then
++    if test "${glibcxx_cv_func_finitel_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ finitel(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_finitel_use=yes
++else
++  glibcxx_cv_func_finitel_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finitel_use" >&5
++$as_echo "$glibcxx_cv_func_finitel_use" >&6; }
++
++  if test x$glibcxx_cv_func_finitel_use = x"yes"; then
++    for ac_func in finitel
++do :
++  ac_fn_c_check_func "$LINENO" "finitel" "ac_cv_func_finitel"
++if test "x$ac_cv_func_finitel" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FINITEL 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finitel declaration" >&5
++$as_echo_n "checking for _finitel declaration... " >&6; }
++  if test x${glibcxx_cv_func__finitel_use+set} != xset; then
++    if test "${glibcxx_cv_func__finitel_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _finitel(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__finitel_use=yes
++else
++  glibcxx_cv_func__finitel_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finitel_use" >&5
++$as_echo "$glibcxx_cv_func__finitel_use" >&6; }
++
++    if test x$glibcxx_cv_func__finitel_use = x"yes"; then
++      for ac_func in _finitel
++do :
++  ac_fn_c_check_func "$LINENO" "_finitel" "ac_cv_func__finitel"
++if test "x$ac_cv_func__finitel" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FINITEL 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++  LIBS="$ac_save_LIBS"
++  CXXFLAGS="$ac_save_CXXFLAGS"
++
++
++  ac_test_CXXFLAGS="${CXXFLAGS+set}"
++  ac_save_CXXFLAGS="$CXXFLAGS"
++  CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at_quick_exit declaration" >&5
++$as_echo_n "checking for at_quick_exit declaration... " >&6; }
++  if test x${glibcxx_cv_func_at_quick_exit_use+set} != xset; then
++    if test "${glibcxx_cv_func_at_quick_exit_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdlib.h>
++int
++main ()
++{
++ at_quick_exit(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_at_quick_exit_use=yes
++else
++  glibcxx_cv_func_at_quick_exit_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_at_quick_exit_use" >&5
++$as_echo "$glibcxx_cv_func_at_quick_exit_use" >&6; }
++  if test x$glibcxx_cv_func_at_quick_exit_use = x"yes"; then
++    for ac_func in at_quick_exit
++do :
++  ac_fn_c_check_func "$LINENO" "at_quick_exit" "ac_cv_func_at_quick_exit"
++if test "x$ac_cv_func_at_quick_exit" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_AT_QUICK_EXIT 1
++_ACEOF
++
++fi
++done
++
++  fi
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for quick_exit declaration" >&5
++$as_echo_n "checking for quick_exit declaration... " >&6; }
++  if test x${glibcxx_cv_func_quick_exit_use+set} != xset; then
++    if test "${glibcxx_cv_func_quick_exit_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdlib.h>
++int
++main ()
++{
++ quick_exit(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_quick_exit_use=yes
++else
++  glibcxx_cv_func_quick_exit_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_quick_exit_use" >&5
++$as_echo "$glibcxx_cv_func_quick_exit_use" >&6; }
++  if test x$glibcxx_cv_func_quick_exit_use = x"yes"; then
++    for ac_func in quick_exit
++do :
++  ac_fn_c_check_func "$LINENO" "quick_exit" "ac_cv_func_quick_exit"
++if test "x$ac_cv_func_quick_exit" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_QUICK_EXIT 1
++_ACEOF
++
++fi
++done
++
++  fi
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtold declaration" >&5
++$as_echo_n "checking for strtold declaration... " >&6; }
++  if test x${glibcxx_cv_func_strtold_use+set} != xset; then
++    if test "${glibcxx_cv_func_strtold_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdlib.h>
++int
++main ()
++{
++ strtold(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_strtold_use=yes
++else
++  glibcxx_cv_func_strtold_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtold_use" >&5
++$as_echo "$glibcxx_cv_func_strtold_use" >&6; }
++  if test x$glibcxx_cv_func_strtold_use = x"yes"; then
++    for ac_func in strtold
++do :
++  ac_fn_c_check_func "$LINENO" "strtold" "ac_cv_func_strtold"
++if test "x$ac_cv_func_strtold" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_STRTOLD 1
++_ACEOF
++
++fi
++done
++
++  fi
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtof declaration" >&5
++$as_echo_n "checking for strtof declaration... " >&6; }
++  if test x${glibcxx_cv_func_strtof_use+set} != xset; then
++    if test "${glibcxx_cv_func_strtof_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdlib.h>
++int
++main ()
++{
++ strtof(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_strtof_use=yes
++else
++  glibcxx_cv_func_strtof_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_strtof_use" >&5
++$as_echo "$glibcxx_cv_func_strtof_use" >&6; }
++  if test x$glibcxx_cv_func_strtof_use = x"yes"; then
++    for ac_func in strtof
++do :
++  ac_fn_c_check_func "$LINENO" "strtof" "ac_cv_func_strtof"
++if test "x$ac_cv_func_strtof" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_STRTOF 1
++_ACEOF
++
++fi
++done
++
++  fi
++
++
++
++
++  CXXFLAGS="$ac_save_CXXFLAGS"
++
++    ;;
+   *-mingw32*)
+   # If we're not using GNU ld, then there's no point in even trying these
+diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
+index 943ea676ea27..3e4e92454568 100644
+--- a/libstdc++-v3/crossconfig.m4
++++ b/libstdc++-v3/crossconfig.m4
+@@ -150,6 +150,12 @@ case "${host}" in
+     GCC_CHECK_TLS
+     AM_ICONV
+     ;;
++  *-barrelfish*)
++    GLIBCXX_CHECK_COMPILER_FEATURES
++    GLIBCXX_CHECK_LINKER_FEATURES
++    GLIBCXX_CHECK_MATH_SUPPORT
++    GLIBCXX_CHECK_STDLIB_SUPPORT
++    ;;
+   *-mingw32*)
+     GLIBCXX_CHECK_LINKER_FEATURES
+     GLIBCXX_CHECK_MATH_SUPPORT
+diff --git a/libstdc++-v3/include/c_global/csignal b/libstdc++-v3/include/c_global/csignal
+index 16446f502829..aa0f0067b044 100644
+--- a/libstdc++-v3/include/c_global/csignal
++++ b/libstdc++-v3/include/c_global/csignal
+@@ -49,9 +49,9 @@
+ namespace std
+ {
+-  using ::sig_atomic_t;
++  //using ::sig_atomic_t;
+   using ::signal;
+-  using ::raise;
++  //using ::raise;
+ } // namespace std
+ #endif
index 86c67cb..e67cafa 100755 (executable)
 set -e  # Die if any command fails.
 set -x  # Trace each command before execution.
 
-BASEDIR=$(pwd)
-BASEDIR=/home/acreto
-
+#-------------------------------------------------------------------------------
 
-export TARGET=x86_64-k1om-barrelfish
+# Modify these versions to match the corresponding patch.
+BINUTILS=binutils-2.22+mpss3.2
+GCC=gcc-4.7.0+mpss3.2
 
 # Path of your Barrelfish source and build tree.
-BARRELFISH_SOURCE=$BASEDIR/barrelfish.xeon-phi
-BARRELFISH_BUILD=$BASEDIR/barrelfish.xeon-phi/build
+BARRELFISH_SOURCE=/home/acreto/barrelfish.xeon-phi
+BARRELFISH_BUILD=${BARRELFISH_SOURCE}/build
 
-# Modify these versions to match the corresponding patch.
-BINUTILS=binutils-2.24
-GCC=gcc-4.8.2
+# Where the toolchain will be built and installed.
+# Note: the toolchain is specific to the Barrelfish tree mentioned above.
+TOOLCHAIN_PREFIX=${BARRELFISH_SOURCE}/toolchain
 
+# Cross compiler target.
+#TARGET=x86_64-pc-barrelfish
+TARGET=k1om-pc-barrelfish
+#TARGET=i586-pc-barrelfish
+#TARGET=i586-scc-barrelfish
 
 # Directory this shell script is stored in.
 # http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in
@@ -38,13 +43,12 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 BINUTILS_PATCH="${SCRIPT_DIR}/${BINUTILS}-barrelfish.patch"
 GCC_PATCH="${SCRIPT_DIR}/${GCC}-barrelfish.patch"
 
-#-------------------------------------------------------------------------------
-
-# Where the toolchain will be built and installed.
-# Note: the toolchain is specific to the Barrelfish tree mentioned above.
-TOOLCHAIN_PREFIX=${BARRELFISH_SOURCE}/toolchain
-
-
+# Build parallelism
+MAKE_JOBS=
+if [[ -z "${MAKE_JOBS}" ]]; then
+  # Guess a sensible value - default: #cores + 2.
+  MAKE_JOBS=$(($(grep "^core id" /proc/cpuinfo | sort -u | wc -l) + 2))
+fi
 
 #-------------------------------------------------------------------------------
 
@@ -61,31 +65,20 @@ exit_with_error() { echo "error: $1" && exit 1; }
 [[ ! -f "${GCC_PATCH}" ]] && \
     exit_with_error "GCC patch not found (${GCC_PATCH})."
 
+TOOLCHAIN_BUILD="$(mktemp -d --tmpdir barrelfish-toolchain-build.XXXXXXXXXX)"
 
 # Build the toolchain.
 export PATH=${PATH}:${TOOLCHAIN_PREFIX}/bin
-export PREFIX=${TOOLCHAIN_PREFIX}
-
-
-TOOLCHAIN_BUILD="$(mktemp -d --tmpdir barrelfish-toolchain-build.XXXXXXXXXX)"
-
-
-# Build parallelism
-MAKE_JOBS=
-if [[ -z "${MAKE_JOBS}" ]]; then
-  # Guess a sensible value - default: #cores + 2.
-  MAKE_JOBS=$(($(grep "^core id" /proc/cpuinfo | sort -u | wc -l) + 2))
-fi
-
 
 pushd "${TOOLCHAIN_BUILD}"
 
 # 1. binutils - GNU Binary Utilities
-wget "http://ftp.gnu.org/gnu/binutils/${BINUTILS}.tar.gz"
-tar xzvf ${BINUTILS}.tar.gz
+cp "${SCRIPT_DIR}/${BINUTILS}.tar.bz2" "${TOOLCHAIN_BUILD}/${BINUTILS}.tar.bz2"
+tar xjvf "${TOOLCHAIN_BUILD}/${BINUTILS}.tar.bz2"
 pushd ${BINUTILS}/
 patch -p1 < "${BINUTILS_PATCH}"
 popd  # ${BINUTILS}/
+
 mkdir -p ${BINUTILS}-build/
 pushd ${BINUTILS}-build/
 ../${BINUTILS}/configure \
@@ -94,14 +87,16 @@ pushd ${BINUTILS}-build/
     --enable-threads \
     --enable-lto \
     --enable-plugins \
-    --disable-nls
-make -j${MAKE_JOBS}
-make install-strip
+    --disable-nls \
+    --disable-doc \
+    MAKEINFO=missing
+make MAKEINFO=true -j${MAKE_JOBS}
+make MAKEINFO=true install-strip 
 popd  # ${BINUTILS}-build/
 
 # 2. GCC - GNU Compiler Collection
-wget "ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/${GCC}/${GCC}.tar.bz2"
-tar xjvf ${GCC}.tar.bz2
+cp "${SCRIPT_DIR}/${GCC}.tar.bz2" "${TOOLCHAIN_BUILD}/${GCC}.tar.bz2"
+tar xjvf "${TOOLCHAIN_BUILD}/${GCC}.tar.bz2"
 pushd ${GCC}/
 source ./contrib/download_prerequisites
 # http://stackoverflow.com/questions/407523/escape-a-string-for-sed-search-pattern
@@ -114,20 +109,24 @@ popd  # ${GCC}/
 
 mkdir -p ${GCC}-build/
 pushd ${GCC}-build/
-../${GCC}/configure \
+CC=gcc-4.7 ../${GCC}/configure \
     --prefix="${TOOLCHAIN_PREFIX}" \
     --target="${TARGET}" \
-    --enable-languages=c,c++ \
+    --enable-languages=c \
     --enable-initfini-array \
     --disable-nls \
+    --disable-multilib \
     --disable-libssp \
     --with-newlib \
-    --disable-multilib # from xeon phi inside cluster
-make -j$MAKE_JOBS
-make install-strip
-
+  #  --with-cpu-64=k1om \
+  #  --with-arch-64=k1om \
+  #  --with-tune-64=k1om \
+    MAKEINFO=missing
+make MAKEINFO=true -j$MAKE_JOBS
+make MAKEINFO=true install-strip
 popd  # ${GCC}-build/
 
 popd  # ${TOOLCHAIN_BUILD}
 
 rm -rf "${TOOLCHAIN_BUILD}"
+rm -rf "${TOOLCHAIN_BUILD}"
diff --git a/tools/k1om/gcc-4.7.0+mpss3.2-barrelfish.patch b/tools/k1om/gcc-4.7.0+mpss3.2-barrelfish.patch
new file mode 100644 (file)
index 0000000..a0f0988
--- /dev/null
@@ -0,0 +1,6651 @@
+diff --git a/config.sub b/config.sub
+index 78176a4..e16a497 100755
+--- a/config.sub       
++++ b/config.sub
+@@ -1329,6 +1329,7 @@
+             | -sym* | -kopensolaris* \
+             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+             | -aos* | -aros* \
++              | -barrelfish* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+diff --git a/gcc/gengtype.c b/gcc/gengtype.c
+index abf17f8..550d3bb 100644
+--- a/gcc/gengtype.c
++++ b/gcc/gengtype.c
+@@ -3613,13 +3613,13 @@ write_field_root (outf_p f, pair_p v, type_p type, const char *name,
+                  int has_length, struct fileloc *line, const char *if_marked,
+                  bool emit_pch, type_p field_type, const char *field_name)
+ {
++  struct pair newv;
+   /* If the field reference is relative to V, rather than to some
+      subcomponent of V, we can mark any subarrays with a single stride.
+      We're effectively treating the field as a global variable in its
+      own right.  */
+   if (v && type == v->type)
+     {
+-      struct pair newv;
+       newv = *v;
+       newv.type = field_type;
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index 7282a68..3933f4d 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -1172,10 +1172,28 @@
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
+       tmake_file="${tmake_file} i386/t-i386elf t-svr4"
+       ;;
++i[34567]86-pc-barrelfish*)
++      tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/barrelfish-x86_32.h"
++      tmake_file="${tmake_file} i386/t-i386elf i386/t-crtstuff"
++      use_fixproto=yes
++      ;;
++i[34567]86-scc-barrelfish*)
++      tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/barrelfish-scc.h"
++      tmake_file="${tmake_file} i386/t-i386elf i386/t-crtstuff"
++      use_fixproto=yes
++      ;;
+ x86_64-*-elf* | [lk]1om-*-elf*)
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
+       tmake_file="${tmake_file} i386/t-i386elf t-svr4"
+       ;;
++k1om-*-barrelfish*)
++      tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/barrelfish-k1om.h"
++      tmake_file="${tmake_file} i386/t-i386elf i386/t-crtstuff i386/t-mic-crtfm"
++      ;;
++x86_64-*-barrelfish*)
++      tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/barrelfish-x86_64.h"
++      tmake_file="${tmake_file} i386/t-i386elf i386/t-crtstuff"
++      ;;
+ i[34567]86-*-freebsd*)
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
+       tmake_file="${tmake_file} i386/t-crtstuff"
+@@ -2864,6 +2882,10 @@
+     arch=l1om
+     cpu=l1om
+     ;;
++  k1om-*-barrelfish*)
++    arch=k1om
++    cpu=k1om
++    ;;
+   k1om-*-linux* | x86_64-k1om-linux*)
+     arch=k1om
+     cpu=k1om
+@@ -3578,6 +3600,9 @@
+         i[34567]86-*-gnu*)
+               tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux"
+               ;;
++      k1om-*-barrelfish*)
++              tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp"
++              ;;
+       i[34567]86-*-solaris2*)
+               tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp"
+               ;;
+@@ -2706,7 +2706,7 @@
+ esac
+ case ${target} in
+-i[34567]86-*-linux* | x86_64-*-linux* | [lk]1om-*-linux*)
++i[34567]86-*-linux* | x86_64-*-linux* | [lk]1om-*-linux* | k1om-*-barrelfish* )
+       tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
+       ;;
+ i[34567]86-*-* | x86_64-*-* | [lk]1om-*-*)
+diff --git a/boehm-gc/configure b/boehm-gc/configure
+--- a/boehm-gc/configure
++++ b/boehm-gc/configure
+@@ -6771,7 +6771,7 @@
+   ;;
+ x86_64-*kfreebsd*-gnu|[lk]1om-*kfreebsd*-gnu| \
+-x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*|k1om-*-barrelfish \
+ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+   # Find out which ABI we are using.
+   echo 'int i;' > conftest.$ac_ext
+@@ -6820,6 +6820,9 @@
+         k1om-*linux*)
+           LD="${LD-ld} -m elf_k1om"
+           ;;
++          k1om-*barrelfish*)
++          LD="${LD-ld} -m elf_k1om"
++          ;;
+         ppc*-*linux*|powerpc*-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+@@ -14729,7 +14732,7 @@
+     THREADS=posix
+     THREADLIBS=-lpthread
+     case "$host" in
+-     x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* | [lk]1om-*-linux* | alpha-*-linux*)
++     x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* | [lk]1om-*-linux* | alpha-*-linux* | [lk]1om-*-barrelfish*)
+ $as_echo "#define GC_LINUX_THREADS 1" >>confdefs.h
+@@ -15283,7 +15286,7 @@
+ $as_echo "#define MAKE_BACK_GRAPH 1" >>confdefs.h
+       ;;
+-      x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* | [lk]1om-*-linux* )
++      x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* | [lk]1om-*-linux* | k1om-*-barrelfish* )
+       $as_echo "#define MAKE_BACK_GRAPH 1" >>confdefs.h
+       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&5
+diff --git a/libgcc/configure b/libgcc/configure
+--- a/libgcc/configure 
++++ b/libgcc/configure
+@@ -3683,7 +3683,7 @@
+   case $host in
+     powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | [lk]1om*-*-linux* | s390*-*-linux* | \
+-    i?86*-*-mingw* | x86_64*-*-mingw* | \
++    i?86*-*-mingw* | x86_64*-*-mingw* | k1om-*-barrelfish* | \
+     i?86*-*-cygwin*)
+       enable_decimal_float=yes
+       ;;
+@@ -6896,7 +6896,7 @@
+   case $target in
+     powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | [lk]1om*-*-linux* | s390*-*-linux* | \
+-    i?86*-*-mingw* | x86_64*-*-mingw* | \
++    i?86*-*-mingw* | x86_64*-*-mingw* | k1om-*-barrelfish* | \
+     i?86*-*-cygwin*)
+       enable_decimal_float=yes
+       ;;
+@@ -13277,7 +13277,7 @@
+ x86_64-*kfreebsd*-gnu|[lk]1om-*kfreebsd*-gnu| \
+ x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
++s390*-*linux*|s390*-*tpf*|sparc*-*linux*|k1om-*-barrelfish*)
+   # Find out which ABI we are using.
+   echo 'int i;' > conftest.$ac_ext
+   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -13325,6 +13325,9 @@
+         k1om-*linux*)
+           LD="${LD-ld} -m elf_k1om"
+           ;;
++        k1om-*barrelfish*)
++          LD="${LD-ld} -m elf_k1om"
++          ;;
+         ppc*-*linux*|powerpc*-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+diff --git a/libmudflap/configure b/libmudflap/configure
+--- a/libmudflap/configure
++++ b/libmudflap/configure
+@@ -6354,7 +6354,7 @@
+   ;;
+ x86_64-*kfreebsd*-gnu|[lk]1om-*kfreebsd*-gnu| \
+-x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*| k1om-*-barrelfish | \
+ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+   # Find out which ABI we are using.
+   echo 'int i;' > conftest.$ac_ext
+@@ -6403,6 +6403,9 @@
+         k1om-*linux*)
+           LD="${LD-ld} -m elf_k1om"
+           ;;
++        k1om-*barrelfish*)
++          LD="${LD-ld} -m elf_k1om"
++          ;;
+         ppc*-*linux*|powerpc*-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+diff --git a/libffi/configure b/libffi/configure
+--- a/libffi/configure
++++ b/libffi/configure
+@@ -6267,7 +6267,7 @@
+   ;;
+ x86_64-*kfreebsd*-gnu|[lk]1om-*kfreebsd*-gnu| \
+-x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*| k1om-*-barrelfish* |\
+ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+   # Find out which ABI we are using.
+   echo 'int i;' > conftest.$ac_ext
+@@ -6316,6 +6316,9 @@
+         k1om-*linux*)
+           LD="${LD-ld} -m elf_k1om"
+           ;;
++        k1om-*barrelfish*)
++          LD="${LD-ld} -m elf_k1om"
++          ;;
+         ppc*-*linux*|powerpc*-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+diff --git a/libquadmath/configure b/libquadmath/configure
+--- a/libquadmath/configure    
++++ b/libquadmath/configure    
+@@ -6249,7 +6249,7 @@
+   ;;
+ x86_64-*kfreebsd*-gnu|[lk]1om-*kfreebsd*-gnu| \
+-x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*|k1om-*-barrelfish*| \
+ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+   # Find out which ABI we are using.
+   echo 'int i;' > conftest.$ac_ext
+@@ -6298,6 +6298,9 @@
+         k1om-*linux*)
+           LD="${LD-ld} -m elf_k1om"
+           ;;
++        k1om-*barrelfish*)
++          LD="${LD-ld} -m elf_k1om"
++          ;;
+         ppc*-*linux*|powerpc*-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+
+diff --git a/libtool.m4 b/libtool.m4
+--- a/libtool.m4
++++ b/libtool.m4
+@@ -1221,7 +1221,7 @@
+   ;;
+ x86_64-*kfreebsd*-gnu|[[lk]]1om-*kfreebsd*-gnu| \
+-x86_64-*linux*|[[lk]]1om-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++x86_64-*linux*|[[lk]]1om-*linux*|ppc*-*linux*|powerpc*-*linux*|k1om-*-barrelfish*| \
+ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+   # Find out which ABI we are using.
+   echo 'int i;' > conftest.$ac_ext
+@@ -1266,6 +1266,9 @@
+         k1om-*linux*)
+           LD="${LD-ld} -m elf_k1om"
+           ;;
++        k1om-*barrelfish*)
++          LD="${LD-ld} -m elf_k1om"
++          ;;
+         ppc*-*linux*|powerpc*-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+diff --git a/libdecnumber/configure b/libdecnumber/configure
+--- a/libdecnumber/configure   
++++ b/libdecnumber/configure   
+@@ -4603,7 +4603,7 @@
+   case $target in
+     powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | [lk]1om*-*-linux* | s390*-*-linux* | \
+-    i?86*-*-mingw* | x86_64*-*-mingw* | \
++    i?86*-*-mingw* | x86_64*-*-mingw* | k1om-*-barrelfish*|\
+     i?86*-*-cygwin*)
+       enable_decimal_float=yes
+       ;;
+diff --git a/config/dfp.m4 b/config/dfp.m4
+--- a/config/dfp.m4
++++ b/config/dfp.m4
+@@ -21,7 +21,7 @@
+ [
+   case $1 in
+     powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | [[lk]]1om*-*-linux* | s390*-*-linux* | \
+-    i?86*-*-mingw* | x86_64*-*-mingw* | \
++    i?86*-*-mingw* | x86_64*-*-mingw* | k1om-*-barrelfish* |\
+     i?86*-*-cygwin*)
+       enable_decimal_float=yes
+       ;;
+diff --git a/zlib/configure b/zlib/configure
+--- a/zlib/configure
++++ b/zlib/configure
+@@ -5854,7 +5854,7 @@
+   ;;
+ x86_64-*kfreebsd*-gnu|[lk]1om-*kfreebsd*-gnu| \
+-x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*|k1om-*-barrelfish*| \
+ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+   # Find out which ABI we are using.
+   echo 'int i;' > conftest.$ac_ext
+@@ -5900,6 +5900,9 @@
+         l1om-*linux*)
+           LD="${LD-ld} -m elf_l1om"
+           ;;
++          k1om-*barrelfish*)
++          LD="${LD-ld} -m elf_k1om"
++          ;;
+         k1om-*linux*)
+           LD="${LD-ld} -m elf_k1om"
+           ;;
+diff --git a/libgomp/configure b/libgomp/configure
+--- a/libgomp/configure
++++ b/libgomp/configure
+@@ -6583,7 +6583,7 @@
+   ;;
+ x86_64-*kfreebsd*-gnu|[lk]1om-*kfreebsd*-gnu| \
+-x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++x86_64-*linux*|[lk]1om-*linux*|ppc*-*linux*|powerpc*-*linux*|k1om-*-barrelfish*| \
+ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+   # Find out which ABI we are using.
+   echo 'int i;' > conftest.$ac_ext
+@@ -6632,6 +6632,9 @@
+         k1om-*linux*)
+           LD="${LD-ld} -m elf_k1om"
+           ;;
++          k1om-*barrelfish*)
++          LD="${LD-ld} -m elf_k1om"
++          ;;
+         ppc*-*linux*|powerpc*-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+
+diff --git a/gcc/config/i386/barrelfish-scc.h b/gcc/config/i386/barrelfish-scc.h
+new file mode 100644
+index 0000000..930451c
+--- /dev/null
++++ b/gcc/config/i386/barrelfish-scc.h
+@@ -0,0 +1,72 @@
++#define BF_SRC   "{{BF_SRC}}"
++#define BF_BUILD "{{BF_BUILD}}"
++
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS()                        \
++  do {                                                  \
++    builtin_define ("BARRELFISH");                      \
++    builtin_define_std ("barrelfish");                  \
++    builtin_define_std ("unix");                        \
++    builtin_define_std ("scc");                         \
++    builtin_define ("CONFIG_LAZY_THC");                 \
++    builtin_define ("CONFIG_NEWLIB");                   \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_LMP");  \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_UMP");  \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_LMP");     \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_UMP_IPI"); \
++    builtin_define ("BF_BUILD_DIR=\"" BF_BUILD "\"");   \
++    builtin_define ("BF_SRC_DIR=\"" BF_SRC "\"");       \
++    builtin_assert ("system=barrelfish");               \
++    builtin_assert ("system=unix");                     \
++  } while(0);
++
++#undef  CC1_SPEC
++#define CC1_SPEC "%(cc1_cpu) -mno-red-zone"
++
++/* Default #includes are defined in 'hake/ArchDefaults.hs' (see 'cStdIncs'). */
++#undef  CPP_SPEC
++#define CPP_SPEC                                       \
++  "-isystem" BF_SRC "/include "                        \
++  "-isystem" BF_SRC "/include/arch/scc "               \
++  "-isystem" BF_SRC "/include/arch/x86_32 "            \
++  "-isystem" BF_SRC "/lib/newlib/newlib/libc/include " \
++  "-isystem" BF_SRC "/include/c "                      \
++  "-isystem" BF_SRC "/include/target/x86_32 "          \
++  "-isystem" BF_SRC "/include/ipv4 "                   \
++  "-isystem" BF_BUILD "/scc/include "                  \
++  "-isystem" BF_BUILD "/scc/include/dev"
++
++/* Default libraries are specified in 'hake/ArchDefaults.hs' (see 'stdLibs').
++   Follows the order given by 'libDeps' in '{BF_SRC}/hake/RuleDefs.hs'. */
++#undef LIB_SPEC
++#define LIB_SPEC                  \
++  "-L" BF_BUILD "/scc/lib "       \
++  "-lbarrelfish "                 \
++  "-loctopus_parser "             \
++  BF_BUILD "/scc/errors/errno.o " \
++  "-lnewlib "                     \
++  "-lposixcompat "                \
++  "-lvfs "                        \
++  "-lahci "                       \
++  "-lnfs "                        \
++  "-llwip "                       \
++  "-lbarrelfish "                 \
++  "-lnewlib"
++
++#undef  STARTFILE_SPEC
++#define STARTFILE_SPEC             \
++  BF_BUILD "/scc/lib/crt0.o%s "    \
++  BF_BUILD "/scc/lib/crtbegin.o%s"
++
++#undef  ENDFILE_SPEC
++#define ENDFILE_SPEC                                                \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \
++  "%{mpc32:crtprec32.o%s} "                                         \
++  "%{mpc64:crtprec64.o%s} "                                         \
++  "%{mpc80:crtprec80.o%s} "                                         \
++  BF_BUILD "/scc/lib/crtend.o%s "                                   \
++  "-lcollections"
++
++/* System header files are C++ ready so don't wrap in extern "C". */
++#undef  NO_IMPLICIT_EXTERN_C
++#define NO_IMPLICIT_EXTERN_C  1
+diff --git a/gcc/config/i386/barrelfish-x86_32.h b/gcc/config/i386/barrelfish-x86_32.h
+new file mode 100644
+index 0000000..84d0bf5
+--- /dev/null
++++ b/gcc/config/i386/barrelfish-x86_32.h
+@@ -0,0 +1,70 @@
++#define BF_SRC   "{{BF_SRC}}"
++#define BF_BUILD "{{BF_BUILD}}"
++
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS()                       \
++  do {                                                 \
++    builtin_define ("BARRELFISH");                     \
++    builtin_define_std ("barrelfish");                 \
++    builtin_define_std ("unix");                       \
++    builtin_define ("CONFIG_LAZY_THC");                \
++    builtin_define ("CONFIG_NEWLIB");                  \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_LMP"); \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_UMP"); \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_LMP");    \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_UMP");    \
++    builtin_define ("BF_BUILD_DIR=\"" BF_BUILD "\"");  \
++    builtin_define ("BF_SRC_DIR=\"" BF_SRC "\"");      \
++    builtin_assert ("system=barrelfish");              \
++    builtin_assert ("system=unix");                    \
++  } while(0);
++
++#undef  CC1_SPEC
++#define CC1_SPEC "%(cc1_cpu) -mno-red-zone"
++
++/* Default #includes are defined in 'hake/ArchDefaults.hs' (see 'cStdIncs'). */
++#undef  CPP_SPEC
++#define CPP_SPEC                                       \
++  "-isystem" BF_SRC "/include "                        \
++  "-isystem" BF_SRC "/include/arch/x86_32 "            \
++  "-isystem" BF_SRC "/lib/newlib/newlib/libc/include " \
++  "-isystem" BF_SRC "/include/c "                      \
++  "-isystem" BF_SRC "/include/target/x86_32 "          \
++  "-isystem" BF_SRC "/include/ipv4 "                   \
++  "-isystem" BF_BUILD "/x86_32/include "               \
++  "-isystem" BF_BUILD "/x86_32/include/dev"
++
++/* Default libraries are specified in 'hake/ArchDefaults.hs' (see 'stdLibs').
++   Follows the order given by 'libDeps' in '{BF_SRC}/hake/RuleDefs.hs'. */
++#undef LIB_SPEC
++#define LIB_SPEC                     \
++  "-L" BF_BUILD "/x86_32/lib "       \
++  "-lbarrelfish "                    \
++  "-loctopus_parser "                \
++  BF_BUILD "/x86_32/errors/errno.o " \
++  "-lnewlib "                        \
++  "-lposixcompat "                   \
++  "-lvfs "                           \
++  "-lahci "                          \
++  "-lnfs "                           \
++  "-llwip "                          \
++  "-lbarrelfish "                    \
++  "-lnewlib"
++
++#undef  STARTFILE_SPEC
++#define STARTFILE_SPEC                \
++  BF_BUILD "/x86_32/lib/crt0.o%s "    \
++  BF_BUILD "/x86_32/lib/crtbegin.o%s"
++
++#undef  ENDFILE_SPEC
++#define ENDFILE_SPEC                                                \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \
++  "%{mpc32:crtprec32.o%s} "                                         \
++  "%{mpc64:crtprec64.o%s} "                                         \
++  "%{mpc80:crtprec80.o%s} "                                         \
++  BF_BUILD "/x86_32/lib/crtend.o%s "                                \
++  "-lcollections"
++
++/* System header files are C++ ready so don't wrap in extern "C". */
++#undef  NO_IMPLICIT_EXTERN_C
++#define NO_IMPLICIT_EXTERN_C  1
+diff --git a/gcc/config/i386/barrelfish-x86_64.h b/gcc/config/i386/barrelfish-x86_64.h
+new file mode 100644
+index 0000000..8608b62
+--- /dev/null
++++ b/gcc/config/i386/barrelfish-x86_64.h
+@@ -0,0 +1,70 @@
++#define BF_SRC   "{{BF_SRC}}"
++#define BF_BUILD "{{BF_BUILD}}"
++
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS()                       \
++  do {                                                 \
++    builtin_define ("BARRELFISH");                     \
++    builtin_define_std ("barrelfish");                 \
++    builtin_define_std ("unix");                       \
++    builtin_define ("CONFIG_LAZY_THC");                \
++    builtin_define ("CONFIG_NEWLIB");                  \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_LMP"); \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_UMP"); \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_LMP");    \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_UMP");    \
++    builtin_define ("BF_BUILD_DIR=\"" BF_BUILD "\"");  \
++    builtin_define ("BF_SRC_DIR=\"" BF_SRC "\"");      \
++    builtin_assert ("system=barrelfish");              \
++    builtin_assert ("system=unix");                    \
++  } while(0);
++
++#undef  CC1_SPEC
++#define CC1_SPEC "%(cc1_cpu) -mno-red-zone"
++
++/* Default #includes are defined in 'hake/ArchDefaults.hs' (see 'cStdIncs'). */
++#undef  CPP_SPEC
++#define CPP_SPEC                                       \
++  "-isystem" BF_SRC "/include "                        \
++  "-isystem" BF_SRC "/include/arch/x86_64 "            \
++  "-isystem" BF_SRC "/lib/newlib/newlib/libc/include " \
++  "-isystem" BF_SRC "/include/c "                      \
++  "-isystem" BF_SRC "/include/target/x86_64 "          \
++  "-isystem" BF_SRC "/include/ipv4 "                   \
++  "-isystem" BF_BUILD "/x86_64/include "               \
++  "-isystem" BF_BUILD "/x86_64/include/dev"
++
++/* Default libraries are specified in 'hake/ArchDefaults.hs' (see 'stdLibs').
++   Follows the order given by 'libDeps' in '{BF_SRC}/hake/RuleDefs.hs'. */
++#undef LIB_SPEC
++#define LIB_SPEC                     \
++  "-L" BF_BUILD "/x86_64/lib "       \
++  "-lbarrelfish "                    \
++  "-loctopus_parser "                \
++  BF_BUILD "/x86_64/errors/errno.o " \
++  "-lnewlib "                        \
++  "-lposixcompat "                   \
++  "-lvfs "                           \
++  "-lahci "                          \
++  "-lnfs "                           \
++  "-llwip "                          \
++  "-lbarrelfish "                    \
++  "-lnewlib"
++
++#undef  STARTFILE_SPEC
++#define STARTFILE_SPEC                \
++  BF_BUILD "/x86_64/lib/crt0.o%s "    \
++  BF_BUILD "/x86_64/lib/crtbegin.o%s"
++
++#undef  ENDFILE_SPEC
++#define ENDFILE_SPEC                                                \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \
++  "%{mpc32:crtprec32.o%s} "                                         \
++  "%{mpc64:crtprec64.o%s} "                                         \
++  "%{mpc80:crtprec80.o%s} "                                         \
++  BF_BUILD "/x86_64/lib/crtend.o%s "                                \
++  "-lcollections"
++
++/* System header files are C++ ready so don't wrap in extern "C". */
++#undef  NO_IMPLICIT_EXTERN_C
++#define NO_IMPLICIT_EXTERN_C  1
+diff --git a/gcc/config/i386/barrelfish-k1om.h b/gcc/config/i386/barrelfish-k1om.h
+new file mode 100644
+index 0000000..8608b62
+--- /dev/null
++++ b/gcc/config/i386/barrelfish-k1om.h
+@@ -0,0 +1,70 @@
++#define BF_SRC   "{{BF_SRC}}"
++#define BF_BUILD "{{BF_BUILD}}"
++
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS()                       \
++  do {                                                 \
++    builtin_define ("BARRELFISH");                     \
++    builtin_define_std ("barrelfish");                 \
++    builtin_define_std ("unix");                       \
++    builtin_define ("CONFIG_LAZY_THC");                \
++    builtin_define ("CONFIG_NEWLIB");                  \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_LMP"); \
++    builtin_define ("CONFIG_INTERCONNECT_DRIVER_UMP"); \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_LMP");    \
++    builtin_define ("CONFIG_FLOUNDER_BACKEND_UMP");    \
++    builtin_define ("BF_BUILD_DIR=\"" BF_BUILD "\"");  \
++    builtin_define ("BF_SRC_DIR=\"" BF_SRC "\"");      \
++    builtin_assert ("system=barrelfish");              \
++    builtin_assert ("system=unix");                    \
++  } while(0);
++
++#undef  CC1_SPEC
++#define CC1_SPEC "%(cc1_cpu) -mno-red-zone"
++
++/* Default #includes are defined in 'hake/ArchDefaults.hs' (see 'cStdIncs'). */
++#undef  CPP_SPEC
++#define CPP_SPEC                                       \
++  "-isystem" BF_SRC "/include "                        \
++  "-isystem" BF_SRC "/include/arch/k1om "            \
++  "-isystem" BF_SRC "/lib/newlib/newlib/libc/include " \
++  "-isystem" BF_SRC "/include/c "                      \
++  "-isystem" BF_SRC "/include/target/k1om "          \
++  "-isystem" BF_SRC "/include/ipv4 "                   \
++  "-isystem" BF_BUILD "/k1om/include "               \
++  "-isystem" BF_BUILD "/k1om/include/dev"
++
++/* Default libraries are specified in 'hake/ArchDefaults.hs' (see 'stdLibs').
++   Follows the order given by 'libDeps' in '{BF_SRC}/hake/RuleDefs.hs'. */
++#undef LIB_SPEC
++#define LIB_SPEC                     \
++  "-L" BF_BUILD "/k1om/lib "       \
++  "-lbarrelfish "                    \
++  "-loctopus_parser "                \
++  BF_BUILD "/k1om/errors/errno.o " \
++  "-lnewlib "                        \
++  "-lposixcompat "                   \
++  "-lvfs "                           \
++  "-lahci "                          \
++  "-lnfs "                           \
++  "-llwip "                          \
++  "-lbarrelfish "                    \
++  "-lnewlib"
++
++#undef  STARTFILE_SPEC
++#define STARTFILE_SPEC                \
++  BF_BUILD "/k1om/lib/crt0.o%s "    \
++  BF_BUILD "/k1om/lib/crtbegin.o%s"
++
++#undef  ENDFILE_SPEC
++#define ENDFILE_SPEC                                                \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \
++  "%{mpc32:crtprec32.o%s} "                                         \
++  "%{mpc64:crtprec64.o%s} "                                         \
++  "%{mpc80:crtprec80.o%s} "                                         \
++  BF_BUILD "/k1om/lib/crtend.o%s "                                \
++  "-lcollections"
++
++/* System header files are C++ ready so don't wrap in extern "C". */
++#undef  NO_IMPLICIT_EXTERN_C
++#define NO_IMPLICIT_EXTERN_C  1
+diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
+index 8a03948..fe302bc 100644
+--- a/gcc/ginclude/stddef.h
++++ b/gcc/ginclude/stddef.h
+@@ -200,7 +200,7 @@
+ #define ___int_size_t_h
+ #define _GCC_SIZE_T
+ #define _SIZET_
+-#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
++#if defined (__FreeBSD__) && (__FreeBSD__ >= 5) || defined(__barrelfish__)
+ /* __size_t is a typedef on FreeBSD 5!, must not trash it. */
+ #else
+ #define __size_t
+diff --git a/gcc/testsuite/g++.dg/dg.exp b/gcc/testsuite/g++.dg/dg.exp
+index 0730c76..ea56210 100644
+--- a/gcc/testsuite/g++.dg/dg.exp
++++ b/gcc/testsuite/g++.dg/dg.exp
+@@ -31,6 +31,7 @@ dg-init
+ # Gather a list of all tests, with the exception of those in directories
+ # that are handled specially.
+ set tests [lsort [find $srcdir/$subdir *.C]]
++set tests [prune $tests $srcdir/$subdir/eh/*]
+ set tests [prune $tests $srcdir/$subdir/bprob/*]
+ set tests [prune $tests $srcdir/$subdir/charset/*]
+ set tests [prune $tests $srcdir/$subdir/compat/*]
+diff --git a/libgcc/config.host b/libgcc/config.host
+index 66b4724..86bb37d 100644
+--- a/libgcc/config.host
++++ b/libgcc/config.host
+@@ -291,6 +291,10 @@
+       extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
+       tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
+       ;;
++i[34567]86-*-barrelfish*)
++      extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
++      tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
++      ;;
+ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu | \
+   [lk]1om-*-linux* | [lk]1om-*-kfreebsd*-gnu | [lk]1om-*-knetbsd*-gnu)
+       extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
+@@ -304,6 +308,14 @@
+         ;;
+       esac;
+       ;;
++k1om-*-barrelfish*)
++      extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
++      tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules i386/t-mic-crtfm"
++      ;;
++x86_64-*-barrelfish*)
++      extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
++      tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
++      ;;
+ i[34567]86-pc-msdosdjgpp*)
+       ;;
+ i[34567]86-*-lynxos*)
+@@ -597,7 +597,7 @@
+ esac
+ case ${host} in
+-i[34567]86-*-linux* | x86_64-*-linux* | [lk]1om-*-linux* | \
++i[34567]86-*-linux* | x86_64-*-linux* | [lk]1om-*-linux* | k1om-*-barrelfish* | \
+   i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | \
+   i[34567]86-*-gnu*)
+       tmake_file="${tmake_file} t-tls"
+@@ -611,7 +611,7 @@
+ i[34567]86-*-darwin* | x86_64-*-darwin* | [lk]1om-*-darwin* | \
+   i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | [lk]1om-*-kfreebsd*-gnu | \
+   i[34567]86-*-linux* | x86_64-*-linux* | [lk]1om-*-linux* | \
+-  i[34567]86-*-gnu* | \
++  i[34567]86-*-gnu* | k1om-*-barrelfish* | \
+   i[34567]86-*-solaris2* | \
+   i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw* | \
+   i[34567]86-*-freebsd* | x86_64-*-freebsd* | [lk]1om-*-freebsd*)
+@@ -622,7 +622,7 @@
+ esac
+ case ${host} in
+-i[34567]86-*-linux* | x86_64-*-linux* | [lk]1om-*-linux*)
++i[34567]86-*-linux* | x86_64-*-linux* | [lk]1om-*-linux* | k1om-*-barrelfish*)
+       # Provide backward binary compatibility for 64bit Linux/x86.
+       if test "${host_address}" = 64; then
+               tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
+diff --git a/libiberty/clock.c b/libiberty/clock.c
+index 07d902e..4d5817a 100644
+--- a/libiberty/clock.c
++++ b/libiberty/clock.c
+@@ -66,7 +66,7 @@ number of seconds used.
+ /* FIXME: should be able to declare as clock_t. */
+-long
++clock_t
+ clock (void)
+ {
+ #ifdef HAVE_GETRUSAGE
+diff --git a/libiberty/gettimeofday.c b/libiberty/gettimeofday.c
+index fca1679..88f2f5a 100644
+--- a/libiberty/gettimeofday.c
++++ b/libiberty/gettimeofday.c
+@@ -19,7 +19,7 @@ that @var{tz} be NULL.  Returns 0 on success, -1 on failure.
+ */ 
+ int
+-gettimeofday (struct timeval *tp, void *tz)
++gettimeofday (struct timeval *tp, struct timezone *tz)
+ {
+   if (tz)
+     abort ();
+diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
+index b642495..45e3ed3 100755
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -50852,6 +51752,5867 @@ _ACEOF
+   fi
+     ;;
++  *-barrelfish*)
++
++  # All these tests are for C++; save the language and the compiler flags.
++  # The CXXFLAGS thing is suspicious, but based on similar bits previously
++  # found in GLIBCXX_CONFIGURE.
++
++  ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++  ac_test_CXXFLAGS="${CXXFLAGS+set}"
++  ac_save_CXXFLAGS="$CXXFLAGS"
++
++  # Check for maintainer-mode bits.
++  if test x"$USE_MAINTAINER_MODE" = xno; then
++    WERROR=''
++  else
++    WERROR='-Werror'
++  fi
++
++  # Check for -ffunction-sections -fdata-sections
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
++$as_echo_n "checking for g++ that supports -ffunction-sections -fdata-sections... " >&6; }
++  CXXFLAGS='-g -Werror -ffunction-sections -fdata-sections'
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++int foo; void bar() { };
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  ac_fdsections=yes
++else
++  ac_fdsections=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  if test "$ac_test_CXXFLAGS" = set; then
++    CXXFLAGS="$ac_save_CXXFLAGS"
++  else
++    # this is the suspicious part
++    CXXFLAGS=''
++  fi
++  if test x"$ac_fdsections" = x"yes"; then
++    SECTION_FLAGS='-ffunction-sections -fdata-sections'
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_fdsections" >&5
++$as_echo "$ac_fdsections" >&6; }
++
++  ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++
++
++
++  # If we're not using GNU ld, then there's no point in even trying these
++  # tests.  Check for that first.  We should have already tested for gld
++  # by now (in libtool), but require it now just to be safe...
++  test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
++  test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
++
++
++
++  # The name set by libtool depends on the version of libtool.  Shame on us
++  # for depending on an impl detail, but c'est la vie.  Older versions used
++  # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
++  # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
++  # makes sense).  We'll test with_gnu_ld everywhere else, so if that isn't
++  # set (hence we're using an older libtool), then set it.
++  if test x${with_gnu_ld+set} != xset; then
++    if test x${ac_cv_prog_gnu_ld+set} != xset; then
++      # We got through "ac_require(ac_prog_ld)" and still not set?  Huh?
++      with_gnu_ld=no
++    else
++      with_gnu_ld=$ac_cv_prog_gnu_ld
++    fi
++  fi
++
++  # Start by getting the version number.  I think the libtool test already
++  # does some of this, but throws away the result.
++  glibcxx_ld_is_gold=no
++  if test x"$with_gnu_ld" = x"yes"; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
++$as_echo_n "checking for ld version... " >&6; }
++
++    if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
++      glibcxx_ld_is_gold=yes
++    fi
++    ldver=`$LD --version 2>/dev/null |
++         sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
++
++    glibcxx_gnu_ld_version=`echo $ldver | \
++         $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
++$as_echo "$glibcxx_gnu_ld_version" >&6; }
++  fi
++
++  # Set --gc-sections.
++  glibcxx_have_gc_sections=no
++  if test "$glibcxx_ld_is_gold" = "yes"; then
++    if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
++      glibcxx_have_gc_sections=yes
++    fi
++  else
++    glibcxx_gcsections_min_ld=21602
++    if test x"$with_gnu_ld" = x"yes" &&
++      test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
++      glibcxx_have_gc_sections=yes
++    fi
++  fi
++  if test "$glibcxx_have_gc_sections" = "yes"; then
++    # Sufficiently young GNU ld it is!  Joy and bunny rabbits!
++    # NB: This flag only works reliably after 2.16.1. Configure tests
++    # for this are difficult, so hard wire a value that should work.
++
++    ac_test_CFLAGS="${CFLAGS+set}"
++    ac_save_CFLAGS="$CFLAGS"
++    CFLAGS='-Wl,--gc-sections'
++
++    # Check for -Wl,--gc-sections
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
++$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
++    if test x$gcc_no_link = xyes; then
++  as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
++fi
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++ int one(void) { return 1; }
++     int two(void) { return 2; }
++
++int
++main ()
++{
++ two();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++  ac_gcsections=yes
++else
++  ac_gcsections=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++    conftest$ac_exeext conftest.$ac_ext
++    if test "$ac_gcsections" = "yes"; then
++      rm -f conftest.c
++      touch conftest.c
++      if $CC -c conftest.c; then
++      if $LD --gc-sections -o conftest conftest.o 2>&1 | \
++         grep "Warning: gc-sections option ignored" > /dev/null; then
++        ac_gcsections=no
++      fi
++      fi
++      rm -f conftest.c conftest.o conftest
++    fi
++    if test "$ac_gcsections" = "yes"; then
++      SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
++    fi
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
++$as_echo "$ac_gcsections" >&6; }
++
++    if test "$ac_test_CFLAGS" = set; then
++      CFLAGS="$ac_save_CFLAGS"
++    else
++      # this is the suspicious part
++      CFLAGS=''
++    fi
++  fi
++
++  # Set -z,relro.
++  # Note this is only for shared objects.
++  ac_ld_relro=no
++  if test x"$with_gnu_ld" = x"yes"; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
++$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
++    cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
++    if test -n "$cxx_z_relo"; then
++      OPT_LDFLAGS="-Wl,-z,relro"
++      ac_ld_relro=yes
++    fi
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
++$as_echo "$ac_ld_relro" >&6; }
++  fi
++
++  # Set linker optimization flags.
++  if test x"$with_gnu_ld" = x"yes"; then
++    OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
++  fi
++
++
++
++
++
++  ac_test_CXXFLAGS="${CXXFLAGS+set}"
++  ac_save_CXXFLAGS="$CXXFLAGS"
++  CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
++$as_echo_n "checking for sin in -lm... " >&6; }
++if test "${ac_cv_lib_m_sin+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lm  $LIBS"
++if test x$gcc_no_link = xyes; then
++  as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
++fi
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char sin ();
++int
++main ()
++{
++return sin ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++  ac_cv_lib_m_sin=yes
++else
++  ac_cv_lib_m_sin=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
++$as_echo "$ac_cv_lib_m_sin" >&6; }
++if test "x$ac_cv_lib_m_sin" = x""yes; then :
++  libm="-lm"
++fi
++
++  ac_save_LIBS="$LIBS"
++  LIBS="$LIBS $libm"
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf declaration" >&5
++$as_echo_n "checking for isinf declaration... " >&6; }
++  if test x${glibcxx_cv_func_isinf_use+set} != xset; then
++    if test "${glibcxx_cv_func_isinf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ isinf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_isinf_use=yes
++else
++  glibcxx_cv_func_isinf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinf_use" >&5
++$as_echo "$glibcxx_cv_func_isinf_use" >&6; }
++
++  if test x$glibcxx_cv_func_isinf_use = x"yes"; then
++    for ac_func in isinf
++do :
++  ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf"
++if test "x$ac_cv_func_isinf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ISINF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinf declaration" >&5
++$as_echo_n "checking for _isinf declaration... " >&6; }
++  if test x${glibcxx_cv_func__isinf_use+set} != xset; then
++    if test "${glibcxx_cv_func__isinf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _isinf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__isinf_use=yes
++else
++  glibcxx_cv_func__isinf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinf_use" >&5
++$as_echo "$glibcxx_cv_func__isinf_use" >&6; }
++
++    if test x$glibcxx_cv_func__isinf_use = x"yes"; then
++      for ac_func in _isinf
++do :
++  ac_fn_c_check_func "$LINENO" "_isinf" "ac_cv_func__isinf"
++if test "x$ac_cv_func__isinf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ISINF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan declaration" >&5
++$as_echo_n "checking for isnan declaration... " >&6; }
++  if test x${glibcxx_cv_func_isnan_use+set} != xset; then
++    if test "${glibcxx_cv_func_isnan_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ isnan(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_isnan_use=yes
++else
++  glibcxx_cv_func_isnan_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnan_use" >&5
++$as_echo "$glibcxx_cv_func_isnan_use" >&6; }
++
++  if test x$glibcxx_cv_func_isnan_use = x"yes"; then
++    for ac_func in isnan
++do :
++  ac_fn_c_check_func "$LINENO" "isnan" "ac_cv_func_isnan"
++if test "x$ac_cv_func_isnan" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ISNAN 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnan declaration" >&5
++$as_echo_n "checking for _isnan declaration... " >&6; }
++  if test x${glibcxx_cv_func__isnan_use+set} != xset; then
++    if test "${glibcxx_cv_func__isnan_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _isnan(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__isnan_use=yes
++else
++  glibcxx_cv_func__isnan_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnan_use" >&5
++$as_echo "$glibcxx_cv_func__isnan_use" >&6; }
++
++    if test x$glibcxx_cv_func__isnan_use = x"yes"; then
++      for ac_func in _isnan
++do :
++  ac_fn_c_check_func "$LINENO" "_isnan" "ac_cv_func__isnan"
++if test "x$ac_cv_func__isnan" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ISNAN 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for finite declaration" >&5
++$as_echo_n "checking for finite declaration... " >&6; }
++  if test x${glibcxx_cv_func_finite_use+set} != xset; then
++    if test "${glibcxx_cv_func_finite_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ finite(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_finite_use=yes
++else
++  glibcxx_cv_func_finite_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_finite_use" >&5
++$as_echo "$glibcxx_cv_func_finite_use" >&6; }
++
++  if test x$glibcxx_cv_func_finite_use = x"yes"; then
++    for ac_func in finite
++do :
++  ac_fn_c_check_func "$LINENO" "finite" "ac_cv_func_finite"
++if test "x$ac_cv_func_finite" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FINITE 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _finite declaration" >&5
++$as_echo_n "checking for _finite declaration... " >&6; }
++  if test x${glibcxx_cv_func__finite_use+set} != xset; then
++    if test "${glibcxx_cv_func__finite_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _finite(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__finite_use=yes
++else
++  glibcxx_cv_func__finite_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__finite_use" >&5
++$as_echo "$glibcxx_cv_func__finite_use" >&6; }
++
++    if test x$glibcxx_cv_func__finite_use = x"yes"; then
++      for ac_func in _finite
++do :
++  ac_fn_c_check_func "$LINENO" "_finite" "ac_cv_func__finite"
++if test "x$ac_cv_func__finite" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FINITE 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sincos declaration" >&5
++$as_echo_n "checking for sincos declaration... " >&6; }
++  if test x${glibcxx_cv_func_sincos_use+set} != xset; then
++    if test "${glibcxx_cv_func_sincos_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ sincos(0, 0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_sincos_use=yes
++else
++  glibcxx_cv_func_sincos_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_sincos_use" >&5
++$as_echo "$glibcxx_cv_func_sincos_use" >&6; }
++
++  if test x$glibcxx_cv_func_sincos_use = x"yes"; then
++    for ac_func in sincos
++do :
++  ac_fn_c_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
++if test "x$ac_cv_func_sincos" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_SINCOS 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _sincos declaration" >&5
++$as_echo_n "checking for _sincos declaration... " >&6; }
++  if test x${glibcxx_cv_func__sincos_use+set} != xset; then
++    if test "${glibcxx_cv_func__sincos_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _sincos(0, 0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__sincos_use=yes
++else
++  glibcxx_cv_func__sincos_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__sincos_use" >&5
++$as_echo "$glibcxx_cv_func__sincos_use" >&6; }
++
++    if test x$glibcxx_cv_func__sincos_use = x"yes"; then
++      for ac_func in _sincos
++do :
++  ac_fn_c_check_func "$LINENO" "_sincos" "ac_cv_func__sincos"
++if test "x$ac_cv_func__sincos" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__SINCOS 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fpclass declaration" >&5
++$as_echo_n "checking for fpclass declaration... " >&6; }
++  if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
++    if test "${glibcxx_cv_func_fpclass_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ fpclass(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_fpclass_use=yes
++else
++  glibcxx_cv_func_fpclass_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fpclass_use" >&5
++$as_echo "$glibcxx_cv_func_fpclass_use" >&6; }
++
++  if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
++    for ac_func in fpclass
++do :
++  ac_fn_c_check_func "$LINENO" "fpclass" "ac_cv_func_fpclass"
++if test "x$ac_cv_func_fpclass" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FPCLASS 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fpclass declaration" >&5
++$as_echo_n "checking for _fpclass declaration... " >&6; }
++  if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
++    if test "${glibcxx_cv_func__fpclass_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _fpclass(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__fpclass_use=yes
++else
++  glibcxx_cv_func__fpclass_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fpclass_use" >&5
++$as_echo "$glibcxx_cv_func__fpclass_use" >&6; }
++
++    if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
++      for ac_func in _fpclass
++do :
++  ac_fn_c_check_func "$LINENO" "_fpclass" "ac_cv_func__fpclass"
++if test "x$ac_cv_func__fpclass" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FPCLASS 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for qfpclass declaration" >&5
++$as_echo_n "checking for qfpclass declaration... " >&6; }
++  if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
++    if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ qfpclass(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_qfpclass_use=yes
++else
++  glibcxx_cv_func_qfpclass_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_qfpclass_use" >&5
++$as_echo "$glibcxx_cv_func_qfpclass_use" >&6; }
++
++  if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
++    for ac_func in qfpclass
++do :
++  ac_fn_c_check_func "$LINENO" "qfpclass" "ac_cv_func_qfpclass"
++if test "x$ac_cv_func_qfpclass" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_QFPCLASS 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _qfpclass declaration" >&5
++$as_echo_n "checking for _qfpclass declaration... " >&6; }
++  if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
++    if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _qfpclass(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__qfpclass_use=yes
++else
++  glibcxx_cv_func__qfpclass_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__qfpclass_use" >&5
++$as_echo "$glibcxx_cv_func__qfpclass_use" >&6; }
++
++    if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
++      for ac_func in _qfpclass
++do :
++  ac_fn_c_check_func "$LINENO" "_qfpclass" "ac_cv_func__qfpclass"
++if test "x$ac_cv_func__qfpclass" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__QFPCLASS 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypot declaration" >&5
++$as_echo_n "checking for hypot declaration... " >&6; }
++  if test x${glibcxx_cv_func_hypot_use+set} != xset; then
++    if test "${glibcxx_cv_func_hypot_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ hypot(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_hypot_use=yes
++else
++  glibcxx_cv_func_hypot_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypot_use" >&5
++$as_echo "$glibcxx_cv_func_hypot_use" >&6; }
++
++  if test x$glibcxx_cv_func_hypot_use = x"yes"; then
++    for ac_func in hypot
++do :
++  ac_fn_c_check_func "$LINENO" "hypot" "ac_cv_func_hypot"
++if test "x$ac_cv_func_hypot" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_HYPOT 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypot declaration" >&5
++$as_echo_n "checking for _hypot declaration... " >&6; }
++  if test x${glibcxx_cv_func__hypot_use+set} != xset; then
++    if test "${glibcxx_cv_func__hypot_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _hypot(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__hypot_use=yes
++else
++  glibcxx_cv_func__hypot_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypot_use" >&5
++$as_echo "$glibcxx_cv_func__hypot_use" >&6; }
++
++    if test x$glibcxx_cv_func__hypot_use = x"yes"; then
++      for ac_func in _hypot
++do :
++  ac_fn_c_check_func "$LINENO" "_hypot" "ac_cv_func__hypot"
++if test "x$ac_cv_func__hypot" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__HYPOT 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float trig functions" >&5
++$as_echo_n "checking for float trig functions... " >&6; }
++  if test "${glibcxx_cv_func_float_trig_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++    ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_float_trig_use=yes
++else
++  glibcxx_cv_func_float_trig_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++    ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_trig_use" >&5
++$as_echo "$glibcxx_cv_func_float_trig_use" >&6; }
++  if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
++    for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float trig functions" >&5
++$as_echo_n "checking for _float trig functions... " >&6; }
++    if test "${glibcxx_cv_func__float_trig_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__float_trig_use=yes
++else
++  glibcxx_cv_func__float_trig_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_trig_use" >&5
++$as_echo "$glibcxx_cv_func__float_trig_use" >&6; }
++    if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
++      for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float round functions" >&5
++$as_echo_n "checking for float round functions... " >&6; }
++  if test "${glibcxx_cv_func_float_round_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++    ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ceilf (0); floorf (0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_float_round_use=yes
++else
++  glibcxx_cv_func_float_round_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++    ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_float_round_use" >&5
++$as_echo "$glibcxx_cv_func_float_round_use" >&6; }
++  if test x$glibcxx_cv_func_float_round_use = x"yes"; then
++    for ac_func in ceilf floorf
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _float round functions" >&5
++$as_echo_n "checking for _float round functions... " >&6; }
++    if test "${glibcxx_cv_func__float_round_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++_ceilf (0); _floorf (0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__float_round_use=yes
++else
++  glibcxx_cv_func__float_round_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__float_round_use" >&5
++$as_echo "$glibcxx_cv_func__float_round_use" >&6; }
++    if test x$glibcxx_cv_func__float_round_use = x"yes"; then
++      for ac_func in _ceilf _floorf
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expf declaration" >&5
++$as_echo_n "checking for expf declaration... " >&6; }
++  if test x${glibcxx_cv_func_expf_use+set} != xset; then
++    if test "${glibcxx_cv_func_expf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ expf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_expf_use=yes
++else
++  glibcxx_cv_func_expf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_expf_use" >&5
++$as_echo "$glibcxx_cv_func_expf_use" >&6; }
++
++  if test x$glibcxx_cv_func_expf_use = x"yes"; then
++    for ac_func in expf
++do :
++  ac_fn_c_check_func "$LINENO" "expf" "ac_cv_func_expf"
++if test "x$ac_cv_func_expf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_EXPF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _expf declaration" >&5
++$as_echo_n "checking for _expf declaration... " >&6; }
++  if test x${glibcxx_cv_func__expf_use+set} != xset; then
++    if test "${glibcxx_cv_func__expf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _expf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__expf_use=yes
++else
++  glibcxx_cv_func__expf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__expf_use" >&5
++$as_echo "$glibcxx_cv_func__expf_use" >&6; }
++
++    if test x$glibcxx_cv_func__expf_use = x"yes"; then
++      for ac_func in _expf
++do :
++  ac_fn_c_check_func "$LINENO" "_expf" "ac_cv_func__expf"
++if test "x$ac_cv_func__expf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__EXPF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnanf declaration" >&5
++$as_echo_n "checking for isnanf declaration... " >&6; }
++  if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
++    if test "${glibcxx_cv_func_isnanf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ isnanf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_isnanf_use=yes
++else
++  glibcxx_cv_func_isnanf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isnanf_use" >&5
++$as_echo "$glibcxx_cv_func_isnanf_use" >&6; }
++
++  if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
++    for ac_func in isnanf
++do :
++  ac_fn_c_check_func "$LINENO" "isnanf" "ac_cv_func_isnanf"
++if test "x$ac_cv_func_isnanf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ISNANF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isnanf declaration" >&5
++$as_echo_n "checking for _isnanf declaration... " >&6; }
++  if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
++    if test "${glibcxx_cv_func__isnanf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _isnanf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__isnanf_use=yes
++else
++  glibcxx_cv_func__isnanf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isnanf_use" >&5
++$as_echo "$glibcxx_cv_func__isnanf_use" >&6; }
++
++    if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
++      for ac_func in _isnanf
++do :
++  ac_fn_c_check_func "$LINENO" "_isnanf" "ac_cv_func__isnanf"
++if test "x$ac_cv_func__isnanf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ISNANF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinff declaration" >&5
++$as_echo_n "checking for isinff declaration... " >&6; }
++  if test x${glibcxx_cv_func_isinff_use+set} != xset; then
++    if test "${glibcxx_cv_func_isinff_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ isinff(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_isinff_use=yes
++else
++  glibcxx_cv_func_isinff_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_isinff_use" >&5
++$as_echo "$glibcxx_cv_func_isinff_use" >&6; }
++
++  if test x$glibcxx_cv_func_isinff_use = x"yes"; then
++    for ac_func in isinff
++do :
++  ac_fn_c_check_func "$LINENO" "isinff" "ac_cv_func_isinff"
++if test "x$ac_cv_func_isinff" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ISINFF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _isinff declaration" >&5
++$as_echo_n "checking for _isinff declaration... " >&6; }
++  if test x${glibcxx_cv_func__isinff_use+set} != xset; then
++    if test "${glibcxx_cv_func__isinff_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _isinff(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__isinff_use=yes
++else
++  glibcxx_cv_func__isinff_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__isinff_use" >&5
++$as_echo "$glibcxx_cv_func__isinff_use" >&6; }
++
++    if test x$glibcxx_cv_func__isinff_use = x"yes"; then
++      for ac_func in _isinff
++do :
++  ac_fn_c_check_func "$LINENO" "_isinff" "ac_cv_func__isinff"
++if test "x$ac_cv_func__isinff" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ISINFF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2f declaration" >&5
++$as_echo_n "checking for atan2f declaration... " >&6; }
++  if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
++    if test "${glibcxx_cv_func_atan2f_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ atan2f(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_atan2f_use=yes
++else
++  glibcxx_cv_func_atan2f_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_atan2f_use" >&5
++$as_echo "$glibcxx_cv_func_atan2f_use" >&6; }
++
++  if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
++    for ac_func in atan2f
++do :
++  ac_fn_c_check_func "$LINENO" "atan2f" "ac_cv_func_atan2f"
++if test "x$ac_cv_func_atan2f" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_ATAN2F 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _atan2f declaration" >&5
++$as_echo_n "checking for _atan2f declaration... " >&6; }
++  if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
++    if test "${glibcxx_cv_func__atan2f_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _atan2f(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__atan2f_use=yes
++else
++  glibcxx_cv_func__atan2f_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__atan2f_use" >&5
++$as_echo "$glibcxx_cv_func__atan2f_use" >&6; }
++
++    if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
++      for ac_func in _atan2f
++do :
++  ac_fn_c_check_func "$LINENO" "_atan2f" "ac_cv_func__atan2f"
++if test "x$ac_cv_func__atan2f" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__ATAN2F 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabsf declaration" >&5
++$as_echo_n "checking for fabsf declaration... " >&6; }
++  if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
++    if test "${glibcxx_cv_func_fabsf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ fabsf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_fabsf_use=yes
++else
++  glibcxx_cv_func_fabsf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fabsf_use" >&5
++$as_echo "$glibcxx_cv_func_fabsf_use" >&6; }
++
++  if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
++    for ac_func in fabsf
++do :
++  ac_fn_c_check_func "$LINENO" "fabsf" "ac_cv_func_fabsf"
++if test "x$ac_cv_func_fabsf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FABSF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fabsf declaration" >&5
++$as_echo_n "checking for _fabsf declaration... " >&6; }
++  if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
++    if test "${glibcxx_cv_func__fabsf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _fabsf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__fabsf_use=yes
++else
++  glibcxx_cv_func__fabsf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fabsf_use" >&5
++$as_echo "$glibcxx_cv_func__fabsf_use" >&6; }
++
++    if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
++      for ac_func in _fabsf
++do :
++  ac_fn_c_check_func "$LINENO" "_fabsf" "ac_cv_func__fabsf"
++if test "x$ac_cv_func__fabsf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FABSF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodf declaration" >&5
++$as_echo_n "checking for fmodf declaration... " >&6; }
++  if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
++    if test "${glibcxx_cv_func_fmodf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ fmodf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_fmodf_use=yes
++else
++  glibcxx_cv_func_fmodf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_fmodf_use" >&5
++$as_echo "$glibcxx_cv_func_fmodf_use" >&6; }
++
++  if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
++    for ac_func in fmodf
++do :
++  ac_fn_c_check_func "$LINENO" "fmodf" "ac_cv_func_fmodf"
++if test "x$ac_cv_func_fmodf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FMODF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _fmodf declaration" >&5
++$as_echo_n "checking for _fmodf declaration... " >&6; }
++  if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
++    if test "${glibcxx_cv_func__fmodf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _fmodf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__fmodf_use=yes
++else
++  glibcxx_cv_func__fmodf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__fmodf_use" >&5
++$as_echo "$glibcxx_cv_func__fmodf_use" >&6; }
++
++    if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
++      for ac_func in _fmodf
++do :
++  ac_fn_c_check_func "$LINENO" "_fmodf" "ac_cv_func__fmodf"
++if test "x$ac_cv_func__fmodf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FMODF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpf declaration" >&5
++$as_echo_n "checking for frexpf declaration... " >&6; }
++  if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
++    if test "${glibcxx_cv_func_frexpf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ frexpf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_frexpf_use=yes
++else
++  glibcxx_cv_func_frexpf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpf_use" >&5
++$as_echo "$glibcxx_cv_func_frexpf_use" >&6; }
++
++  if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
++    for ac_func in frexpf
++do :
++  ac_fn_c_check_func "$LINENO" "frexpf" "ac_cv_func_frexpf"
++if test "x$ac_cv_func_frexpf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_FREXPF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _frexpf declaration" >&5
++$as_echo_n "checking for _frexpf declaration... " >&6; }
++  if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
++    if test "${glibcxx_cv_func__frexpf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _frexpf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__frexpf_use=yes
++else
++  glibcxx_cv_func__frexpf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__frexpf_use" >&5
++$as_echo "$glibcxx_cv_func__frexpf_use" >&6; }
++
++    if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
++      for ac_func in _frexpf
++do :
++  ac_fn_c_check_func "$LINENO" "_frexpf" "ac_cv_func__frexpf"
++if test "x$ac_cv_func__frexpf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__FREXPF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hypotf declaration" >&5
++$as_echo_n "checking for hypotf declaration... " >&6; }
++  if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
++    if test "${glibcxx_cv_func_hypotf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ hypotf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_hypotf_use=yes
++else
++  glibcxx_cv_func_hypotf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotf_use" >&5
++$as_echo "$glibcxx_cv_func_hypotf_use" >&6; }
++
++  if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
++    for ac_func in hypotf
++do :
++  ac_fn_c_check_func "$LINENO" "hypotf" "ac_cv_func_hypotf"
++if test "x$ac_cv_func_hypotf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_HYPOTF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _hypotf declaration" >&5
++$as_echo_n "checking for _hypotf declaration... " >&6; }
++  if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
++    if test "${glibcxx_cv_func__hypotf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _hypotf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__hypotf_use=yes
++else
++  glibcxx_cv_func__hypotf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__hypotf_use" >&5
++$as_echo "$glibcxx_cv_func__hypotf_use" >&6; }
++
++    if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
++      for ac_func in _hypotf
++do :
++  ac_fn_c_check_func "$LINENO" "_hypotf" "ac_cv_func__hypotf"
++if test "x$ac_cv_func__hypotf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__HYPOTF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldexpf declaration" >&5
++$as_echo_n "checking for ldexpf declaration... " >&6; }
++  if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
++    if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ ldexpf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_ldexpf_use=yes
++else
++  glibcxx_cv_func_ldexpf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_ldexpf_use" >&5
++$as_echo "$glibcxx_cv_func_ldexpf_use" >&6; }
++
++  if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
++    for ac_func in ldexpf
++do :
++  ac_fn_c_check_func "$LINENO" "ldexpf" "ac_cv_func_ldexpf"
++if test "x$ac_cv_func_ldexpf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LDEXPF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ldexpf declaration" >&5
++$as_echo_n "checking for _ldexpf declaration... " >&6; }
++  if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
++    if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _ldexpf(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__ldexpf_use=yes
++else
++  glibcxx_cv_func__ldexpf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__ldexpf_use" >&5
++$as_echo "$glibcxx_cv_func__ldexpf_use" >&6; }
++
++    if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
++      for ac_func in _ldexpf
++do :
++  ac_fn_c_check_func "$LINENO" "_ldexpf" "ac_cv_func__ldexpf"
++if test "x$ac_cv_func__ldexpf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__LDEXPF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logf declaration" >&5
++$as_echo_n "checking for logf declaration... " >&6; }
++  if test x${glibcxx_cv_func_logf_use+set} != xset; then
++    if test "${glibcxx_cv_func_logf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ logf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_logf_use=yes
++else
++  glibcxx_cv_func_logf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_logf_use" >&5
++$as_echo "$glibcxx_cv_func_logf_use" >&6; }
++
++  if test x$glibcxx_cv_func_logf_use = x"yes"; then
++    for ac_func in logf
++do :
++  ac_fn_c_check_func "$LINENO" "logf" "ac_cv_func_logf"
++if test "x$ac_cv_func_logf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LOGF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _logf declaration" >&5
++$as_echo_n "checking for _logf declaration... " >&6; }
++  if test x${glibcxx_cv_func__logf_use+set} != xset; then
++    if test "${glibcxx_cv_func__logf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _logf(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__logf_use=yes
++else
++  glibcxx_cv_func__logf_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__logf_use" >&5
++$as_echo "$glibcxx_cv_func__logf_use" >&6; }
++
++    if test x$glibcxx_cv_func__logf_use = x"yes"; then
++      for ac_func in _logf
++do :
++  ac_fn_c_check_func "$LINENO" "_logf" "ac_cv_func__logf"
++if test "x$ac_cv_func__logf" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__LOGF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10f declaration" >&5
++$as_echo_n "checking for log10f declaration... " >&6; }
++  if test x${glibcxx_cv_func_log10f_use+set} != xset; then
++    if test "${glibcxx_cv_func_log10f_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ log10f(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_log10f_use=yes
++else
++  glibcxx_cv_func_log10f_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_log10f_use" >&5
++$as_echo "$glibcxx_cv_func_log10f_use" >&6; }
++
++  if test x$glibcxx_cv_func_log10f_use = x"yes"; then
++    for ac_func in log10f
++do :
++  ac_fn_c_check_func "$LINENO" "log10f" "ac_cv_func_log10f"
++if test "x$ac_cv_func_log10f" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LOG10F 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _log10f declaration" >&5
++$as_echo_n "checking for _log10f declaration... " >&6; }
++  if test x${glibcxx_cv_func__log10f_use+set} != xset; then
++    if test "${glibcxx_cv_func__log10f_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++                    #ifdef HAVE_IEEEFP_H
++                    #include <ieeefp.h>
++                    #endif
++
++int
++main ()
++{
++ _log10f(0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__log10f_use=yes
++else
++  glibcxx_cv_func__log10f_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__log10f_use" >&5
++$as_echo "$glibcxx_cv_func__log10f_use" >&6; }
++
++    if test x$glibcxx_cv_func__log10f_use = x"yes"; then
++      for ac_func in _log10f
++do :
++  ac_fn_c_check_func "$LINENO" "_log10f" "ac_cv_func__log10f"
++if test "x$ac_cv_func__log10f" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__LOG10F 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modff declaration" >&5
++$as_echo_n "checking for modff declaration... " >&6; }
++  if test x${glibcxx_cv_func_modff_use+set} != xset; then
++    if test "${glibcxx_cv_func_modff_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ modff(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func_modff_use=yes
++else
++  glibcxx_cv_func_modff_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_modff_use" >&5
++$as_echo "$glibcxx_cv_func_modff_use" >&6; }
++
++  if test x$glibcxx_cv_func_modff_use = x"yes"; then
++    for ac_func in modff
++do :
++  ac_fn_c_check_func "$LINENO" "modff" "ac_cv_func_modff"
++if test "x$ac_cv_func_modff" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_MODFF 1
++_ACEOF
++
++fi
++done
++
++  else
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _modff declaration" >&5
++$as_echo_n "checking for _modff declaration... " >&6; }
++  if test x${glibcxx_cv_func__modff_use+set} != xset; then
++    if test "${glibcxx_cv_func__modff_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int
++main ()
++{
++ _modff(0, 0);
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_cxx_try_compile "$LINENO"; then :
++  glibcxx_cv_func__modff_use=yes
++else
++  glibcxx_cv_func__modff_use=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++fi
++
++  fi
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func__modff_use" >&5
++$as_echo "$glibcxx_cv_func__modff_use" >&6; }
++
++    if test x$glibcxx_cv_func__modff_use = x"yes"; then
++      for ac_func in _modff
++do :
++  ac_fn_c_check_func "$LINENO" "_modff" "ac_cv_func__modff"
++if test "x$ac_cv_func__modff" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE__MODFF 1
++_ACEOF
++
++fi
++done
++
++    fi
++  fi
++
++
++
++
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for modf declaration" >&5
++$as_echo_n "checking for modf declaration... " >&6; }
++  if test x${glibcxx_cv_func_modf_use+set} != xset; then
++    if test "${glibcxx_cv_func_modf_use+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++
++
++      ac_ext=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <math.h>
++int