~ubuntu-branches/ubuntu/utopic/eglibc/utopic

« back to all changes in this revision

Viewing changes to sysdeps/sparc/configure.in

  • Committer: Package Import Robot
  • Author(s): Adam Conrad
  • Date: 2012-10-26 05:14:58 UTC
  • mfrom: (1.5.1) (4.4.22 experimental)
  • Revision ID: package-import@ubuntu.com-20121026051458-oryotr4i03ob5pab
Tags: 2.16-0ubuntu1
* Merge with unreleased 2.16 in Debian experimental, remaining changes:
  - Drop the Breaks line from libc6, which refers to a Debian transition
  - Remove the libc6 recommends on libc6-i686, which we don't build
  - Enable libc6{,-dev}-armel on armhf and libc6{-dev}-armhf on armel
  - Ship update-locale and validlocale in /usr/sbin in libc-bin
  - Don't build locales or locales-all in Ubuntu, we rely on langpacks
  - Heavily mangle the way we do service restarting on major upgrades
  - Use different MIN_KERNEL_SUPPORTED versions than Debian, due to
    buildd needs.  This should be universally bumped to 3.2.0 once all
    our buildds (including the PPA guests) are running precise kernels
  - Build i386 variants as -march=i686, build amd64 with -O3, and build
    ppc64 variants (both 64-bit and 32-bit) with -O3 -fno-tree-vectorize
  - Re-enable unsubmitted-ldconfig-cache-abi.diff and rebuild the cache
    on upgrades from previous versions that used a different constant
  - debian/patches/any/local-CVE-2012-3406.diff: switch to malloc when
    array grows too large to handle via alloca extension (CVE-2012-3406)
  - Build generic i386/i686 flavour with -mno-tls-direct-seg-refs
* Changes added/dropped with this merge while reducing our delta:
  - Stop building glibc docs from the eglibc source, and instead make
    the glibc-docs stub have a hard dependency on glibc-doc-reference
  - Remove outdated conflicts against ancient versions of ia32-libs
  - Drop the tzdata dependency from libc6, it's in required and minimal
  - Use gcc-4.7/g++-4.7 by default on all our supported architectures
  - Save our historical changelog as changelog.ubuntu in the source
  - Drop nscd's libaudit build-dep for now, as libaudit is in universe
  - Drop the unnecessary Breaks from libc6 to locales and locales-all
  - Ship xen's ld.so.conf.d snippet as /etc/ld.so.conf.d/libc6-xen.conf
* Disable hard failures on the test suite for the first upload to raring

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 
2
# Local configure fragment for sysdeps/sparc.
 
3
 
 
4
# Check for support of VIS3 et al. instructions in the assembler.
 
5
AC_CACHE_CHECK(for sparc assembler VIS3 support, libc_cv_sparc_as_vis3, [dnl
 
6
cat > conftest.S <<\EOF
 
7
        .text
 
8
foo:    fmadds          %f1, %f2, %f3, %f5
 
9
        fmaddd          %f2, %f4, %f8, %f10
 
10
        fhadds          %f2, %f3, %f5
 
11
        fhaddd          %f4, %f8, %f10
 
12
        pdistn          %f2, %f4, %g1
 
13
        movdtox         %f10, %o0
 
14
        movstouw        %f9, %o1
 
15
        movstosw        %f7, %o2
 
16
        movxtod         %o3, %f18
 
17
        movwtos         %o4, %f15
 
18
        flcmps          %fcc0, %f3, %f5
 
19
        flcmpd          %fcc1, %f4, %f6
 
20
EOF
 
21
dnl
 
22
if AC_TRY_COMMAND([${CC-cc} -c $CFLAGS -Wa,-Av9d conftest.S]); then
 
23
  libc_cv_sparc_as_vis3=yes
 
24
else
 
25
  libc_cv_sparc_as_vis3=no
 
26
fi
 
27
rm -f conftest*])
 
28
if test $libc_cv_sparc_as_vis3 = yes; then
 
29
  AC_DEFINE(HAVE_AS_VIS3_SUPPORT)
 
30
fi
 
31
 
 
32
# Check for support of thread-local storage handling in assembler and linker.
 
33
AC_CACHE_CHECK(for sparc TLS support, libc_cv_sparc_tls, [dnl
 
34
changequote(,)dnl
 
35
cat > conftest.S <<\EOF
 
36
        .section ".tdata", "awT", @progbits
 
37
        .globl foo
 
38
foo:    .word   1
 
39
        .section ".tbss", "awT", @nobits
 
40
        .globl bar
 
41
bar:    .skip   4
 
42
        .text
 
43
baz:    sethi   %tgd_hi22(foo), %l1
 
44
        add     %l1, %tgd_lo10(foo), %l1
 
45
        add     %l7, %l1, %o0, %tgd_add(foo)
 
46
        call    __tls_get_addr, %tgd_call(foo)
 
47
        sethi   %tldm_hi22(bar), %l1
 
48
        add     %l1, %tldm_lo10(bar), %l1
 
49
        add     %l7, %l1, %o0, %tldm_add(bar)
 
50
        call    __tls_get_addr, %tldm_call(bar)
 
51
        sethi   %tldo_hix22(bar), %l1
 
52
        xor     %l1, %tldo_lox10(bar), %l1
 
53
        add     %o0, %l1, %l1, %tldo_add(bar)
 
54
        sethi   %tie_hi22(foo), %l1
 
55
        add     %l1, %tie_lo10(foo), %l1
 
56
#ifdef __arch64__
 
57
        ldx     [%l7 + %l1], %l1, %tie_ldx(foo)
 
58
#else
 
59
        ld      [%l7 + %l1], %l1, %tie_ld(foo)
 
60
#endif
 
61
        add     %g7, %l1, %l1, %tie_add(foo)
 
62
        sethi   %tle_hix22(foo), %l1
 
63
        xor     %l1, %tle_lox10(foo), %l1
 
64
EOF
 
65
changequote([,])dnl
 
66
dnl
 
67
if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.S 1>&AS_MESSAGE_LOG_FD); then
 
68
  libc_cv_sparc_tls=yes
 
69
else
 
70
  libc_cv_sparc_tls=no
 
71
fi
 
72
rm -f conftest*])
 
73
if test $libc_cv_sparc_tls = no; then
 
74
  AC_MSG_ERROR([the assembler must support TLS])
 
75
fi
 
76
 
 
77
# Check for a GCC emitting GOTDATA relocations.
 
78
AC_CACHE_CHECK(for sparc gcc GOTDATA reloc support, libc_cv_sparc_gcc_gotdata, [dnl
 
79
changequote(,)dnl
 
80
cat > conftest.c <<\EOF
 
81
int data;
 
82
int foo(void)
 
83
{
 
84
        return data;
 
85
}
 
86
EOF
 
87
changequote([,])dnl
 
88
dnl
 
89
libc_cv_sparc_gcc_gotdata=no
 
90
if AC_TRY_COMMAND(${CC-cc} -S $CFLAGS -O2 -fPIC conftest.c 1>&AS_MESSAGE_LOG_FD); then
 
91
  if grep -q 'gdop_hix22' conftest.s \
 
92
     && grep -q 'gdop_lox10' conftest.s; then
 
93
    libc_cv_sparc_gcc_gotdata=yes
 
94
  fi
 
95
fi
 
96
rm -f conftest*])
 
97
if test $libc_cv_sparc_gcc_gotdata = yes; then
 
98
  AC_DEFINE(HAVE_GCC_GOTDATA)
 
99
fi
 
100
 
 
101
if test $libc_cv_sparc_gcc_gotdata = yes; then
 
102
  AC_DEFINE(PI_STATIC_AND_HIDDEN)
 
103
fi