From f0b67d21ab82330aceee1f32d46add93b87875e4 Mon Sep 17 00:00:00 2001 From: Jeremy Puhlman Date: Tue, 14 Jul 2009 19:10:03 -0700 Subject: iptables: Add patch to use cross ar and ranlib. Signed-off-by: Jeremy Puhlman Signed-off-by: Chris Larson --- recipes/iptables/files/cross-iptables.diff | 15 +++++++++++++++ recipes/iptables/iptables_1.3.8.bb | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 recipes/iptables/files/cross-iptables.diff (limited to 'recipes') diff --git a/recipes/iptables/files/cross-iptables.diff b/recipes/iptables/files/cross-iptables.diff new file mode 100644 index 0000000000..8027b07bca --- /dev/null +++ b/recipes/iptables/files/cross-iptables.diff @@ -0,0 +1,15 @@ +--- a/extensions/Makefile~ 2007-03-21 17:04:36.000000000 -0700 ++++ b/extensions/Makefile 2009-07-14 19:01:56.000000000 -0700 +@@ -80,10 +80,10 @@ + + ifdef NO_SHARED_LIBS + extensions/libext.a: $(EXT_OBJS) +- rm -f $@; ar crv $@ $(EXT_OBJS) ++ rm -f $@; $(AR) crv $@ $(EXT_OBJS); $(RANLIB) $@ + + extensions/libext6.a: $(EXT6_OBJS) +- rm -f $@; ar crv $@ $(EXT6_OBJS) ++ rm -f $@; $(AR) crv $@ $(EXT6_OBJS); $(RANLIB) $@ + + extensions/initext.o: extensions/initext.c + extensions/initext6.o: extensions/initext6.c diff --git a/recipes/iptables/iptables_1.3.8.bb b/recipes/iptables/iptables_1.3.8.bb index 040be0643f..520e33624d 100644 --- a/recipes/iptables/iptables_1.3.8.bb +++ b/recipes/iptables/iptables_1.3.8.bb @@ -1,8 +1,9 @@ require iptables.inc -PR = "r4" +PR = "r5" SRC_URI += "\ file://getsockopt-failed.patch;patch=1 \ file://iptables-use-s6_addr32.patch;patch=1 \ + file://cross-iptables.diff;patch=1 \ " -- cgit v1.2.3 From 34dee0fced79caec07153f02deb3bc8a614ad9d2 Mon Sep 17 00:00:00 2001 From: Jeremy Puhlman Date: Tue, 14 Jul 2009 12:08:58 -0700 Subject: lsof: Fix misuse of system ranlib. Signed-off-by: Jeremy Puhlman Signed-off-by: Chris Larson --- recipes/lsof/lsof_4.78.bb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'recipes') diff --git a/recipes/lsof/lsof_4.78.bb b/recipes/lsof/lsof_4.78.bb index 51f0b8b2c4..0a24c607fa 100644 --- a/recipes/lsof/lsof_4.78.bb +++ b/recipes/lsof/lsof_4.78.bb @@ -3,6 +3,8 @@ Its name stands for LiSt Open Files, and it does just that." SECTION = "devel" LICENSE = "BSD" +PR = "r1" + SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2" LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar" S = "${WORKDIR}/lsof_${PV}_src" @@ -29,7 +31,8 @@ export L = "${STAGING_INCDIR}" export EXTRA_OEMAKE = "" do_compile () { - oe_runmake 'CC=${CC}' 'CFGL=${LDFLAGS} -L./lib -llsof' 'DEBUG=' 'INCL=${CFLAGS}' + oe_runmake 'CC=${CC}' 'CFGL=${LDFLAGS} -L./lib -llsof' 'DEBUG=' 'INCL=${CFLAGS}' \ + 'RANLIB=${RANLIB} liblsof.a' } do_install () { -- cgit v1.2.3 From f707d17d8de1bc69d7ccf7ee72304d1d2a64f4cb Mon Sep 17 00:00:00 2001 From: Brian Pomerantz Date: Thu, 2 Jul 2009 09:40:04 -0700 Subject: net-tools: no parallel make Signed-off-by: Brian Pomerantz Signed-off-by: Chris Larson --- recipes/net-tools/net-tools_1.60.bb | 3 +++ 1 file changed, 3 insertions(+) (limited to 'recipes') diff --git a/recipes/net-tools/net-tools_1.60.bb b/recipes/net-tools/net-tools_1.60.bb index eae6b56377..95859ad32d 100644 --- a/recipes/net-tools/net-tools_1.60.bb +++ b/recipes/net-tools/net-tools_1.60.bb @@ -63,6 +63,9 @@ SRC_URI = "http://download.berlios.de/${PN}/${PN}-${PV}.tar.bz2;md5sum=888774acc TOPDIR[unexport] = "1" +# The Makefile is lame, no parallel build +PARALLEL_MAKE = "" + # Copy config and source over to the source directory do_configure() { cp ${WORKDIR}/net-tools-${PV}-config.h ${S}/config.h -- cgit v1.2.3 From 2bc39e0c7dbc982e90df37d37b29b4989c3e4610 Mon Sep 17 00:00:00 2001 From: Jeremy Puhlman Date: Mon, 6 Jul 2009 14:30:35 -0700 Subject: groff: disable X11 support. Signed-off-by: Jeremy Puhlman Signed-off-by: Chris Larson --- recipes/groff/groff_1.19.1.bb | 4 ++-- recipes/groff/groff_1.19.2.bb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'recipes') diff --git a/recipes/groff/groff_1.19.1.bb b/recipes/groff/groff_1.19.1.bb index 42b0d80d15..dbf21e781e 100644 --- a/recipes/groff/groff_1.19.1.bb +++ b/recipes/groff/groff_1.19.1.bb @@ -1,7 +1,7 @@ DESCRIPTION = "GNU roff" SECTION = "base" LICENSE = "GPL" -PR = "r2" +PR = "r3" SRC_URI = "http://ftp.gnu.org/gnu/groff/groff-${PV}.tar.gz \ file://groff.patch;patch=1" @@ -9,7 +9,7 @@ SRC_URI = "http://ftp.gnu.org/gnu/groff/groff-${PV}.tar.gz \ PARALLEL_MAKE = "" # prefix and exec-prefix are broken and the .in file is broken too # and can't be autoreconf'ed, so specify every dir -EXTRA_OECONF="--prefix=${D} --exec-prefix=${D} --bindir=${D}${bindir} --datadir=${D}${datadir} --mandir=${D}${datadir}/man --infodir=${D}${datadir}/info" +EXTRA_OECONF="--without-x --prefix=${D} --exec-prefix=${D} --bindir=${D}${bindir} --datadir=${D}${datadir} --mandir=${D}${datadir}/man --infodir=${D}${datadir}/info" inherit autotools diff --git a/recipes/groff/groff_1.19.2.bb b/recipes/groff/groff_1.19.2.bb index 62f56a8c27..55982634ed 100644 --- a/recipes/groff/groff_1.19.2.bb +++ b/recipes/groff/groff_1.19.2.bb @@ -1,7 +1,7 @@ DESCRIPTION = "GNU roff" SECTION = "base" LICENSE = "GPL" -PR = "r4" +PR = "r5" SRC_URI = "http://ftp.gnu.org/gnu/groff/groff-${PV}.tar.gz \ file://Makefile.in.patch;patch=1 \ @@ -11,7 +11,7 @@ SRC_URI = "http://ftp.gnu.org/gnu/groff/groff-${PV}.tar.gz \ PARALLEL_MAKE = "" # prefix and exec-prefix are broken and the .in file is broken too # and can't be autoreconf'ed, so specify every dir -EXTRA_OECONF="--prefix=${D} --exec-prefix=${D} --bindir=${D}${bindir} --datadir=${D}${datadir} --mandir=${D}${datadir}/man --infodir=${D}${datadir}/info --with-appresdir=${D}${datadir}" +EXTRA_OECONF="--without-x --prefix=${D} --exec-prefix=${D} --bindir=${D}${bindir} --datadir=${D}${datadir} --mandir=${D}${datadir}/man --infodir=${D}${datadir}/info --with-appresdir=${D}${datadir}" inherit autotools do_configure() { -- cgit v1.2.3 From 2b183dca4427ab476b75a851116ff42dbd000557 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 27 Aug 2009 17:45:51 -0700 Subject: gcc-4.4.1: Disable libdecnumber for uclibc target. We do not set FENV in uclibc so as a result we can not build libdecnumber. We disable it for gcc 4.4.1 uclibc targets. copysignl is in libm in uclibc so gcc complains about this function in libgcc. We see if it is uclibc powerpc softfloat then we add -lm to linker commandline. Not best but works. Signed-off-by: Khem Raj --- recipes/gcc/gcc-4.4.1.inc | 7 +- .../gcc/gcc-4.4.1/gcc-link-libgcc-with-libm.patch | 259 +++++++++++++++++++++ recipes/gcc/gcc-cross-intermediate_4.4.1.bb | 3 +- 3 files changed, 267 insertions(+), 2 deletions(-) create mode 100644 recipes/gcc/gcc-4.4.1/gcc-link-libgcc-with-libm.patch (limited to 'recipes') diff --git a/recipes/gcc/gcc-4.4.1.inc b/recipes/gcc/gcc-4.4.1.inc index 2759ab9799..365c20157f 100644 --- a/recipes/gcc/gcc-4.4.1.inc +++ b/recipes/gcc/gcc-4.4.1.inc @@ -7,7 +7,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" -INC_PR = "r2" +INC_PR = "r3" FILESPATHPKG .= ":gcc-$PV" @@ -16,6 +16,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://100-uclibc-conf.patch;patch=1 \ file://gcc-uclibc-locale-ctype_touplow_t.patch;patch=1 \ file://gcc-disable-linux-unwind-with-libc-inhibit.patch;patch=1 \ + file://gcc-link-libgcc-with-libm.patch;patch=1 \ " # Language Overrides FORTRAN = "" @@ -24,3 +25,7 @@ JAVA = "" EXTRA_OECONF_BASE = " --enable-libssp \ --disable-bootstrap --disable-libgomp \ --disable-libmudflap" + +EXTRA_OECONF_append_linux-uclibc = " --disable-decimal-float" +EXTRA_OECONF_append_linux-uclibcgnueabi = " --disable-decimal-float" + diff --git a/recipes/gcc/gcc-4.4.1/gcc-link-libgcc-with-libm.patch b/recipes/gcc/gcc-4.4.1/gcc-link-libgcc-with-libm.patch new file mode 100644 index 0000000000..0db3a362b3 --- /dev/null +++ b/recipes/gcc/gcc-4.4.1/gcc-link-libgcc-with-libm.patch @@ -0,0 +1,259 @@ + + +Delivered-To: listarch-gcc-patches at gcc dot gnu dot org +Received: (qmail 27356 invoked by alias); 7 Oct 2008 18:11:15 -0000 +Received: (qmail 27347 invoked by uid 22791); 7 Oct 2008 18:11:13 -0000 +X-Spam-Check-By: sourceware.org +Received: from fg-out-1718.google.com (HELO fg-out-1718.google.com) (72.14.220.154) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 07 Oct 2008 18:10:20 +0000 +Received: by fg-out-1718.google.com with SMTP id e21so2412591fga.28 for ; Tue, 07 Oct 2008 11:10:15 -0700 (PDT) +Received: by 10.181.25.18 with SMTP id c18mr5278303bkj.61.1223403015435; Tue, 07 Oct 2008 11:10:15 -0700 (PDT) +Received: from s42.loc (85-127-249-102.dynamic.xdsl-line.inode.at [85.127.249.102]) by mx.google.com with ESMTPS id b17sm14173957fka.7.2008.10.07.11.10.13 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 07 Oct 2008 11:10:14 -0700 (PDT) +Received: from cow by s42.loc with local (Exim 4.69) (envelope-from ) id 1KnH0l-00050F-7O; Tue, 07 Oct 2008 20:10:19 +0200 +Date: Tue, 7 Oct 2008 20:10:19 +0200 +From: Bernhard Reutner-Fischer +To: Ian Lance Taylor +Cc: gcc-patches at gcc dot gnu dot org +Subject: Re: [PATCH] link libgcc_s.so against a lib containing copysignl on powerpc-*-linux-uclibc +Message-ID: <20081007181019.GB5178@mx.loc> +References: <20081007141721.GG9250@mx.loc> +MIME-Version: 1.0 +Content-Type: multipart/mixed; boundary="rwEMma7ioTxnRzrJ" +Content-Disposition: inline +In-Reply-To: +User-Agent: Mutt/1.5.18 (2008-05-17) +Mailing-List: contact gcc-patches-help at gcc dot gnu dot org; run by ezmlm +Precedence: bulk +List-Id: +List-Archive: +List-Post: +List-Help: +Sender: gcc-patches-owner at gcc dot gnu dot org +Delivered-To: mailing list gcc-patches at gcc dot gnu dot org + + +--rwEMma7ioTxnRzrJ +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline + +On Tue, Oct 07, 2008 at 09:39:31AM -0700, Ian Lance Taylor wrote: +>Bernhard Reutner-Fischer writes: +> +>> gcc/ChangeLog: +>> +>> 2008-10-07 Bernhard Reutner-Fischer <> +>> +>> * config/t-slibgcc-elf-ver (SHLIB_LC): Also link against +>> @libgcc_libm@. +>> +>> libgcc/ChangeLog: +>> +>> 2008-10-07 Bernhard Reutner-Fischer <> +>> +>> * configure.ac (libgcc_cv_copysignl_lib, LIBGCC_LIBM): New +>> variables to denote if we are on powerpc-uclibc where libm +>> functions live in libm. +>> * Makefile.in (LIBGCC_LIBM): Set. +>> (libgcc_s$(SHLIB_EXT)): Substitute @libgcc_libm@ with +>> $(LIBGCC_LIBM). +>> * (configure): Regenerate. +> +> +>> +# On powerpc libgcc_s references copysignl which is a libm function but +>> +# glibc apparently also provides it via libc as opposed to uClibc where +>> +# it lives in libm. +>> +dnl save_LIBS="$LIBS" +>> +dnl LIBS= +>> +dnl AC_SEARCH_LIBS(copysignl, m) +>> +dnl LIBGCC_LIBS="$LIBS" +>> +dnl LIBS="$save_LIBS" +>> +dnl AC_SUBST(LIBGCC_LIBS) +> +>Why don't you run these commands listed as dnl? + +I don't have a working compiler here yet and GCC_NO_EXECUTABLES. I can +only assemble, not link (we're about to build the libgcc for the +compiler here). +> +>> +AC_CACHE_CHECK([for library containing copysignl], +>> + libgcc_cv_copysignl_lib, [ +>> + echo '#include ' > conftest.c +>> + case $target_alias in +>> + *powerpc*) +>> + echo 'int the_libc = __UCLIBC__;' >> conftest.c +>> + ;; +>> + *) +>> + echo 'int the_libc; /* dummy */' >> conftest.c +>> + ;; +>> + esac +>> + libgcc_cv_copysignl_lib="-lc" +>> + if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) +>> + then +>> + libgcc_cv_copysignl_lib="-lm" +>> + fi +> +>AC_TRY_COMMAND is not part of the documented set of autoconf +>commands. And this test seems reversed: shouldn't you add -lm if +>AC_TRY_COMMAND fails? + +AC_TRY_COMMAND is used in the same file to check visibility support. +An alternative would be to run nm(1), but for that i need to know the +location of libc and libm so AC_TRY_COMMAND was easier. + +The test is supposed to +- pass only on powerpc-*-*-uclibc* +- fail otherwise +so yes, that isn't quite right and should drop the case statement and +check something like __UCLIBC__ + __powerpc__ instead (or use #if +!defined\n#else\n#error glibm\n#endif but that would be more echo +invocations). + + +>I don't see any reason to write shell code that tests $target_alias + +true. + +>(and shouldn't it be $host_alias anyhow)? Just write C code that does +>"#ifdef PPC"? + +It can't be the host_alias, we can as well build either a +build=host=i386,target=ppc (cross-compiler) or a +build=i386,host=target=ppc ("native" compiler, cross-compiled). +> +>The basic idea seems fine, though. + +Thanks. I'm attaching an updated patch, ChangeLog remains the same. +Ok for trunk? + +--rwEMma7ioTxnRzrJ +Content-Type: text/x-diff; charset=us-ascii +Content-Disposition: attachment; filename="820-powerpc-softfloat-libm_for_copysignl.patch" + +diff -rdup gcc-4.4.0.old/gcc/config/t-slibgcc-elf-ver gcc-4.4.0/gcc/config/t-slibgcc-elf-ver +--- gcc-4.4.0.old/gcc/config/t-slibgcc-elf-ver 2005-10-31 18:03:08.000000000 +0100 ++++ gcc-4.4.0/gcc/config/t-slibgcc-elf-ver 2008-10-07 19:28:13.000000000 +0200 +@@ -9,7 +9,7 @@ SHLIB_MAP = @shlib_map_file@ + SHLIB_OBJS = @shlib_objs@ + SHLIB_DIR = @multilib_dir@ + SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@ +-SHLIB_LC = -lc ++SHLIB_LC = @libgcc_libm@ -lc + + SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ + -Wl,--soname=$(SHLIB_SONAME) \ +diff -rdup gcc-4.4.0.old/libgcc/configure gcc-4.4.0/libgcc/configure +--- gcc-4.4.0.old/libgcc/configure 2008-07-17 10:40:53.000000000 +0200 ++++ gcc-4.4.0/libgcc/configure 2008-10-07 19:40:48.000000000 +0200 +@@ -272,7 +272,7 @@ PACKAGE_STRING='GNU C Runtime Library 1. + PACKAGE_BUGREPORT='' + + ac_unique_file="static-object.mk" +-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS' ++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls LIBGCC_LIBM tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS' + ac_subst_files='' + ac_pwd=`pwd` + +@@ -3522,6 +3522,39 @@ if test "$enable_tls $gcc_cv_have_cc_tls + fi + + ++# On powerpc libgcc_s references copysignl which is a libm function but ++# glibc apparently also provides it via libc as opposed to uClibc where ++# it lives in libm. ++echo "$as_me:$LINENO: checking for library containing copysignl" >&5 ++echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 ++if test "${libgcc_cv_copysignl_lib+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ++ echo '#include ' > conftest.c ++ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c ++ libgcc_cv_copysignl_lib="-lc" ++ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } ++ then ++ libgcc_cv_copysignl_lib="-lm" ++ fi ++ rm -f conftest.* ++ ++fi ++echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 ++echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 ++ ++case /${libgcc_cv_copysignl_lib}/ in ++ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; ++ *) LIBGCC_LIBM= ;; ++esac ++ ++ + # Conditionalize the makefile for this target machine. + tmake_file_= + for f in ${tmake_file} +@@ -4242,6 +4275,7 @@ s,@enable_decimal_float@,$enable_decimal + s,@fixed_point@,$fixed_point,;t t + s,@vis_hide@,$vis_hide,;t t + s,@set_have_cc_tls@,$set_have_cc_tls,;t t ++s,@LIBGCC_LIBM@,$LIBGCC_LIBM,;t t + s,@tmake_file@,$tmake_file,;t t + s,@extra_parts@,$extra_parts,;t t + s,@asm_hidden_op@,$asm_hidden_op,;t t +diff -rdup gcc-4.4.0.old/libgcc/configure.ac gcc-4.4.0/libgcc/configure.ac +--- gcc-4.4.0.old/libgcc/configure.ac 2008-07-17 10:40:53.000000000 +0200 ++++ gcc-4.4.0/libgcc/configure.ac 2008-10-07 19:34:48.000000000 +0200 +@@ -203,6 +203,27 @@ if test "$enable_tls $gcc_cv_have_cc_tls + fi + AC_SUBST(set_have_cc_tls) + ++# On powerpc libgcc_s references copysignl which is a libm function but ++# glibc apparently also provides it via libc as opposed to uClibc where ++# it lives in libm. ++AC_CACHE_CHECK([for library containing copysignl], ++ libgcc_cv_copysignl_lib, [ ++ echo '#include ' > conftest.c ++ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c ++ libgcc_cv_copysignl_lib="-lc" ++ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) ++ then ++ libgcc_cv_copysignl_lib="-lm" ++ fi ++ rm -f conftest.* ++ ]) ++ ++case /${libgcc_cv_copysignl_lib}/ in ++ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; ++ *) LIBGCC_LIBM= ;; ++esac ++AC_SUBST(LIBGCC_LIBM) ++ + # Conditionalize the makefile for this target machine. + tmake_file_= + for f in ${tmake_file} +diff -rdup gcc-4.4.0.old/libgcc/Makefile.in gcc-4.4.0/libgcc/Makefile.in +--- gcc-4.4.0.old/libgcc/Makefile.in 2008-07-17 10:40:53.000000000 +0200 ++++ gcc-4.4.0/libgcc/Makefile.in 2008-10-07 19:28:13.000000000 +0200 +@@ -40,6 +40,7 @@ enable_shared = @enable_shared@ + decimal_float = @decimal_float@ + enable_decimal_float = @enable_decimal_float@ + fixed_point = @fixed_point@ ++LIBGCC_LIBM = @LIBGCC_LIBM@ + + host_noncanonical = @host_noncanonical@ + +@@ -786,9 +787,10 @@ libgcc_s$(SHLIB_EXT): $(libgcc-s-objects + @multilib_dir@,$(MULTIDIR),$(subst \ + @shlib_objs@,$(objects),$(subst \ + @shlib_base_name@,libgcc_s,$(subst \ ++ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ + @shlib_map_file@,$(mapfile),$(subst \ + @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ +- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) ++ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) + + libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) + # @multilib_flags@ is still needed because this may use + +--rwEMma7ioTxnRzrJ-- diff --git a/recipes/gcc/gcc-cross-intermediate_4.4.1.bb b/recipes/gcc/gcc-cross-intermediate_4.4.1.bb index a9ae5bdf20..3ca59aa02f 100644 --- a/recipes/gcc/gcc-cross-intermediate_4.4.1.bb +++ b/recipes/gcc/gcc-cross-intermediate_4.4.1.bb @@ -5,4 +5,5 @@ DEPENDS += "gmp-native mpfr-native" EXTRA_OECONF += " --disable-libmudflap \ --disable-libgomp \ - --disable-libssp" + --disable-libssp \ + " -- cgit v1.2.3 From f7fb3b7e00003319aa09ebbfec5a6488d14d9a15 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 27 Aug 2009 17:49:35 -0700 Subject: uclibc: Make 0.9.30.1 as default if not specified Add C99 double wrappers. Set the default preferences such that 0.9.30.1 is chosen if not specified. Signed-off-by: Khem Raj --- .../uclibc-0.9.30.1/uclibc-c99-ldbl-math.patch | 474 +++++++++++++++++++++ recipes/uclibc/uclibc_0.9.28.bb | 1 - recipes/uclibc/uclibc_0.9.30.1.bb | 3 +- recipes/uclibc/uclibc_git.bb | 3 +- recipes/uclibc/uclibc_nptl.bb | 2 +- 5 files changed, 479 insertions(+), 4 deletions(-) create mode 100644 recipes/uclibc/uclibc-0.9.30.1/uclibc-c99-ldbl-math.patch (limited to 'recipes') diff --git a/recipes/uclibc/uclibc-0.9.30.1/uclibc-c99-ldbl-math.patch b/recipes/uclibc/uclibc-0.9.30.1/uclibc-c99-ldbl-math.patch new file mode 100644 index 0000000000..f3718431ea --- /dev/null +++ b/recipes/uclibc/uclibc-0.9.30.1/uclibc-c99-ldbl-math.patch @@ -0,0 +1,474 @@ +Index: uClibc-0.9.30.1/libm/ldouble_wrappers.c +=================================================================== +--- uClibc-0.9.30.1/libm/ldouble_wrappers.c (revision 25552) ++++ uClibc-0.9.30.1/libm/ldouble_wrappers.c (working copy) +@@ -13,6 +13,16 @@ + #include "math.h" + #include + ++#if defined __NO_LONG_DOUBLE_MATH ++# define int_WRAPPER_C99(func) /* not needed */ ++# else ++# define int_WRAPPER_C99(func) \ ++int func##l(long double x) \ ++{ \ ++ return func((double) x); \ ++} \ ++libm_hidden_def(func##l) ++#endif + + /* Implement the following, as defined by SuSv3 */ + #if 0 +@@ -543,46 +553,28 @@ long double truncl (long double x) + #endif + + +-#ifdef __DO_C99_MATH__ ++#if defined __DO_C99_MATH__ + + #ifdef L_fpclassifyl +-int __fpclassifyl (long double x) +-{ +- return __fpclassify ( (double) x ); +-} +-libm_hidden_def(__fpclassifyl) ++int_WRAPPER_C99(__fpclassify) + #endif + + #ifdef L_finitel +-int __finitel (long double x) +-{ +- return __finite ( (double)x ); +-} +-libm_hidden_def(__finitel) ++int_WRAPPER_C99(__finite) + #endif + + #ifdef L_signbitl +-int __signbitl (long double x) +-{ +- return __signbitl ( (double)x ); +-} +-libm_hidden_def(__signbitl) ++int_WRAPPER_C99(__signbit) + #endif + + #ifdef L_isnanl +-int __isnanl (long double x) +-{ +- return __isnan ( (double)x ); +-} +-libm_hidden_def(__isnanl) ++int_WRAPPER_C99(__isnan) + #endif + + #ifdef L_isinfl +-int __isinfl (long double x) +-{ +- return __isinf ( (double)x ); +-} +-libm_hidden_def(__isinfl) ++int_WRAPPER_C99(__isinf) + #endif + +-#endif ++#endif /* DO_C99_MATH */ ++ ++#undef int_WRAPPER_C99 +Index: uClibc-0.9.30.1/libm/nan.c +=================================================================== +--- uClibc-0.9.30.1/libm/nan.c (revision 25552) ++++ uClibc-0.9.30.1/libm/nan.c (working copy) +@@ -45,7 +45,7 @@ float nanf (const char *tagp) + } + libm_hidden_def(nanf) + +-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __NO_LONG_DOUBLE_MATH + libm_hidden_proto(nanl) + long double nanl (const char *tagp) + { +Index: uClibc-0.9.30.1/include/math.h +=================================================================== +--- uClibc-0.9.30.1/include/math.h (revision 25552) ++++ uClibc-0.9.30.1/include/math.h (working copy) +@@ -118,7 +118,7 @@ __BEGIN_DECLS + # undef __MATH_PRECNAME + + # if (__STDC__ - 0 || __GNUC__ - 0) \ +- && (defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ || defined __LDBL_COMPAT) ++ && (!defined __NO_LONG_DOUBLE_MATH || defined __LDBL_COMPAT) + # ifdef __LDBL_COMPAT + + # ifdef __USE_ISOC99 +@@ -230,7 +230,7 @@ enum + }; + + /* Return number of classification appropriate for X. */ +-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifdef __NO_LONG_DOUBLE_MATH + # define fpclassify(x) \ + (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x)) + # else +@@ -242,7 +242,7 @@ enum + # endif + + /* Return nonzero value if sign of X is negative. */ +-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifdef __NO_LONG_DOUBLE_MATH + # define signbit(x) \ + (sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x)) + # else +@@ -254,7 +254,7 @@ enum + # endif + + /* Return nonzero value if X is not +-Inf or NaN. */ +-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifdef __NO_LONG_DOUBLE_MATH + # define isfinite(x) \ + (sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x)) + # else +@@ -270,7 +270,7 @@ enum + + /* Return nonzero value if X is a NaN. We could use `fpclassify' but + we already have this functions `__isnan' and it is faster. */ +-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifdef __NO_LONG_DOUBLE_MATH + # define isnan(x) \ + (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x)) + # else +@@ -282,7 +282,7 @@ enum + # endif + + /* Return nonzero value is X is positive or negative infinity. */ +-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifdef __NO_LONG_DOUBLE_MATH + # define isinf(x) \ + (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x)) + # else +Index: uClibc-0.9.30.1/include/tgmath.h +=================================================================== +--- uClibc-0.9.30.1/include/tgmath.h (revision 25552) ++++ uClibc-0.9.30.1/include/tgmath.h (working copy) +@@ -36,7 +36,7 @@ + + #if __GNUC_PREREQ (2, 7) + +-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifdef __NO_LONG_DOUBLE_MATH + # define __tgml(fct) fct + # else + # define __tgml(fct) fct ## l +Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h (working copy) +@@ -7,13 +7,13 @@ + # define __WORDSIZE 32 + #endif + +-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL + + /* Signal the glibc ABI didn't used to have a `long double'. + The changes all the `long double' function variants to be redirects + to the double functions. */ + # define __LONG_DOUBLE_MATH_OPTIONAL 1 + # ifndef __LONG_DOUBLE_128__ +-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 + # endif + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h (working copy) +@@ -65,11 +65,13 @@ typedef double double_t; + + #endif /* ISO C99 */ + +-#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#ifndef __NO_LONG_DOUBLE_MATH + #include + /* Signal that we do not really have a `long double'. The disables the + declaration of all the `long double' function variants. */ + # if __WORDSIZE == 32 +-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 ++# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 + # endif /* __WORDSIZE == 32 */ +-#endif /* __UCLIBC_HAS_LONG_DOUBLE_MATH__ */ ++#endif /* __NO_LONG_DOUBLE_MATH */ +Index: uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h (working copy) +@@ -34,3 +34,11 @@ typedef double double_t; /* `double' exp + # define FP_ILOGBNAN (2147483647) + + #endif /* ISO C99 */ ++ ++#ifndef __NO_LONG_DOUBLE_MATH ++/* Signal that we do not really have a `long double'. This disables the ++ declaration of all the `long double' function variants. */ ++/* XXX The FPA does support this but the patterns in GCC are currently ++ turned off. */ ++# define __NO_LONG_DOUBLE_MATH 1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h (working copy) +@@ -36,3 +36,7 @@ typedef long double double_t; /* `double + # define FP_ILOGBNAN (2147483647) + + #endif /* ISO C99 */ ++ ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h (working copy) +@@ -18,13 +18,13 @@ + + #define __WORDSIZE 64 + +-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL + + /* Signal that we didn't used to have a `long double'. The changes all + the `long double' function variants to be redirects to the double + functions. */ + # define __LONG_DOUBLE_MATH_OPTIONAL 1 + # ifndef __LONG_DOUBLE_128__ +-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 + # endif + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h (working copy) +@@ -78,3 +78,7 @@ typedef double double_t; + + # endif /* GNUC before 3.4 */ + #endif /* COMPLEX_H */ ++ ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h (working copy) +@@ -35,3 +35,9 @@ typedef double double_t; /* `double' exp + # define FP_ILOGBNAN 2147483647 + + #endif /* ISO C99 */ ++ ++#ifndef __NO_LONG_DOUBLE_MATH ++/* Signal that we do not really have a `long double'. The disables the ++ declaration of all the `long double' function variants. */ ++# define __NO_LONG_DOUBLE_MATH 1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h (working copy) +@@ -44,3 +44,7 @@ typedef long double double_t; /* `double + # define FP_ILOGBNAN (-2147483647 - 1) + + #endif /* ISO C99 */ ++ ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h (working copy) +@@ -34,3 +34,11 @@ typedef double double_t; /* `double' exp + # define FP_ILOGBNAN (2147483647) + + #endif /* ISO C99 */ ++ ++#ifndef __NO_LONG_DOUBLE_MATH ++/* Signal that we do not really have a `long double'. This disables the ++ declaration of all the `long double' function variants. */ ++/* XXX The FPA does support this but the patterns in GCC are currently ++ turned off. */ ++# define __NO_LONG_DOUBLE_MATH 1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h (working copy) +@@ -46,3 +46,7 @@ typedef long double double_t; /* `double + # define FP_ILOGBNAN (-2147483647 - 1) + + #endif /* ISO C99 */ ++ ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h (working copy) +@@ -36,8 +36,8 @@ typedef double double_t; /* `double' exp + + #endif /* ISO C99 */ + +-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#ifndef __NO_LONG_DOUBLE_MATH + /* Signal that we do not really have a `long double'. The disables the + declaration of all the `long double' function variants. */ +-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h (working copy) +@@ -35,3 +35,7 @@ typedef double double_t; /* `double' exp + # define FP_ILOGBNAN 2147483647 + + #endif /* ISO C99 */ ++ ++#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h (working copy) +@@ -39,8 +39,10 @@ typedef double double_t; /* `double' exp + + #endif /* ISO C99 */ + +-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && _MIPS_SIM == _ABIO32 ++#if ! defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32 + /* Signal that we do not really have a `long double'. This disables the + declaration of all the `long double' function variants. */ +-# error defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ and _MIPS_SIM == _ABIO32 ++# define __NO_LONG_DOUBLE_MATH 1 ++#elif !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h (working copy) +@@ -34,3 +34,11 @@ typedef double double_t; /* `double' exp + # define FP_ILOGBNAN (2147483647) + + #endif /* ISO C99 */ ++ ++#ifndef __NO_LONG_DOUBLE_MATH ++/* Signal that we do not really have a `long double'. This disables the ++ declaration of all the `long double' function variants. */ ++/* XXX The FPA does support this but the patterns in GCC are currently ++ turned off. */ ++# define __NO_LONG_DOUBLE_MATH 1 ++#endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h (working copy) +@@ -6,7 +6,7 @@ + # define __WORDSIZE 32 + #endif + +-#if 0 /* uClibc: done in mathdefs.h: defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL*/ ++#if 0 /* uClibc: done in mathdefs.h: !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL*/ + + # if __WORDSIZE == 32 + /* Signal that in 32bit ABI we didn't used to have a `long double'. +@@ -14,7 +14,7 @@ + to the double functions. */ + # define __LONG_DOUBLE_MATH_OPTIONAL 1 + # ifndef __LONG_DOUBLE_128__ +-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 + # endif + # endif + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h (working copy) +@@ -57,13 +57,15 @@ typedef double double_t; + + #endif /* ISO C99 */ + +-#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++#ifndef __NO_LONG_DOUBLE_MATH + + # if __WORDSIZE == 32 + /* Signal that in 32bit ABI we do not really have a `long double'. + The disables the declaration of all the `long double' function + variants. */ +-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 ++# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 + # endif + + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h (working copy) +@@ -37,7 +37,7 @@ + + # if __WORDSIZE == 32 + +-# ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifndef __NO_LONG_DOUBLE_MATH + + # define __unordered_cmp(x, y) \ + (__extension__ \ +@@ -157,7 +157,7 @@ __NTH (__signbit (double __x)) + return __u.__i[0] < 0; + } + +-# ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# ifndef __NO_LONG_DOUBLE_MATH + __MATH_INLINE int + __NTH (__signbitl (long double __x)) + { +@@ -219,7 +219,7 @@ __NTH (sqrtl (long double __x)) + _Qp_sqrt (&__r, &__x); + return __r; + } +-# elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# elif !defined __NO_LONG_DOUBLE_MATH + __MATH_INLINE long double + sqrtl (long double __x) __THROW + { +@@ -257,7 +257,7 @@ __ieee754_sqrtl (long double __x) + _Qp_sqrt(&__r, &__x); + return __r; + } +-# elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# elif !defined __NO_LONG_DOUBLE_MATH + __MATH_INLINE long double + __ieee754_sqrtl (long double __x) + { +Index: uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h (revision 25552) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h (working copy) +@@ -61,3 +61,9 @@ typedef double double_t; + # define FP_ILOGBNAN 0x7fffffff + + #endif /* ISO C99 */ ++ ++#ifndef __NO_LONG_DOUBLE_MATH ++/* Signal that we do not really have a `long double'. The disables the ++ declaration of all the `long double' function variants. */ ++# define __NO_LONG_DOUBLE_MATH 1 ++#endif diff --git a/recipes/uclibc/uclibc_0.9.28.bb b/recipes/uclibc/uclibc_0.9.28.bb index 8ad4343313..aef0cd8028 100644 --- a/recipes/uclibc/uclibc_0.9.28.bb +++ b/recipes/uclibc/uclibc_0.9.28.bb @@ -1,4 +1,3 @@ -DEFAULT_PREFERENCE = "1" PR = "r18" require uclibc.inc diff --git a/recipes/uclibc/uclibc_0.9.30.1.bb b/recipes/uclibc/uclibc_0.9.30.1.bb index 5fdf829b60..972b9576bd 100644 --- a/recipes/uclibc/uclibc_0.9.30.1.bb +++ b/recipes/uclibc/uclibc_0.9.30.1.bb @@ -7,7 +7,7 @@ # on whether the base patches apply to the selected (SRCDATE) svn release. # UCLIBC_BASE ?= "0.9.30.1" -PR = "r3" +PR = "r4" require uclibc.inc @@ -20,6 +20,7 @@ SRC_URI += "file://uClibc.machine file://uClibc.distro \ file://uclibc_ldso_use_O0.patch;patch=1 \ file://ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch;patch=1 \ file://gcc-4.4-fixlet.patch;patch=1 \ + file://uclibc-c99-ldbl-math.patch;patch=1 \ " #recent versions uclibc require real kernel headers PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/recipes/uclibc/uclibc_git.bb b/recipes/uclibc/uclibc_git.bb index 0660341786..0fac211de2 100644 --- a/recipes/uclibc/uclibc_git.bb +++ b/recipes/uclibc/uclibc_git.bb @@ -7,9 +7,10 @@ # on whether the base patches apply to the selected (SRCDATE) svn release. # UCLIBC_BASE ?= "0.9.30" -SRCREV="b1913a876059949e6c309bafade55e9425ef33fb" +SRCREV="6625518cd6894338937a74ca6b9187b7b8167b03" PV = "${UCLIBC_BASE}+gitr${SRCREV}" PR = "r1" +DEFAULT_PREFERENCE = "-1" #DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take # precedence. diff --git a/recipes/uclibc/uclibc_nptl.bb b/recipes/uclibc/uclibc_nptl.bb index 2054580e54..bdf7d9c49d 100644 --- a/recipes/uclibc/uclibc_nptl.bb +++ b/recipes/uclibc/uclibc_nptl.bb @@ -10,7 +10,7 @@ UCLIBC_BASE ?= "0.9.30" SRCREV="d57e6548d253a9efed91d72498aeda092fa265d2" PV = "${UCLIBC_BASE}+gitr${SRCREV}" PR = "r1" -#DEFAULT_PREFERENCE = "2" +DEFAULT_PREFERENCE = "-1" #DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take # precedence. -- cgit v1.2.3 From 192b086f07fa18395f83f6606ae481f8c5bd6ec0 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 27 Aug 2009 21:27:22 -0700 Subject: gcc-4.4.1.inc: Disable 128 bit long double for powerpc-*-uclibc Signed-off-by: Khem Raj --- recipes/gcc/gcc-4.4.1.inc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'recipes') diff --git a/recipes/gcc/gcc-4.4.1.inc b/recipes/gcc/gcc-4.4.1.inc index 365c20157f..df3449099d 100644 --- a/recipes/gcc/gcc-4.4.1.inc +++ b/recipes/gcc/gcc-4.4.1.inc @@ -26,6 +26,4 @@ EXTRA_OECONF_BASE = " --enable-libssp \ --disable-bootstrap --disable-libgomp \ --disable-libmudflap" -EXTRA_OECONF_append_linux-uclibc = " --disable-decimal-float" -EXTRA_OECONF_append_linux-uclibcgnueabi = " --disable-decimal-float" - +EXTRA_OECONF_append_linux-uclibc = " ${@base_contains('TARGET_ARCH', 'powerpc', '--disable-decimal-float --without-long-double-128', '',d)}" -- cgit v1.2.3