<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-1164</id>
	<title>Nabble - gcc - java - patches</title>
	<updated>2009-12-14T12:35:54Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/gcc---java---patches-f1164.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gcc---java---patches-f1164.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26784540</id>
	<title>libjava: fix rebuild failure due to FFLAGS setting</title>
	<published>2009-12-14T12:35:54Z</published>
	<updated>2009-12-14T12:35:54Z</updated>
	<author>
		<name>Ralf Wildenhues</name>
	</author>
	<content type="html">Since libjava/libltdl is still using old Libtool, it falls prey of the
&lt;br&gt;old bug that tests for C++ and Fortran are run even if the package in
&lt;br&gt;question (here: libltdl) does not use these languages at all. &amp;nbsp;This
&lt;br&gt;causes one interesting rebuild failure in the GCC tree: in an up to date
&lt;br&gt;tree,
&lt;br&gt;&amp;nbsp; touch $srcdir/libjava/libltdl/configure
&lt;br&gt;&lt;br&gt;(which can implicitly happen through ./contrib/gcc_update), causes a
&lt;br&gt;failure like this (sorry for the long line):
&lt;br&gt;&lt;br&gt;Making all in libltdl
&lt;br&gt;make[5]: Entering directory `/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libjava/libltdl'
&lt;br&gt;/bin/sh ./config.status --recheck
&lt;br&gt;running CONFIG_SHELL=/bin/sh /bin/sh ../../../../../gcc/libjava/libltdl/configure --disable-option-checking --prefix=/tmp/gcc-inst --with-multisubdir=32 --with-multisrctop= --enable-multilib --enable-maintainer-mode --with-boot-ldflags=-Wl,--as-needed --with-stage1-ldflags=-Wl,--as-needed --with-libelf=/tmp/gcc-inst --enable-lto --without-cloog --without-ppl --with-mpc=/tmp/gcc-inst --enable-languages=c,c++,fortran,java,lto,objc,obj-c++ --program-transform-name=s,y,y, --with-target-subdir=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu build_alias=x86_64-unknown-linux-gnu host_alias=x86_64-unknown-linux-gnu target_alias=x86_64-unknown-linux-gnu CC=/tmp/gcc/build/./gcc/xgcc -B/tmp/gcc/build/./gcc/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/bin/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/lib/ -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/include -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/sys-include &amp;nbsp;CFLAGS=-g -O2 LDFLAGS= CPPFLAGS= CXX= /tmp/gcc/build/./gcc/xgcc -shared-libgcc -B/tmp/gcc/build/./gcc -nostdinc++ -L/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/src -L/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/bin/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/lib/ -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/include -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/sys-include &amp;nbsp;CXXFLAGS=-g -O2 -D_GNU_SOURCE --enable-ltdl-convenience --with-vm-classes=/tmp/gcc/gcc/libjava:/tmp/gcc/build/x86_64-unknown-linux-gnu/libjava CC=/tmp/gcc/build/./gcc/xgcc -B/tmp/gcc/build/./gcc/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/bin/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/lib/ -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/include -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/sys-include &amp;nbsp;-m32 CXX=/tmp/gcc/build/./gcc/xgcc -shared-libgcc -B/tmp/gcc/build/./gcc -nostdinc++ -L/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src -L/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src/.libs -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/bin/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/lib/ -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/include -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/sys-include &amp;nbsp;-m32 F77= -m32 GCJ=/tmp/gcc/build/./gcc/gcj -B/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libjava/ -B/tmp/gcc/build/./gcc/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/bin/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/lib/ -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/include -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/sys-include &amp;nbsp;-m32 GFORTRAN=/tmp/gcc/build/./gcc/gfortran -B/tmp/gcc/build/./gcc/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/bin/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/lib/ -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/include -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/sys-include &amp;nbsp;-m32 LD_LIBRARY_PATH=/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libstdc++-v3/.libs:/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libmudflap/.libs:/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libssp/.libs:/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libgomp/.libs:/tmp/gcc/build/./gcc:/tmp/gcc/build/./prev-gcc:/tmp/gcc-inst/lib:/tmp/gcc-inst/lib64 --disable-tool-wrappers --disable-load-library --disable-debug --enable-default-toolkit= --with-vm-classes=/tmp/gcc/gcc/libjava:/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libjava --disable-core-jni --disable-examples --with-glibj=build --disable-gconf-peer --enable-default-preferences-peer=gnu.java.util.prefs.FileBasedFactory --disable-gtk-peer --disable-plugin --disable-qt-peer --without-escher --disable-gjdoc --disable-regen-headers --disable-Werror --with-auxdir=/tmp/gcc/gcc --cache-file=../config.cache --srcdir=../../../../../gcc/libjava/libltdl --no-create --no-recursion
&lt;br&gt;configure: loading cache ../config.cache
&lt;br&gt;configure: error: `FFLAGS' was not set in the previous run
&lt;br&gt;configure: error: in `/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libjava/libltdl':
&lt;br&gt;configure: error: changes in the environment can compromise the build
&lt;br&gt;configure: error: run `make distclean' and/or `rm ../config.cache' and start over
&lt;br&gt;make[5]: *** [config.status] Error 1
&lt;br&gt;make[5]: Leaving directory `/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libjava/libltdl'
&lt;br&gt;&lt;br&gt;&lt;br&gt;The workaround for 1.5.x
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://thread.gmane.org/gmane.comp.gnu.libtool.general/6579&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://thread.gmane.org/gmane.comp.gnu.libtool.general/6579&lt;/a&gt;&amp;gt;
&lt;br&gt;works here as well, both cutting down on libltdl/configure run time and
&lt;br&gt;size as well as avoiding this bug.
&lt;br&gt;&lt;br&gt;Another workaround would be to declare FFLAGS as precious in
&lt;br&gt;libjava/configure.ac, but what's the point, as nothing below libjava
&lt;br&gt;uses this variable.
&lt;br&gt;&lt;br&gt;OK for trunk? &amp;nbsp;Bootstrapped i686-pc-linux-gnu without regressions.
&lt;br&gt;&lt;br&gt;(While this patch isn't in upstream Libtool branch-1-5, if you care
&lt;br&gt;about it I can propose it upstream; the master branch has other code
&lt;br&gt;with a similar effect.)
&lt;br&gt;&lt;br&gt;With this and the other recent patch in, I am not aware of any further
&lt;br&gt;rebuilding glitches.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Ralf
&lt;br&gt;&lt;br&gt;Disable libtool support for languages unused in libjava/libltdl
&lt;br&gt;&lt;br&gt;libjava/libltdl/ChangeLog:
&lt;br&gt;2009-12-13 &amp;nbsp;Ralf Wildenhues &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26784540&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Ralf.Wildenhues@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * configure.ac: Disable libtool support for unused languages,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; to avoid precious FFLAGS recheck cache consistency failure.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * aclocal.m4: Regenerate.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * configure: Regenerate.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Makefile.in: Regenerate.
&lt;br&gt;&lt;br&gt;diff --git a/libjava/libltdl/configure.ac b/libjava/libltdl/configure.ac
&lt;br&gt;index 7e26e20..8631bd1 100644
&lt;br&gt;--- a/libjava/libltdl/configure.ac
&lt;br&gt;+++ b/libjava/libltdl/configure.ac
&lt;br&gt;@@ -19,6 +19,10 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;AC_PREREQ(2.64)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+dnl Disable libtool 1.5 support for languages we don't use
&lt;br&gt;+define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
&lt;br&gt;+define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
&lt;br&gt;+define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;## ------------------------ ##
&lt;br&gt;&amp;nbsp;## Autoconf initialisation. ##
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/libjava%3A-fix-rebuild-failure-due-to-FFLAGS-setting-tp26784540p26784540.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26782500</id>
	<title>RE: [patch] use of atomic builtins for arm-linux-eabi in boehm-gc</title>
	<published>2009-12-14T10:31:16Z</published>
	<updated>2009-12-14T10:31:16Z</updated>
	<author>
		<name>Boehm, Hans</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&amp;gt; From: &amp;nbsp;Matthias Klose
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 09.12.2009 11:16, Richard Earnshaw wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Current trunk fails to build on arm-linux-gnueabi in 
&lt;br&gt;&amp;gt; boehm-gc, when 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; configured
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; --with-mode=thumb:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; /tmp/ccVpqOWm.s: Assembler messages:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; /tmp/ccVpqOWm.s:1160: Error: selected processor does not 
&lt;br&gt;&amp;gt; support `swp 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; r3,r3,[r2]'
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; /tmp/ccVpqOWm.s:2472: Error: selected processor does not 
&lt;br&gt;&amp;gt; support `swp 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; r3,r3,[r2]'
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; /tmp/ccVpqOWm.s:3232: Error: selected processor does not 
&lt;br&gt;&amp;gt; support `swp 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; r3,r3,[r2]'
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; make[5]: *** [alloc.lo] Error 1
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; arm-linux-gnueabi now provides the atomic builtins; use them 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; unconditionally (as libjava does).
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Ok for the trunk, if testing succeeds? The build on trunk 
&lt;br&gt;&amp;gt; configured 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; with --with-mode=thumb fails for other reasons (PR42093), 
&lt;br&gt;&amp;gt; currently 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; testing the patch for the 4.4 branch.
&lt;br&gt;&amp;gt; &amp;gt; 2009-12-09 &amp;nbsp;Matthias Klose&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26782500&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;doko@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 	* include/private/gc_locks.h: For __ARM_EABI__ define
&lt;br&gt;&amp;gt; &amp;gt; 	GC_test_and_set &amp;nbsp;GC_clear to use the atomic builtins.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; OK for trunk once testing is complete.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; a test build did suceed without regressions. now that the 
&lt;br&gt;&amp;gt; _sync_synchronise fix is backported to the 4.4 branch, ok to 
&lt;br&gt;&amp;gt; commit to 4.4 branch as well?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Please also notify the upstream maintainer of boehm-gc, or 
&lt;br&gt;&amp;gt; this patch 
&lt;br&gt;&amp;gt; &amp;gt; may get lost in a future merge.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; forwarded to Hans Boehm.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Matthias
&lt;br&gt;&amp;gt; 
&lt;/div&gt;Thanks for forwarding.
&lt;br&gt;&lt;br&gt;Since the upstream version now uses libatomic_ops, this code doesn't really exist there anymore.
&lt;br&gt;&lt;br&gt;If anyone wants to double check that the code there makes sense, you can find the gcc/arm dependent code in &lt;a href=&quot;http://bdwgc.cvs.sourceforge.net/viewvc/bdwgc/bdwgc/libatomic_ops/src/atomic_ops/sysdeps/gcc/arm.h?revision=1.1&amp;view=markup&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bdwgc.cvs.sourceforge.net/viewvc/bdwgc/bdwgc/libatomic_ops/src/atomic_ops/sysdeps/gcc/arm.h?revision=1.1&amp;view=markup&lt;/a&gt;&lt;br&gt;&lt;br&gt;My long term plan is to convert all of this to C++0x/C1x atomics, once those are sufficiently supported.
&lt;br&gt;&lt;br&gt;Hans
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--use-of-atomic-builtins-for-arm-linux-eabi-in-boehm-gc-tp26707745p26782500.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26771022</id>
	<title>Re: [ping2] Re: [ping] Re: [patch] PR40134, use a linker script on        arm-linux   to link  with  -lgcc_s -lgcc</title>
	<published>2009-12-13T15:42:57Z</published>
	<updated>2009-12-13T15:42:57Z</updated>
	<author>
		<name>Matthias Klose-6</name>
	</author>
	<content type="html">On 11.12.2009 10:57, Paolo Carlini wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On 12/11/2009 05:19 AM, Matthias Klose wrote:
&lt;br&gt;&amp;gt;&amp;gt; the attached patch enables the link tests on linux, kfreebsd, and hurd
&lt;br&gt;&amp;gt;&amp;gt; targets. checked with the (Debian) kfreebsd and hurd maintainers that
&lt;br&gt;&amp;gt;&amp;gt; this is the right thing to do (although there doesn't exist an active
&lt;br&gt;&amp;gt;&amp;gt; port of these on arm or hppa. tested on i486-linux-gnu,
&lt;br&gt;&amp;gt;&amp;gt; arm-linux-gnueabi and hppa-linux-gnu. ok for the trunk?
&lt;br&gt;&amp;gt; First, thanks Matthias for your patience on this issue.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The patch looks very nice to me, just wait one day or so for comments
&lt;br&gt;&amp;gt; and then go ahead, patch is approved for mainline.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If you want, I would suggest adding a one-line comment in the code, say,
&lt;br&gt;&amp;gt; after &amp;quot; # Do link tests if possible, instead asm tests, limited to some
&lt;br&gt;&amp;gt; platforms&amp;quot;, mentioning the PRs, these thorny issues about libgcc...
&lt;/div&gt;&lt;/div&gt;updated the comment, enabled link tests for *-*-uclinux* as suggested by Joseph, 
&lt;br&gt;committed to trunk.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Matthias
&lt;br&gt;&lt;br /&gt;libstdc++-v3/
&lt;br&gt;&lt;br&gt;2009-12-11 &amp;nbsp;Paolo Carlini &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26771022&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paolo.carlini@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Matthias Klose &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26771022&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;doko@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PR libstdc++/40133
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): On *-*-linux*,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *-*-uclinux*, *-*-kfreebsd*-gnu | *-*-gnu* targets do link tests when
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; possible.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * configure: Regenerate.
&lt;br&gt;&lt;br&gt;Index: libstdc++-v3/acinclude.m4
&lt;br&gt;===================================================================
&lt;br&gt;--- libstdc++-v3/acinclude.m4	(revision 155196)
&lt;br&gt;+++ libstdc++-v3/acinclude.m4	(working copy)
&lt;br&gt;@@ -2438,8 +2438,7 @@
&lt;br&gt;&amp;nbsp;dnl that are used should be checked.
&lt;br&gt;&amp;nbsp;dnl
&lt;br&gt;&amp;nbsp;dnl Note:
&lt;br&gt;-dnl libgomp and libgfortran do this with a link test, instead of an asm test.
&lt;br&gt;-dnl see: CHECK_SYNC_FETCH_AND_ADD
&lt;br&gt;+dnl libgomp and libgfortran use a link test, see CHECK_SYNC_FETCH_AND_ADD.
&lt;br&gt;&amp;nbsp;dnl
&lt;br&gt;&amp;nbsp;dnl Defines:
&lt;br&gt;&amp;nbsp;dnl &amp;nbsp;_GLIBCXX_ATOMIC_BUILTINS_1 
&lt;br&gt;@@ -2451,12 +2450,122 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;AC_LANG_SAVE
&lt;br&gt;&amp;nbsp; &amp;nbsp;AC_LANG_CPLUSPLUS
&lt;br&gt;&amp;nbsp; &amp;nbsp;old_CXXFLAGS=&amp;quot;$CXXFLAGS&amp;quot;
&lt;br&gt;- &amp;nbsp;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;# Do link tests if possible, instead asm tests, limited to some platforms
&lt;br&gt;+ &amp;nbsp;# see discussion in PR target/40134, PR libstdc++/40133 and the thread
&lt;br&gt;+ &amp;nbsp;# starting at &lt;a href=&quot;http://gcc.gnu.org/ml/gcc-patches/2009-07/msg00322.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/ml/gcc-patches/2009-07/msg00322.html&lt;/a&gt;&lt;br&gt;+ &amp;nbsp;atomic_builtins_link_tests=no
&lt;br&gt;+ &amp;nbsp;if test x$gcc_no_link != xyes; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Can do link tests. Limit to some tested platforms
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;case &amp;quot;$host&amp;quot; in
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;*-*-linux* | *-*-uclinux* | *-*-kfreebsd*-gnu | *-*-gnu*)
&lt;br&gt;+	atomic_builtins_link_tests=yes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;esac
&lt;br&gt;+ &amp;nbsp;fi
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;if test x$atomic_builtins_link_tests = xyes; then
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;# Do link tests.
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;CXXFLAGS=&amp;quot;$CXXFLAGS -fno-exceptions&amp;quot;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for bool])
&lt;br&gt;+ &amp;nbsp;AC_CACHE_VAL(glibcxx_cv_atomic_bool, [
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_TRY_LINK(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[ ],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[typedef bool atomic_type;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; const atomic_type c3(0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_fetch_and_add(&amp;c1, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_val_compare_and_swap(&amp;c1, c3, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_test_and_set(&amp;c1, c3);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_release(&amp;c1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_synchronize();],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_bool=yes],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_bool=no])
&lt;br&gt;+ &amp;nbsp;]) &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;if test $glibcxx_cv_atomic_bool = yes; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_1, 1,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for bool are supported on this host.])
&lt;br&gt;+ &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_bool)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for short])
&lt;br&gt;+ &amp;nbsp;AC_CACHE_VAL(glibcxx_cv_atomic_short, [
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_TRY_LINK(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[ ],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[typedef short atomic_type;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; const atomic_type c3(0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_fetch_and_add(&amp;c1, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_val_compare_and_swap(&amp;c1, c3, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_test_and_set(&amp;c1, c3);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_release(&amp;c1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_synchronize();],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_short=yes],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_short=no])
&lt;br&gt;+ &amp;nbsp;]) &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;if test $glibcxx_cv_atomic_short = yes; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_2, 1,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for short are supported on this host.])
&lt;br&gt;+ &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_short)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for int])
&lt;br&gt;+ &amp;nbsp;AC_CACHE_VAL(glibcxx_cv_atomic_int, [
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_TRY_LINK(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[ ],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[typedef int atomic_type;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; const atomic_type c3(0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_fetch_and_add(&amp;c1, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_val_compare_and_swap(&amp;c1, c3, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_test_and_set(&amp;c1, c3);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_release(&amp;c1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_synchronize();],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_int=yes],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_int=no])
&lt;br&gt;+ &amp;nbsp;]) &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;if test $glibcxx_cv_atomic_int = yes; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_4, 1,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for int are supported on this host.])
&lt;br&gt;+ &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_int)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for long long])
&lt;br&gt;+ &amp;nbsp;AC_CACHE_VAL(glibcxx_cv_atomic_long_long, [
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_TRY_LINK(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[ ],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[typedef long long atomic_type;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; const atomic_type c3(0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_fetch_and_add(&amp;c1, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_val_compare_and_swap(&amp;c1, c3, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_test_and_set(&amp;c1, c3);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_release(&amp;c1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_synchronize();],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_long_long=yes],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_long_long=no])
&lt;br&gt;+ &amp;nbsp;]) &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;if test $glibcxx_cv_atomic_long_long = yes; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_8, 1,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for long long are supported on this host.])
&lt;br&gt;+ &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_long_long)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;else
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;# Do asm tests.
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;# Compile unoptimized.
&lt;br&gt;&amp;nbsp; &amp;nbsp;CXXFLAGS='-O0 -S'
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;# Fake what AC_TRY_COMPILE does, without linking as this is
&lt;br&gt;- &amp;nbsp;# unnecessary for a builtins test.
&lt;br&gt;+ &amp;nbsp;# Fake what AC_TRY_COMPILE does.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;cat &amp;gt; conftest.$ac_ext &amp;lt;&amp;lt; EOF
&lt;br&gt;&amp;nbsp;[#]line __oline__ &amp;quot;configure&amp;quot;
&lt;br&gt;@@ -2478,14 +2587,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for bool])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if AC_TRY_EVAL(ac_compile); then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if grep __sync_ conftest.s &amp;gt;/dev/null 2&amp;gt;&amp;1 ; then
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinsb=no
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_bool=no
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_1, 1,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for bool are supported on this host.])
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinsb=yes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_bool=yes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;- &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($enable_atomic_builtinsb)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_bool)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;rm -f conftest*
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;cat &amp;gt; conftest.$ac_ext &amp;lt;&amp;lt; EOF
&lt;br&gt;@@ -2508,14 +2617,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for short])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if AC_TRY_EVAL(ac_compile); then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if grep __sync_ conftest.s &amp;gt;/dev/null 2&amp;gt;&amp;1 ; then
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinss=no
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_short=no
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_2, 1,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for short are supported on this host.])
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinss=yes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_short=yes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;- &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($enable_atomic_builtinss)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_short)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;rm -f conftest*
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;cat &amp;gt; conftest.$ac_ext &amp;lt;&amp;lt; EOF
&lt;br&gt;@@ -2539,14 +2648,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for int])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if AC_TRY_EVAL(ac_compile); then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if grep __sync_ conftest.s &amp;gt;/dev/null 2&amp;gt;&amp;1 ; then
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinsi=no
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_int=no
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_4, 1,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for int are supported on this host.])
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinsi=yes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_int=yes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;- &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($enable_atomic_builtinsi)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;rm -f conftest*
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;cat &amp;gt; conftest.$ac_ext &amp;lt;&amp;lt; EOF
&lt;br&gt;@@ -2569,22 +2678,23 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for long long])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if AC_TRY_EVAL(ac_compile); then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if grep __sync_ conftest.s &amp;gt;/dev/null 2&amp;gt;&amp;1 ; then
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinsll=no
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_long_long=no
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_8, 1,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for long long are supported on this host.])
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinsll=yes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_long_long=yes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;- &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($enable_atomic_builtinsll)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_long_long)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;rm -f conftest*
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp;fi
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;CXXFLAGS=&amp;quot;$old_CXXFLAGS&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp;AC_LANG_RESTORE
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;# Set atomicity_dir to builtins if either of above tests pass.
&lt;br&gt;- &amp;nbsp;if test $enable_atomic_builtinsi = yes || test $enable_atomic_builtinsb = yes ; then
&lt;br&gt;+ &amp;nbsp;if test $glibcxx_cv_atomic_int = yes || test $glibcxx_cv_atomic_bool = yes ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;atomicity_dir=cpu/generic/atomicity_builtins
&lt;br&gt;&amp;nbsp; &amp;nbsp;fi
&lt;br&gt;&amp;nbsp;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--PR40134%2C-use-a-linker-script-on-arm-linux-to-link-with--lgcc_s---lgcc-tp24369510p26771022.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26770889</id>
	<title>Re: [patch] use of atomic builtins for arm-linux-eabi in boehm-gc</title>
	<published>2009-12-13T15:24:54Z</published>
	<updated>2009-12-13T15:24:54Z</updated>
	<author>
		<name>Matthias Klose-6</name>
	</author>
	<content type="html">On 09.12.2009 11:16, Richard Earnshaw wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Current trunk fails to build on arm-linux-gnueabi in boehm-gc, when
&lt;br&gt;&amp;gt;&amp;gt; configured
&lt;br&gt;&amp;gt;&amp;gt; --with-mode=thumb:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; /tmp/ccVpqOWm.s: Assembler messages:
&lt;br&gt;&amp;gt;&amp;gt; /tmp/ccVpqOWm.s:1160: Error: selected processor does not support `swp
&lt;br&gt;&amp;gt;&amp;gt; r3,r3,[r2]'
&lt;br&gt;&amp;gt;&amp;gt; /tmp/ccVpqOWm.s:2472: Error: selected processor does not support `swp
&lt;br&gt;&amp;gt;&amp;gt; r3,r3,[r2]'
&lt;br&gt;&amp;gt;&amp;gt; /tmp/ccVpqOWm.s:3232: Error: selected processor does not support `swp
&lt;br&gt;&amp;gt;&amp;gt; r3,r3,[r2]'
&lt;br&gt;&amp;gt;&amp;gt; make[5]: *** [alloc.lo] Error 1
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; arm-linux-gnueabi now provides the atomic builtins; use them
&lt;br&gt;&amp;gt;&amp;gt; unconditionally (as
&lt;br&gt;&amp;gt;&amp;gt; libjava does).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Ok for the trunk, if testing succeeds? The build on trunk configured
&lt;br&gt;&amp;gt;&amp;gt; with
&lt;br&gt;&amp;gt;&amp;gt; --with-mode=thumb fails for other reasons (PR42093), currently testing
&lt;br&gt;&amp;gt;&amp;gt; the patch
&lt;br&gt;&amp;gt;&amp;gt; for the 4.4 branch.
&lt;br&gt;&amp;gt; 2009-12-09 &amp;nbsp;Matthias Klose&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26770889&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;doko@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	* include/private/gc_locks.h: For __ARM_EABI__ define
&lt;br&gt;&amp;gt; 	GC_test_and_set &amp;nbsp;GC_clear to use the atomic builtins.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; OK for trunk once testing is complete.
&lt;/div&gt;&lt;br&gt;a test build did suceed without regressions. now that the _sync_synchronise fix 
&lt;br&gt;is backported to the 4.4 branch, ok to commit to 4.4 branch as well?
&lt;br&gt;&lt;br&gt;&amp;gt; Please also notify the upstream maintainer of boehm-gc, or this patch may
&lt;br&gt;&amp;gt; get lost in a future merge.
&lt;br&gt;&lt;br&gt;forwarded to Hans Boehm.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Matthias
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--use-of-atomic-builtins-for-arm-linux-eabi-in-boehm-gc-tp26707745p26770889.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26752365</id>
	<title>Re: [patch] Fix libffi.call/cls_align_pointer.c on Solaris &lt; 10</title>
	<published>2009-12-11T14:28:57Z</published>
	<updated>2009-12-11T14:28:57Z</updated>
	<author>
		<name>Eric Botcazou-3</name>
	</author>
	<content type="html">&amp;gt; This seems to call for a more general solution than this hack, probably
&lt;br&gt;&amp;gt; along the lines of intl/loadmsgcat.c.
&lt;br&gt;&lt;br&gt;No hack here, just a kludge similar to the one just above.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Eric Botcazou
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-libffi.call-cls_align_pointer.c-on-Solaris-%3C-10-tp26740640p26752365.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26751860</id>
	<title>Re: [patch] Fix libffi.call/cls_align_pointer.c on Solaris &lt; 10</title>
	<published>2009-12-11T13:43:16Z</published>
	<updated>2009-12-11T13:43:16Z</updated>
	<author>
		<name>Rainer Orth-2</name>
	</author>
	<content type="html">Eric Botcazou &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26751860&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebotcazou@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;br&gt;&amp;gt; libffi.call/cls_align_pointer.c fails to compile on Solaris &amp;lt; 10 because 
&lt;br&gt;&amp;gt; PRIuPTR is not defined. &amp;nbsp;Hence the attached kludge.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Tested on SPARC/Solaris 9 and SPARC/Solaris 10, OK for mainline?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2009-12-11 &amp;nbsp;Eric Botcazou &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26751860&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebotcazou@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris &amp;lt; 10.
&lt;br&gt;[...]
&lt;br&gt;&amp;gt; +/* Solaris &amp;lt; 10 kludge. &amp;nbsp;*/
&lt;br&gt;&amp;gt; +#if defined(__sun__) &amp;&amp; defined(__svr4__) &amp;&amp; !defined(PRIuPTR)
&lt;br&gt;&amp;gt; +#if defined(__arch64__) || defined (__x86_64__)
&lt;br&gt;&amp;gt; +#define PRIuPTR &amp;quot;lu&amp;quot;
&lt;br&gt;&amp;gt; +#else
&lt;br&gt;&amp;gt; +#define PRIuPTR &amp;quot;u&amp;quot;
&lt;br&gt;&amp;gt; +#endif
&lt;br&gt;&amp;gt; +#endif
&lt;br&gt;&lt;br&gt;The same problem exists on other platforms as well, e.g. Tru64 UNIX
&lt;br&gt;V4.0F (which even lacks %lld/%llu support in libc, but has 64-bit long)
&lt;br&gt;and V5.1B (which has %lld/%llu, but lacks the C99 PRI* macros). &amp;nbsp;Cf. PR
&lt;br&gt;libffi/40701.
&lt;br&gt;&lt;br&gt;This seems to call for a more general solution than this hack, probably
&lt;br&gt;along the lines of intl/loadmsgcat.c.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Rainer
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;-----------------------------------------------------------------------------
&lt;br&gt;Rainer Orth, Center for Biotechnology, Bielefeld University
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-libffi.call-cls_align_pointer.c-on-Solaris-%3C-10-tp26740640p26751860.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26742202</id>
	<title>Re: [ping2] Re: [ping] Re: [patch] PR40134, use a linker script on       arm-linux   to link  with  -lgcc_s -lgcc</title>
	<published>2009-12-11T02:24:14Z</published>
	<updated>2009-12-11T02:24:14Z</updated>
	<author>
		<name>Joseph S. Myers</name>
	</author>
	<content type="html">On Fri, 11 Dec 2009, Matthias Klose wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On 09.12.2009 11:50, Paolo Carlini wrote:
&lt;br&gt;&amp;gt; &amp;gt; On 12/09/2009 11:42 AM, Matthias Klose wrote:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; would a patch acceptable to run these link tests on linux only?
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Sure. If you can cook up something (e.g, a version of the configure code
&lt;br&gt;&amp;gt; &amp;gt; I wrote at the time) running only where it's safe to run it (I think
&lt;br&gt;&amp;gt; &amp;gt; linux targets are all safe), fine with me!
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; the attached patch enables the link tests on linux, kfreebsd, and hurd
&lt;br&gt;&amp;gt; targets. checked with the (Debian) kfreebsd and hurd maintainers that this is
&lt;/div&gt;&lt;br&gt;Link tests are also safe for libstdc++ to use for uclinux targets.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Joseph S. Myers
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26742202&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;joseph@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--PR40134%2C-use-a-linker-script-on-arm-linux-to-link-with--lgcc_s---lgcc-tp24369510p26742202.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26741647</id>
	<title>Fix libffi.call/cls_longdouble_va.c on SPARC64</title>
	<published>2009-12-11T02:07:07Z</published>
	<updated>2009-12-11T02:07:07Z</updated>
	<author>
		<name>Eric Botcazou-3</name>
	</author>
	<content type="html">We forgot that 'long double' are quad-aligned on SPARC64.
&lt;br&gt;&lt;br&gt;Tested on SPARC64/Solaris 10, applied on the mainline.
&lt;br&gt;&lt;br&gt;&lt;br&gt;2009-12-11 &amp;nbsp;Eric Botcazou &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26741647&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebotcazou@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; double' arguments.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Eric Botcazou
&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[sparc_libffi.diff]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;Index: src/sparc/ffi.c
&lt;br&gt;===================================================================
&lt;br&gt;--- src/sparc/ffi.c	(revision 155123)
&lt;br&gt;+++ src/sparc/ffi.c	(working copy)
&lt;br&gt;@@ -599,6 +599,11 @@ ffi_closure_sparc_inner_v9(ffi_closure *
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;/* Right-justify. &amp;nbsp;*/
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;argn += ALIGN(arg_types[i]-&amp;gt;size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+	 &amp;nbsp;/* Align on a 16-byte boundary. &amp;nbsp;*/
&lt;br&gt;+#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
&lt;br&gt;+	 &amp;nbsp;if (arg_types[i]-&amp;gt;type == FFI_TYPE_LONGDOUBLE &amp;&amp; (argn % 2) != 0)
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;argn++;
&lt;br&gt;+#endif
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;if (i &amp;lt; fp_slot_max
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;&amp; (arg_types[i]-&amp;gt;type == FFI_TYPE_FLOAT
&lt;br&gt;&amp;nbsp;		 &amp;nbsp;|| arg_types[i]-&amp;gt;type == FFI_TYPE_DOUBLE
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fix-libffi.call-cls_longdouble_va.c-on-SPARC64-tp26741647p26741647.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26741545</id>
	<title>Re: [ping2] Re: [ping] Re: [patch] PR40134, use a linker script on       arm-linux   to link  with  -lgcc_s -lgcc</title>
	<published>2009-12-11T01:57:43Z</published>
	<updated>2009-12-11T01:57:43Z</updated>
	<author>
		<name>Paolo Carlini-3</name>
	</author>
	<content type="html">On 12/11/2009 05:19 AM, Matthias Klose wrote:
&lt;br&gt;&amp;gt; the attached patch enables the link tests on linux, kfreebsd, and hurd
&lt;br&gt;&amp;gt; targets. checked with the (Debian) kfreebsd and hurd maintainers that
&lt;br&gt;&amp;gt; this is the right thing to do (although there doesn't exist an active
&lt;br&gt;&amp;gt; port of these on arm or hppa. tested on i486-linux-gnu,
&lt;br&gt;&amp;gt; arm-linux-gnueabi and hppa-linux-gnu. ok for the trunk?
&lt;br&gt;First, thanks Matthias for your patience on this issue.
&lt;br&gt;&lt;br&gt;The patch looks very nice to me, just wait one day or so for comments
&lt;br&gt;and then go ahead, patch is approved for mainline.
&lt;br&gt;&lt;br&gt;If you want, I would suggest adding a one-line comment in the code, say,
&lt;br&gt;after &amp;quot; # Do link tests if possible, instead asm tests, limited to some
&lt;br&gt;platforms&amp;quot;, mentioning the PRs, these thorny issues about libgcc...
&lt;br&gt;&lt;br&gt;Thanks again,
&lt;br&gt;Paolo.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--PR40134%2C-use-a-linker-script-on-arm-linux-to-link-with--lgcc_s---lgcc-tp24369510p26741545.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26741381</id>
	<title>Re: [patch] Fix libffi.call/cls_align_pointer.c on Solaris &lt; 10</title>
	<published>2009-12-11T01:44:25Z</published>
	<updated>2009-12-11T01:44:25Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Eric Botcazou wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; libffi.call/cls_align_pointer.c fails to compile on Solaris &amp;lt; 10 because 
&lt;br&gt;&amp;gt; PRIuPTR is not defined. &amp;nbsp;Hence the attached kludge.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Tested on SPARC/Solaris 9 and SPARC/Solaris 10, OK for mainline?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2009-12-11 &amp;nbsp;Eric Botcazou &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26741381&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebotcazou@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris &amp;lt; 10.
&lt;br&gt;&lt;br&gt;Oh, I suppose so.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-libffi.call-cls_align_pointer.c-on-Solaris-%3C-10-tp26740640p26741381.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26741367</id>
	<title>Re: PATCH: Fix 64-bit libffi testsuite on Solaris 10+ (PR libffi/40700)</title>
	<published>2009-12-11T01:43:20Z</published>
	<updated>2009-12-11T01:43:20Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Andreas Tobler wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On 10.12.09 10:52, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt; Rainer Orth wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; As described in the PR, many 64-bit libffi testcases started to fail on
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Solaris 10 and 11 between 20090612 and 20090622. &amp;nbsp;Core dump logging
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; revealed the cause:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Nov 27 14:45:24 cumaru genunix: [ID 269049 kern.notice] NOTICE: cls_ushort.exe[21514] attempt to execute non-executable data at 0x600fd0 by uid 2110
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I could track this to the following patch:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 2009-06-11 &amp;nbsp;Timothy Wall&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26741367&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;twall@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; [...]
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* testsuite/libffi.call/closure_fn0.c,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; [...]
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of checking for MMAP. &amp;nbsp;Use intptr_t instead of long casts.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; While before the patch, the testsuite would have used allocate_mmap to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; allocate ffi_closure's, afterwards src/closures.c (ffi_closure_alloc)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; without FFI_MMAP_EXEC_WRIT defined would simply use malloc instead,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; leading to the observed failure.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; So the fix is obvious: just define FFI_MMAP_EXEC_WRIT for 64-bit
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Solaris/x86. &amp;nbsp;The following patch does just that and allows the libffi
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; testsuite to complete almost successfully (the remaining failures are
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; unrelated) for both 32 and 64 bit on i386-pc-solaris2.11.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Ok for mainline?
&lt;br&gt;&amp;gt;&amp;gt; Yes, thanks.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Cc'd to libffi upstream.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'm late.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Anyway, there are other architectures which do have the same issue. 
&lt;br&gt;&amp;gt; FreeBSD, OpenBSD, apple-darwin10. We 'solved' this with adding the 
&lt;br&gt;&amp;gt; snippet below in the configure.ac (from the libffi sources, not in the 
&lt;br&gt;&amp;gt; gcc repo yet.):
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; case &amp;quot;$target&amp;quot; in
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;*-apple-darwin10* | *-*-freebsd* | *-*-openbsd*)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Cannot use malloc on this target, so, we revert to
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; alternative means])
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;;;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So, my question, shall we move the three remaining OS variants into the 
&lt;br&gt;&amp;gt; closures.c file. Or should we move the solaris/x86 part from the 
&lt;br&gt;&amp;gt; closures.c file into the configure.ac part?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Both are ok with me, but I think we should have a consistency in this area.
&lt;/div&gt;&lt;br&gt;Please do whatever you find the most elegant and consistent: I'm sure we will
&lt;br&gt;trust you to find the sweet spot...
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PATCH%3A-Fix-64-bit-libffi-testsuite-on-Solaris-10%2B-%28PR-libffi-40700%29-tp26720906p26741367.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26740640</id>
	<title>[patch] Fix libffi.call/cls_align_pointer.c on Solaris &lt; 10</title>
	<published>2009-12-11T00:48:42Z</published>
	<updated>2009-12-11T00:48:42Z</updated>
	<author>
		<name>Eric Botcazou-3</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;libffi.call/cls_align_pointer.c fails to compile on Solaris &amp;lt; 10 because 
&lt;br&gt;PRIuPTR is not defined. &amp;nbsp;Hence the attached kludge.
&lt;br&gt;&lt;br&gt;Tested on SPARC/Solaris 9 and SPARC/Solaris 10, OK for mainline?
&lt;br&gt;&lt;br&gt;&lt;br&gt;2009-12-11 &amp;nbsp;Eric Botcazou &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26740640&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebotcazou@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris &amp;lt; 10.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Eric Botcazou
&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[solaris_libffi.diff]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;Index: testsuite/libffi.call/ffitest.h
&lt;br&gt;===================================================================
&lt;br&gt;--- testsuite/libffi.call/ffitest.h	(revision 155123)
&lt;br&gt;+++ testsuite/libffi.call/ffitest.h	(working copy)
&lt;br&gt;@@ -54,6 +54,15 @@
&lt;br&gt;&amp;nbsp;#define PRIuLL &amp;quot;llu&amp;quot;
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+/* Solaris &amp;lt; 10 kludge. &amp;nbsp;*/
&lt;br&gt;+#if defined(__sun__) &amp;&amp; defined(__svr4__) &amp;&amp; !defined(PRIuPTR)
&lt;br&gt;+#if defined(__arch64__) || defined (__x86_64__)
&lt;br&gt;+#define PRIuPTR &amp;quot;lu&amp;quot;
&lt;br&gt;+#else
&lt;br&gt;+#define PRIuPTR &amp;quot;u&amp;quot;
&lt;br&gt;+#endif
&lt;br&gt;+#endif
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;#ifdef USING_MMAP
&lt;br&gt;&amp;nbsp;static inline void *
&lt;br&gt;&amp;nbsp;allocate_mmap (size_t size)
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-libffi.call-cls_align_pointer.c-on-Solaris-%3C-10-tp26740640p26740640.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26738495</id>
	<title>Re: [ping2] Re: [ping] Re: [patch] PR40134, use a linker script on      arm-linux   to link  with  -lgcc_s -lgcc</title>
	<published>2009-12-10T20:19:47Z</published>
	<updated>2009-12-10T20:19:47Z</updated>
	<author>
		<name>Matthias Klose-6</name>
	</author>
	<content type="html">On 09.12.2009 11:50, Paolo Carlini wrote:
&lt;br&gt;&amp;gt; On 12/09/2009 11:42 AM, Matthias Klose wrote:
&lt;br&gt;&amp;gt;&amp;gt; would a patch acceptable to run these link tests on linux only?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Sure. If you can cook up something (e.g, a version of the configure code
&lt;br&gt;&amp;gt; I wrote at the time) running only where it's safe to run it (I think
&lt;br&gt;&amp;gt; linux targets are all safe), fine with me!
&lt;br&gt;&lt;br&gt;the attached patch enables the link tests on linux, kfreebsd, and hurd targets. 
&lt;br&gt;checked with the (Debian) kfreebsd and hurd maintainers that this is the right 
&lt;br&gt;thing to do (although there doesn't exist an active port of these on arm or 
&lt;br&gt;hppa. tested on i486-linux-gnu, arm-linux-gnueabi and hppa-linux-gnu. ok for the 
&lt;br&gt;trunk?
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Matthias
&lt;br&gt;&lt;br&gt;&lt;br /&gt;libstdc++-v3/
&lt;br&gt;2009-12-09 &amp;nbsp;Paolo Carlini &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26738495&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paolo.carlini@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Matthias Klose &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26738495&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;doko@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PR libstdc++/40133
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): On *-*-linux*,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *-*-kfreebsd*-gnu | *-*-gnu* targets do link tests when possible.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * configure: Regenerate.
&lt;br&gt;&lt;br&gt;Index: libstdc++-v3/acinclude.m4
&lt;br&gt;===================================================================
&lt;br&gt;--- a/src/libstdc++-v3/acinclude.m4	(revision 155104)
&lt;br&gt;+++ b/src/libstdc++-v3/acinclude.m4	(working copy)
&lt;br&gt;@@ -2438,8 +2438,7 @@
&lt;br&gt;&amp;nbsp;dnl that are used should be checked.
&lt;br&gt;&amp;nbsp;dnl
&lt;br&gt;&amp;nbsp;dnl Note:
&lt;br&gt;-dnl libgomp and libgfortran do this with a link test, instead of an asm test.
&lt;br&gt;-dnl see: CHECK_SYNC_FETCH_AND_ADD
&lt;br&gt;+dnl libgomp and libgfortran use a link test, see CHECK_SYNC_FETCH_AND_ADD.
&lt;br&gt;&amp;nbsp;dnl
&lt;br&gt;&amp;nbsp;dnl Defines:
&lt;br&gt;&amp;nbsp;dnl &amp;nbsp;_GLIBCXX_ATOMIC_BUILTINS_1 
&lt;br&gt;@@ -2451,12 +2450,120 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;AC_LANG_SAVE
&lt;br&gt;&amp;nbsp; &amp;nbsp;AC_LANG_CPLUSPLUS
&lt;br&gt;&amp;nbsp; &amp;nbsp;old_CXXFLAGS=&amp;quot;$CXXFLAGS&amp;quot;
&lt;br&gt;- &amp;nbsp;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;# Do link tests if possible, instead asm tests, limited to some platforms
&lt;br&gt;+ &amp;nbsp;atomic_builtins_link_tests=no
&lt;br&gt;+ &amp;nbsp;if test x$gcc_no_link != xyes; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Can do link tests. Limit to some tested platforms
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;case &amp;quot;$host&amp;quot; in
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;*-*-linux* | *-*-kfreebsd*-gnu | *-*-gnu*)
&lt;br&gt;+	atomic_builtins_link_tests=yes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;esac
&lt;br&gt;+ &amp;nbsp;fi
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;if test x$atomic_builtins_link_tests = xyes; then
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;# Do link tests.
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;CXXFLAGS=&amp;quot;$CXXFLAGS -fno-exceptions&amp;quot;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for bool])
&lt;br&gt;+ &amp;nbsp;AC_CACHE_VAL(glibcxx_cv_atomic_bool, [
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_TRY_LINK(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[ ],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[typedef bool atomic_type;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; const atomic_type c3(0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_fetch_and_add(&amp;c1, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_val_compare_and_swap(&amp;c1, c3, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_test_and_set(&amp;c1, c3);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_release(&amp;c1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_synchronize();],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_bool=yes],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_bool=no])
&lt;br&gt;+ &amp;nbsp;]) &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;if test $glibcxx_cv_atomic_bool = yes; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_1, 1,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for bool are supported on this host.])
&lt;br&gt;+ &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_bool)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for short])
&lt;br&gt;+ &amp;nbsp;AC_CACHE_VAL(glibcxx_cv_atomic_short, [
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_TRY_LINK(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[ ],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[typedef short atomic_type;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; const atomic_type c3(0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_fetch_and_add(&amp;c1, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_val_compare_and_swap(&amp;c1, c3, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_test_and_set(&amp;c1, c3);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_release(&amp;c1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_synchronize();],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_short=yes],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_short=no])
&lt;br&gt;+ &amp;nbsp;]) &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;if test $glibcxx_cv_atomic_short = yes; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_2, 1,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for short are supported on this host.])
&lt;br&gt;+ &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_short)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for int])
&lt;br&gt;+ &amp;nbsp;AC_CACHE_VAL(glibcxx_cv_atomic_int, [
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_TRY_LINK(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[ ],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[typedef int atomic_type;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; const atomic_type c3(0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_fetch_and_add(&amp;c1, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_val_compare_and_swap(&amp;c1, c3, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_test_and_set(&amp;c1, c3);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_release(&amp;c1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_synchronize();],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_int=yes],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_int=no])
&lt;br&gt;+ &amp;nbsp;]) &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;if test $glibcxx_cv_atomic_int = yes; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_4, 1,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for int are supported on this host.])
&lt;br&gt;+ &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_int)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for long long])
&lt;br&gt;+ &amp;nbsp;AC_CACHE_VAL(glibcxx_cv_atomic_long_long, [
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_TRY_LINK(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[ ],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[typedef long long atomic_type;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; atomic_type c2;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; const atomic_type c3(0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_fetch_and_add(&amp;c1, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_val_compare_and_swap(&amp;c1, c3, c2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_test_and_set(&amp;c1, c3);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_lock_release(&amp;c1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; __sync_synchronize();],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_long_long=yes],
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[glibcxx_cv_atomic_long_long=no])
&lt;br&gt;+ &amp;nbsp;]) &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;if test $glibcxx_cv_atomic_long_long = yes; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_8, 1,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for long long are supported on this host.])
&lt;br&gt;+ &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_long_long)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;else
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;# Do asm tests.
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;# Compile unoptimized.
&lt;br&gt;&amp;nbsp; &amp;nbsp;CXXFLAGS='-O0 -S'
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;# Fake what AC_TRY_COMPILE does, without linking as this is
&lt;br&gt;- &amp;nbsp;# unnecessary for a builtins test.
&lt;br&gt;+ &amp;nbsp;# Fake what AC_TRY_COMPILE does.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;cat &amp;gt; conftest.$ac_ext &amp;lt;&amp;lt; EOF
&lt;br&gt;&amp;nbsp;[#]line __oline__ &amp;quot;configure&amp;quot;
&lt;br&gt;@@ -2478,14 +2585,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for bool])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if AC_TRY_EVAL(ac_compile); then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if grep __sync_ conftest.s &amp;gt;/dev/null 2&amp;gt;&amp;1 ; then
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinsb=no
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_bool=no
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_1, 1,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for bool are supported on this host.])
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinsb=yes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_bool=yes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;- &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($enable_atomic_builtinsb)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_bool)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;rm -f conftest*
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;cat &amp;gt; conftest.$ac_ext &amp;lt;&amp;lt; EOF
&lt;br&gt;@@ -2508,14 +2615,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for short])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if AC_TRY_EVAL(ac_compile); then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if grep __sync_ conftest.s &amp;gt;/dev/null 2&amp;gt;&amp;1 ; then
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinss=no
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_short=no
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_2, 1,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for short are supported on this host.])
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinss=yes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_short=yes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;- &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($enable_atomic_builtinss)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_short)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;rm -f conftest*
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;cat &amp;gt; conftest.$ac_ext &amp;lt;&amp;lt; EOF
&lt;br&gt;@@ -2539,14 +2646,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for int])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if AC_TRY_EVAL(ac_compile); then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if grep __sync_ conftest.s &amp;gt;/dev/null 2&amp;gt;&amp;1 ; then
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinsi=no
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_int=no
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_4, 1,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for int are supported on this host.])
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinsi=yes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_int=yes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;- &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($enable_atomic_builtinsi)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;rm -f conftest*
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;cat &amp;gt; conftest.$ac_ext &amp;lt;&amp;lt; EOF
&lt;br&gt;@@ -2569,22 +2676,23 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AC_MSG_CHECKING([for atomic builtins for long long])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if AC_TRY_EVAL(ac_compile); then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if grep __sync_ conftest.s &amp;gt;/dev/null 2&amp;gt;&amp;1 ; then
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinsll=no
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_long_long=no
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_8, 1,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Define if builtin atomic operations for long long are supported on this host.])
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enable_atomic_builtinsll=yes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;glibcxx_cv_atomic_long_long=yes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;- &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($enable_atomic_builtinsll)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AC_MSG_RESULT($glibcxx_cv_atomic_long_long)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;rm -f conftest*
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp;fi
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;CXXFLAGS=&amp;quot;$old_CXXFLAGS&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp;AC_LANG_RESTORE
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;# Set atomicity_dir to builtins if either of above tests pass.
&lt;br&gt;- &amp;nbsp;if test $enable_atomic_builtinsi = yes || test $enable_atomic_builtinsb = yes ; then
&lt;br&gt;+ &amp;nbsp;if test $glibcxx_cv_atomic_int = yes || test $glibcxx_cv_atomic_bool = yes ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;atomicity_dir=cpu/generic/atomicity_builtins
&lt;br&gt;&amp;nbsp; &amp;nbsp;fi
&lt;br&gt;&amp;nbsp;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--PR40134%2C-use-a-linker-script-on-arm-linux-to-link-with--lgcc_s---lgcc-tp24369510p26738495.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26735395</id>
	<title>Re: PATCH: Fix 64-bit libffi testsuite on Solaris 10+ (PR libffi/40700)</title>
	<published>2009-12-10T14:06:38Z</published>
	<updated>2009-12-10T14:06:38Z</updated>
	<author>
		<name>Andreas Tobler-5</name>
	</author>
	<content type="html">On 10.12.09 10:52, Andrew Haley wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Rainer Orth wrote:
&lt;br&gt;&amp;gt;&amp;gt; As described in the PR, many 64-bit libffi testcases started to fail on
&lt;br&gt;&amp;gt;&amp;gt; Solaris 10 and 11 between 20090612 and 20090622. &amp;nbsp;Core dump logging
&lt;br&gt;&amp;gt;&amp;gt; revealed the cause:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Nov 27 14:45:24 cumaru genunix: [ID 269049 kern.notice] NOTICE: cls_ushort.exe[21514] attempt to execute non-executable data at 0x600fd0 by uid 2110
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I could track this to the following patch:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2009-06-11 &amp;nbsp;Timothy Wall&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26735395&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;twall@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; [...]
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* testsuite/libffi.call/closure_fn0.c,
&lt;br&gt;&amp;gt;&amp;gt; [...]
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of checking for MMAP. &amp;nbsp;Use intptr_t instead of long casts.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; While before the patch, the testsuite would have used allocate_mmap to
&lt;br&gt;&amp;gt;&amp;gt; allocate ffi_closure's, afterwards src/closures.c (ffi_closure_alloc)
&lt;br&gt;&amp;gt;&amp;gt; without FFI_MMAP_EXEC_WRIT defined would simply use malloc instead,
&lt;br&gt;&amp;gt;&amp;gt; leading to the observed failure.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; So the fix is obvious: just define FFI_MMAP_EXEC_WRIT for 64-bit
&lt;br&gt;&amp;gt;&amp;gt; Solaris/x86. &amp;nbsp;The following patch does just that and allows the libffi
&lt;br&gt;&amp;gt;&amp;gt; testsuite to complete almost successfully (the remaining failures are
&lt;br&gt;&amp;gt;&amp;gt; unrelated) for both 32 and 64 bit on i386-pc-solaris2.11.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Ok for mainline?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yes, thanks.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cc'd to libffi upstream.
&lt;/div&gt;&lt;br&gt;I'm late.
&lt;br&gt;&lt;br&gt;Anyway, there are other architectures which do have the same issue. 
&lt;br&gt;FreeBSD, OpenBSD, apple-darwin10. We 'solved' this with adding the 
&lt;br&gt;snippet below in the configure.ac (from the libffi sources, not in the 
&lt;br&gt;gcc repo yet.):
&lt;br&gt;&lt;br&gt;case &amp;quot;$target&amp;quot; in
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*-apple-darwin10* | *-*-freebsd* | *-*-openbsd*)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Cannot use malloc on this target, so, we revert to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; alternative means])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;;;
&lt;br&gt;&lt;br&gt;&lt;br&gt;So, my question, shall we move the three remaining OS variants into the 
&lt;br&gt;closures.c file. Or should we move the solaris/x86 part from the 
&lt;br&gt;closures.c file into the configure.ac part?
&lt;br&gt;&lt;br&gt;Both are ok with me, but I think we should have a consistency in this area.
&lt;br&gt;&lt;br&gt;Andreas
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PATCH%3A-Fix-64-bit-libffi-testsuite-on-Solaris-10%2B-%28PR-libffi-40700%29-tp26720906p26735395.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26724550</id>
	<title>Re: PATCH: Fix 64-bit libffi testsuite on Solaris 10+ (PR libffi/40700)</title>
	<published>2009-12-10T01:52:20Z</published>
	<updated>2009-12-10T01:52:20Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Rainer Orth wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; As described in the PR, many 64-bit libffi testcases started to fail on
&lt;br&gt;&amp;gt; Solaris 10 and 11 between 20090612 and 20090622. &amp;nbsp;Core dump logging
&lt;br&gt;&amp;gt; revealed the cause:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Nov 27 14:45:24 cumaru genunix: [ID 269049 kern.notice] NOTICE: cls_ushort.exe[21514] attempt to execute non-executable data at 0x600fd0 by uid 2110
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I could track this to the following patch:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2009-06-11 &amp;nbsp;Timothy Wall &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26724550&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;twall@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; [...]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * testsuite/libffi.call/closure_fn0.c,
&lt;br&gt;&amp;gt; [...]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; of checking for MMAP. &amp;nbsp;Use intptr_t instead of long casts.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; While before the patch, the testsuite would have used allocate_mmap to
&lt;br&gt;&amp;gt; allocate ffi_closure's, afterwards src/closures.c (ffi_closure_alloc)
&lt;br&gt;&amp;gt; without FFI_MMAP_EXEC_WRIT defined would simply use malloc instead,
&lt;br&gt;&amp;gt; leading to the observed failure.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So the fix is obvious: just define FFI_MMAP_EXEC_WRIT for 64-bit
&lt;br&gt;&amp;gt; Solaris/x86. &amp;nbsp;The following patch does just that and allows the libffi
&lt;br&gt;&amp;gt; testsuite to complete almost successfully (the remaining failures are
&lt;br&gt;&amp;gt; unrelated) for both 32 and 64 bit on i386-pc-solaris2.11.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Ok for mainline?
&lt;/div&gt;&lt;br&gt;Yes, thanks.
&lt;br&gt;&lt;br&gt;Cc'd to libffi upstream.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PATCH%3A-Fix-64-bit-libffi-testsuite-on-Solaris-10%2B-%28PR-libffi-40700%29-tp26720906p26724550.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26720906</id>
	<title>PATCH: Fix 64-bit libffi testsuite on Solaris 10+ (PR libffi/40700)</title>
	<published>2009-12-09T17:44:00Z</published>
	<updated>2009-12-09T17:44:00Z</updated>
	<author>
		<name>Rainer Orth-2</name>
	</author>
	<content type="html">As described in the PR, many 64-bit libffi testcases started to fail on
&lt;br&gt;Solaris 10 and 11 between 20090612 and 20090622. &amp;nbsp;Core dump logging
&lt;br&gt;revealed the cause:
&lt;br&gt;&lt;br&gt;Nov 27 14:45:24 cumaru genunix: [ID 269049 kern.notice] NOTICE: cls_ushort.exe[21514] attempt to execute non-executable data at 0x600fd0 by uid 2110
&lt;br&gt;&lt;br&gt;I could track this to the following patch:
&lt;br&gt;&lt;br&gt;2009-06-11 &amp;nbsp;Timothy Wall &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26720906&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;twall@...&lt;/a&gt;&amp;gt;
&lt;br&gt;[...]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * testsuite/libffi.call/closure_fn0.c,
&lt;br&gt;[...]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; of checking for MMAP. &amp;nbsp;Use intptr_t instead of long casts.
&lt;br&gt;&lt;br&gt;While before the patch, the testsuite would have used allocate_mmap to
&lt;br&gt;allocate ffi_closure's, afterwards src/closures.c (ffi_closure_alloc)
&lt;br&gt;without FFI_MMAP_EXEC_WRIT defined would simply use malloc instead,
&lt;br&gt;leading to the observed failure.
&lt;br&gt;&lt;br&gt;So the fix is obvious: just define FFI_MMAP_EXEC_WRIT for 64-bit
&lt;br&gt;Solaris/x86. &amp;nbsp;The following patch does just that and allows the libffi
&lt;br&gt;testsuite to complete almost successfully (the remaining failures are
&lt;br&gt;unrelated) for both 32 and 64 bit on i386-pc-solaris2.11.
&lt;br&gt;&lt;br&gt;Ok for mainline?
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Rainer
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;-----------------------------------------------------------------------------
&lt;br&gt;Rainer Orth, Center for Biotechnology, Bielefeld University
&lt;br&gt;&lt;br&gt;&lt;br&gt;2009-12-10 &amp;nbsp;Rainer Orth &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26720906&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ro@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PR libffi/40700
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * src/closures.c [X86_64 &amp;&amp; __sun__ &amp;&amp; __svr4__]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (FFI_MMAP_EXEC_WRIT): Define.
&lt;br&gt;&lt;br&gt;Index: libffi/src/closures.c
&lt;br&gt;===================================================================
&lt;br&gt;--- libffi/src/closures.c	(revision 155092)
&lt;br&gt;+++ libffi/src/closures.c	(working copy)
&lt;br&gt;@@ -1,6 +1,6 @@
&lt;br&gt;&amp;nbsp;/* -----------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; closures.c - Copyright (c) 2007 &amp;nbsp;Red Hat, Inc.
&lt;br&gt;- &amp;nbsp; Copyright (C) 2007 Free Software Foundation, Inc
&lt;br&gt;+ &amp;nbsp; Copyright (C) 2007, 2009 Free Software Foundation, Inc
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; Code to allocate and deallocate memory for closures.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -50,6 +50,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; executable memory. */
&lt;br&gt;&amp;nbsp;# &amp;nbsp;define FFI_MMAP_EXEC_WRIT 1
&lt;br&gt;&amp;nbsp;# endif
&lt;br&gt;+# if defined(X86_64) &amp;&amp; defined(__sun__) &amp;&amp; defined(__svr4__)
&lt;br&gt;+/* The data segment on 64-bit Solaris/x86 isn't executable, so use mmap
&lt;br&gt;+ &amp;nbsp; instead. &amp;nbsp;*/
&lt;br&gt;+# &amp;nbsp;define FFI_MMAP_EXEC_WRIT 1
&lt;br&gt;+# endif
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#if FFI_MMAP_EXEC_WRIT &amp;&amp; !defined FFI_MMAP_EXEC_SELINUX
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PATCH%3A-Fix-64-bit-libffi-testsuite-on-Solaris-10%2B-%28PR-libffi-40700%29-tp26720906p26720906.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26715626</id>
	<title>FYI Patch: java/41991: Use -allow_stack_execute on Darwin</title>
	<published>2009-12-09T10:55:03Z</published>
	<updated>2009-12-09T10:55:03Z</updated>
	<author>
		<name>Bryce McKinlay-3</name>
	</author>
	<content type="html">On Sat, Dec 5, 2009 at 6:54 AM, Jack Howarth &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26715626&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;howarth@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Bryce,
&lt;br&gt;&amp;gt;    Your patch eliminates the crashes in gcj completely for gcc trunk
&lt;br&gt;&amp;gt; on x86_64-apple-darwin9 if I also regress out r154282 and r154283
&lt;br&gt;&amp;gt; so that the FSF libgcc's unwinder is used again. So we are starting
&lt;br&gt;&amp;gt; to peel the layers off of the problem. Your patch definitely should
&lt;br&gt;&amp;gt; go into gcc trunk and gcc 4.4 branch (where it will be immediately
&lt;br&gt;&amp;gt; useful on darwin9 since the libgcc_ext changes don't exist there).
&lt;br&gt;&lt;br&gt;Thanks for testing, Jack. I have checked this patch in to both trunk
&lt;br&gt;and 4.4 branch.
&lt;br&gt;&lt;br&gt;2009-12-09 &amp;nbsp;Bryce McKinlay &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26715626&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bmckinlay@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PR java/41991
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * configure.ac (SYSTEMSPEC): Pass -allow_stack_execute to Darwin
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; linker.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Makefile.am (gij_LDFLAGS): Remove extra_gij_ldflags.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * configure: Regenerate.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Makefile.in: Regenerate.
&lt;br&gt;&lt;br&gt;Bryce
&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;libjava-darwin-stack.patch&lt;/strong&gt; (7K) &lt;a href=&quot;http://old.nabble.com/attachment/26715626/0/libjava-darwin-stack.patch&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI-Patch%3A-java-41991%3A-Use--allow_stack_execute-on-Darwin-tp26715626p26715626.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26708353</id>
	<title>Re: [ping2] Re: [ping] Re: [patch] PR40134, use a linker script on      arm-linux   to link  with  -lgcc_s -lgcc</title>
	<published>2009-12-09T02:50:07Z</published>
	<updated>2009-12-09T02:50:07Z</updated>
	<author>
		<name>Paolo Carlini-3</name>
	</author>
	<content type="html">On 12/09/2009 11:42 AM, Matthias Klose wrote:
&lt;br&gt;&amp;gt; would a patch acceptable to run these link tests on linux only?
&lt;br&gt;&lt;br&gt;Sure. If you can cook up something (e.g, a version of the configure code
&lt;br&gt;I wrote at the time) running only where it's safe to run it (I think
&lt;br&gt;linux targets are all safe), fine with me!
&lt;br&gt;&lt;br&gt;Paolo.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--PR40134%2C-use-a-linker-script-on-arm-linux-to-link-with--lgcc_s---lgcc-tp24369510p26708353.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26708319</id>
	<title>Re: [ping2] Re: [ping] Re: [patch] PR40134, use a linker script on      arm-linux   to link  with  -lgcc_s -lgcc</title>
	<published>2009-12-09T02:46:27Z</published>
	<updated>2009-12-09T02:46:27Z</updated>
	<author>
		<name>Paolo Carlini-3</name>
	</author>
	<content type="html">On 12/09/2009 11:42 AM, Matthias Klose wrote:
&lt;br&gt;&amp;gt; would a patch acceptable to run these link tests on linux only?
&lt;br&gt;Sure. If you can cook up something running only where it's safe to run
&lt;br&gt;it (I think linux targets are all safe), fine with me!
&lt;br&gt;&lt;br&gt;Paolo.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--PR40134%2C-use-a-linker-script-on-arm-linux-to-link-with--lgcc_s---lgcc-tp24369510p26708319.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26708261</id>
	<title>Re: [ping2] Re: [ping] Re: [patch] PR40134, use a linker script on     arm-linux   to link  with  -lgcc_s -lgcc</title>
	<published>2009-12-09T02:42:30Z</published>
	<updated>2009-12-09T02:42:30Z</updated>
	<author>
		<name>Matthias Klose-6</name>
	</author>
	<content type="html">On 12.11.2009 19:32, Paolo Carlini wrote:
&lt;br&gt;&amp;gt; Matthias Klose wrote:
&lt;br&gt;&amp;gt;&amp;gt; In &lt;a href=&quot;http://gcc.gnu.org/ml/gcc-patches/2009-07/msg00733.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/ml/gcc-patches/2009-07/msg00733.html&lt;/a&gt;&amp;nbsp;I wrote
&lt;br&gt;&amp;gt;&amp;gt; that this scheme requires fixing libtool; I never got feedback from
&lt;br&gt;&amp;gt;&amp;gt; the libtool maintainers. In
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://gcc.gnu.org/ml/gcc-patches/2009-09/msg00592.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/ml/gcc-patches/2009-09/msg00592.html&lt;/a&gt;&amp;nbsp;Jakub and
&lt;br&gt;&amp;gt;&amp;gt; Alexandre did &amp;quot;agree that the linker script for targets that need it
&lt;br&gt;&amp;gt;&amp;gt; is probably easier&amp;quot;.
&lt;br&gt;&amp;gt; I'm still not convinced that all the targets possibly affected have been
&lt;br&gt;&amp;gt; dealt with.
&lt;br&gt;&lt;br&gt;I addressed linux targets having a Debian port is available. sh/sh4 should be 
&lt;br&gt;fine as it did link with -lgcc_s -lgcc before. Didn't check m68k-linux.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; But, I don't consider myself knowledgeable enough in this
&lt;br&gt;&amp;gt; area, I'd like to see some comments from, eg, Jakub and Joseph, before
&lt;br&gt;&amp;gt; going ahead with the libstdc++ changes for 40133.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; In other
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; terms, 40134 still blocks 40133, and we cannot fix the latter until the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; former is really fully fixed for *all* the affected targets. By the way,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that's why, sorry, I disregarded your ping in the first place, I was
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; pretty sure it wasn't time yet...
&lt;br&gt;&amp;gt;&amp;gt; So it looks like 40134 is fixed at least for all *-linux targets (I
&lt;br&gt;&amp;gt;&amp;gt; accidentally dropped the patch for parisc, now testing again). How to
&lt;br&gt;&amp;gt;&amp;gt; proceed with this for linux targets?
&lt;br&gt;&amp;gt; In your original message you mentioned sparc too. Is it now fine?
&lt;/div&gt;&lt;br&gt;no, sparc-linux was not affected, parisc was, which is now fixed on trunk.
&lt;br&gt;&lt;br&gt;&amp;gt; Anyway, the configure changes I prepared for 40133 aren't linux-specific
&lt;br&gt;&amp;gt; would run anywhere, as I said above I'd like to be reassured by Joseph
&lt;br&gt;&amp;gt; and/or Jakub that such kind of test is now safe to use everywhere as far
&lt;br&gt;&amp;gt; as the compiler proper bits are concerned.
&lt;br&gt;&lt;br&gt;would a patch acceptable to run these link tests on linux only?
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Matthias
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--PR40134%2C-use-a-linker-script-on-arm-linux-to-link-with--lgcc_s---lgcc-tp24369510p26708261.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26707959</id>
	<title>RE: [patch] use of atomic builtins for arm-linux-eabi in boehm-gc</title>
	<published>2009-12-09T02:16:33Z</published>
	<updated>2009-12-09T02:16:33Z</updated>
	<author>
		<name>Richard Earnshaw</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&amp;gt; Current trunk fails to build on arm-linux-gnueabi in boehm-gc, when
&lt;br&gt;&amp;gt; configured
&lt;br&gt;&amp;gt; --with-mode=thumb:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; /tmp/ccVpqOWm.s: Assembler messages:
&lt;br&gt;&amp;gt; /tmp/ccVpqOWm.s:1160: Error: selected processor does not support `swp
&lt;br&gt;&amp;gt; r3,r3,[r2]'
&lt;br&gt;&amp;gt; /tmp/ccVpqOWm.s:2472: Error: selected processor does not support `swp
&lt;br&gt;&amp;gt; r3,r3,[r2]'
&lt;br&gt;&amp;gt; /tmp/ccVpqOWm.s:3232: Error: selected processor does not support `swp
&lt;br&gt;&amp;gt; r3,r3,[r2]'
&lt;br&gt;&amp;gt; make[5]: *** [alloc.lo] Error 1
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; arm-linux-gnueabi now provides the atomic builtins; use them
&lt;br&gt;&amp;gt; unconditionally (as
&lt;br&gt;&amp;gt; libjava does).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Ok for the trunk, if testing succeeds? The build on trunk configured
&lt;br&gt;&amp;gt; with
&lt;br&gt;&amp;gt; --with-mode=thumb fails for other reasons (PR42093), currently testing
&lt;br&gt;&amp;gt; the patch
&lt;br&gt;&amp;gt; for the 4.4 branch.
&lt;/div&gt;2009-12-09 &amp;nbsp;Matthias Klose &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26707959&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;doko@...&lt;/a&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * include/private/gc_locks.h: For __ARM_EABI__ define
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GC_test_and_set &amp;nbsp;GC_clear to use the atomic builtins.
&lt;br&gt;&lt;br&gt;OK for trunk once testing is complete.
&lt;br&gt;&lt;br&gt;Please also notify the upstream maintainer of boehm-gc, or this patch may
&lt;br&gt;get lost in a future merge.
&lt;br&gt;&lt;br&gt;R.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--use-of-atomic-builtins-for-arm-linux-eabi-in-boehm-gc-tp26707745p26707959.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26707745</id>
	<title>[patch] use of atomic builtins for arm-linux-eabi in boehm-gc</title>
	<published>2009-12-09T02:01:23Z</published>
	<updated>2009-12-09T02:01:23Z</updated>
	<author>
		<name>Matthias Klose-6</name>
	</author>
	<content type="html">Current trunk fails to build on arm-linux-gnueabi in boehm-gc, when configured 
&lt;br&gt;--with-mode=thumb:
&lt;br&gt;&lt;br&gt;/tmp/ccVpqOWm.s: Assembler messages:
&lt;br&gt;/tmp/ccVpqOWm.s:1160: Error: selected processor does not support `swp r3,r3,[r2]'
&lt;br&gt;/tmp/ccVpqOWm.s:2472: Error: selected processor does not support `swp r3,r3,[r2]'
&lt;br&gt;/tmp/ccVpqOWm.s:3232: Error: selected processor does not support `swp r3,r3,[r2]'
&lt;br&gt;make[5]: *** [alloc.lo] Error 1
&lt;br&gt;&lt;br&gt;arm-linux-gnueabi now provides the atomic builtins; use them unconditionally (as 
&lt;br&gt;libjava does).
&lt;br&gt;&lt;br&gt;Ok for the trunk, if testing succeeds? The build on trunk configured with 
&lt;br&gt;--with-mode=thumb fails for other reasons (PR42093), currently testing the patch 
&lt;br&gt;for the 4.4 branch.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Matthias
&lt;br&gt;&lt;br /&gt;2009-12-09 &amp;nbsp;Matthias Klose &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26707745&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;doko@...&lt;/a&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * include/private/gc_locks.h: For __ARM_EABI__ define
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GC_test_and_set &amp;nbsp;GC_clear to use the atomic builtins.
&lt;br&gt;&lt;br&gt;Index: boehm-gc/include/private/gc_locks.h
&lt;br&gt;===================================================================
&lt;br&gt;--- boehm-gc/include/private/gc_locks.h	(revision 155104)
&lt;br&gt;+++ boehm-gc/include/private/gc_locks.h	(working copy)
&lt;br&gt;@@ -207,6 +207,12 @@
&lt;br&gt;&amp;nbsp;# &amp;nbsp; &amp;nbsp; &amp;nbsp; define GC_CLEAR_DEFINED
&lt;br&gt;&amp;nbsp;# &amp;nbsp; &amp;nbsp;endif /* ALPHA */
&lt;br&gt;&amp;nbsp;# &amp;nbsp; &amp;nbsp;ifdef ARM32
&lt;br&gt;+# &amp;nbsp; &amp;nbsp; define GC_TEST_AND_SET_DEFINED
&lt;br&gt;+# &amp;nbsp; &amp;nbsp; if (__GNUC__&amp;gt;4)||((__GNUC__==4)&amp;&amp;(__GNUC_MINOR__&amp;gt;=5)) &amp;&amp; defined(__ARM_EABI__)
&lt;br&gt;+# &amp;nbsp; &amp;nbsp; &amp;nbsp; define GC_CLEAR_DEFINED
&lt;br&gt;+# &amp;nbsp; &amp;nbsp; &amp;nbsp; define GC_test_and_set(addr) __sync_lock_test_and_set (addr, 1)
&lt;br&gt;+# &amp;nbsp; &amp;nbsp; &amp;nbsp; define GC_clear(addr) __sync_lock_release (addr)
&lt;br&gt;+# &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;inline static int GC_test_and_set(volatile unsigned int *addr) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int oldval;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* SWP on ARM is very similar to XCHG on x86. &amp;nbsp;Doesn't lock the
&lt;br&gt;@@ -219,7 +225,7 @@
&lt;br&gt;&amp;nbsp;			 &amp;nbsp; &amp;nbsp; : &amp;quot;memory&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return oldval;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-# &amp;nbsp; &amp;nbsp; &amp;nbsp; define GC_TEST_AND_SET_DEFINED
&lt;br&gt;+# &amp;nbsp; &amp;nbsp; endif
&lt;br&gt;&amp;nbsp;# &amp;nbsp; &amp;nbsp;endif /* ARM32 */
&lt;br&gt;&amp;nbsp;# &amp;nbsp; &amp;nbsp;ifdef CRIS
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;inline static int GC_test_and_set(volatile unsigned int *addr) {
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--use-of-atomic-builtins-for-arm-linux-eabi-in-boehm-gc-tp26707745p26707745.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26701432</id>
	<title>Re: [PATCH] libffi: Remove XFAIL for MIPS from several testcases.</title>
	<published>2009-12-08T13:48:57Z</published>
	<updated>2009-12-08T13:48:57Z</updated>
	<author>
		<name>Andreas Tobler-5</name>
	</author>
	<content type="html">David Daney wrote:
&lt;br&gt;&amp;gt; These six libffi test cases no longer fail.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; See:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://gcc.gnu.org/ml/gcc-testresults/2009-12/msg00762.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/ml/gcc-testresults/2009-12/msg00762.html&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;a href=&quot;http://gcc.gnu.org/ml/gcc-testresults/2009-11/msg01859.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/ml/gcc-testresults/2009-11/msg01859.html&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Tested on mips64-unknown-linux-gnu.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; OK to commit?
&lt;br&gt;&lt;br&gt;Ok.
&lt;br&gt;&lt;br&gt;Thank you David!
&lt;br&gt;&lt;br&gt;Andreas
&lt;br&gt;&lt;br&gt;&amp;gt; 2009-12-08 &amp;nbsp;David Daney &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26701432&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ddaney@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/stret_large.c: Same.
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/cls_align_longdouble_split.c: Same.
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/stret_large2.c: Same.
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/stret_medium2.c: Same.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--libffi%3A-Remove-XFAIL-for-MIPS-from-several-testcases.-tp26701299p26701432.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26701393</id>
	<title>Re: [PATCH] libffi: Remove XFAIL for MIPS from several testcases.</title>
	<published>2009-12-08T13:46:54Z</published>
	<updated>2009-12-08T13:46:54Z</updated>
	<author>
		<name>Janis Johnson</name>
	</author>
	<content type="html">On Tue, 2009-12-08 at 12:48 -0800, David Daney wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; These six libffi test cases no longer fail.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; See:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://gcc.gnu.org/ml/gcc-testresults/2009-12/msg00762.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/ml/gcc-testresults/2009-12/msg00762.html&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;a href=&quot;http://gcc.gnu.org/ml/gcc-testresults/2009-11/msg01859.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/ml/gcc-testresults/2009-11/msg01859.html&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Tested on mips64-unknown-linux-gnu.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; OK to commit?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2009-12-08 &amp;nbsp;David Daney &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26701393&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ddaney@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/stret_large.c: Same.
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/cls_align_longdouble_split.c: Same.
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/stret_large2.c: Same.
&lt;br&gt;&amp;gt; 	* testsuite/libffi.call/stret_medium2.c: Same.
&lt;/div&gt;&lt;br&gt;OK.
&lt;br&gt;&lt;br&gt;Janis
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--libffi%3A-Remove-XFAIL-for-MIPS-from-several-testcases.-tp26701299p26701393.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26701299</id>
	<title>[PATCH] libffi: Remove XFAIL for MIPS from several testcases.</title>
	<published>2009-12-08T12:48:46Z</published>
	<updated>2009-12-08T12:48:46Z</updated>
	<author>
		<name>David Daney-4</name>
	</author>
	<content type="html">These six libffi test cases no longer fail.
&lt;br&gt;&lt;br&gt;See:
&lt;br&gt;&lt;a href=&quot;http://gcc.gnu.org/ml/gcc-testresults/2009-12/msg00762.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/ml/gcc-testresults/2009-12/msg00762.html&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://gcc.gnu.org/ml/gcc-testresults/2009-11/msg01859.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/ml/gcc-testresults/2009-11/msg01859.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Tested on mips64-unknown-linux-gnu.
&lt;br&gt;&lt;br&gt;OK to commit?
&lt;br&gt;&lt;br&gt;2009-12-08 &amp;nbsp;David Daney &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26701299&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ddaney@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * testsuite/libffi.call/stret_large.c: Same.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * testsuite/libffi.call/stret_large2.c: Same.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * testsuite/libffi.call/stret_medium2.c: Same.
&lt;br&gt;&lt;br /&gt;Index: libffi/testsuite/libffi.call/stret_medium.c
&lt;br&gt;===================================================================
&lt;br&gt;--- libffi/testsuite/libffi.call/stret_medium.c	(revision 154987)
&lt;br&gt;+++ libffi/testsuite/libffi.call/stret_medium.c	(working copy)
&lt;br&gt;@@ -6,7 +6,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; PR:			none.
&lt;br&gt;&amp;nbsp; &amp;nbsp; Originator:	Blake Chaffin	6/21/2007	*/
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-* &amp;nbsp;} } */
&lt;br&gt;+/* { dg-do run { xfail arm*-*-* strongarm*-*-* xscale*-*-* &amp;nbsp;} } */
&lt;br&gt;&amp;nbsp;#include &amp;quot;ffitest.h&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;typedef struct struct_72byte {
&lt;br&gt;Index: libffi/testsuite/libffi.call/cls_align_longdouble_split2.c
&lt;br&gt;===================================================================
&lt;br&gt;--- libffi/testsuite/libffi.call/cls_align_longdouble_split2.c	(revision 154987)
&lt;br&gt;+++ libffi/testsuite/libffi.call/cls_align_longdouble_split2.c	(working copy)
&lt;br&gt;@@ -6,7 +6,7 @@
&lt;br&gt;&amp;nbsp;*/
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* { dg-excess-errors &amp;quot;no long double format&amp;quot; { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
&lt;br&gt;-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* } } */
&lt;br&gt;+/* { dg-do run { xfail arm*-*-* strongarm*-*-* } } */
&lt;br&gt;&amp;nbsp;/* { dg-options -mlong-double-128 { target powerpc64*-*-* } } */
&lt;br&gt;&amp;nbsp;/* { dg-output &amp;quot;&amp;quot; { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;Index: libffi/testsuite/libffi.call/stret_large.c
&lt;br&gt;===================================================================
&lt;br&gt;--- libffi/testsuite/libffi.call/stret_large.c	(revision 154987)
&lt;br&gt;+++ libffi/testsuite/libffi.call/stret_large.c	(working copy)
&lt;br&gt;@@ -6,7 +6,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; PR:			none.
&lt;br&gt;&amp;nbsp; &amp;nbsp; Originator:	Blake Chaffin	6/21/2007	*/
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-* &amp;nbsp;} } */
&lt;br&gt;+/* { dg-do run { xfail arm*-*-* strongarm*-*-* xscale*-*-* &amp;nbsp;} } */
&lt;br&gt;&amp;nbsp;#include &amp;quot;ffitest.h&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;// 13 FPRs: 104 bytes
&lt;br&gt;Index: libffi/testsuite/libffi.call/cls_align_longdouble_split.c
&lt;br&gt;===================================================================
&lt;br&gt;--- libffi/testsuite/libffi.call/cls_align_longdouble_split.c	(revision 154987)
&lt;br&gt;+++ libffi/testsuite/libffi.call/cls_align_longdouble_split.c	(working copy)
&lt;br&gt;@@ -5,7 +5,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; Originator:	&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26701299&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hos@...&lt;/a&gt;&amp;gt; 20031203	 */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* { dg-excess-errors &amp;quot;no long double format&amp;quot; { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
&lt;br&gt;-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-* } } */
&lt;br&gt;+/* { dg-do run { xfail arm*-*-* strongarm*-*-* xscale*-*-* } } */
&lt;br&gt;&amp;nbsp;/* { dg-options -mlong-double-128 { target powerpc64*-*-* } } */
&lt;br&gt;&amp;nbsp;/* { dg-output &amp;quot;&amp;quot; { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;Index: libffi/testsuite/libffi.call/stret_large2.c
&lt;br&gt;===================================================================
&lt;br&gt;--- libffi/testsuite/libffi.call/stret_large2.c	(revision 154987)
&lt;br&gt;+++ libffi/testsuite/libffi.call/stret_large2.c	(working copy)
&lt;br&gt;@@ -6,7 +6,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; PR:			none.
&lt;br&gt;&amp;nbsp; &amp;nbsp; Originator:	Blake Chaffin	6/21/2007	*/
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-* &amp;nbsp;} } */
&lt;br&gt;+/* { dg-do run { xfail arm*-*-* strongarm*-*-* xscale*-*-* &amp;nbsp;} } */
&lt;br&gt;&amp;nbsp;#include &amp;quot;ffitest.h&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;// 13 FPRs: 104 bytes
&lt;br&gt;Index: libffi/testsuite/libffi.call/stret_medium2.c
&lt;br&gt;===================================================================
&lt;br&gt;--- libffi/testsuite/libffi.call/stret_medium2.c	(revision 154987)
&lt;br&gt;+++ libffi/testsuite/libffi.call/stret_medium2.c	(working copy)
&lt;br&gt;@@ -6,7 +6,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; PR:			none.
&lt;br&gt;&amp;nbsp; &amp;nbsp; Originator:	Blake Chaffin	6/21/2007	*/
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-* &amp;nbsp;} } */
&lt;br&gt;+/* { dg-do run { xfail arm*-*-* strongarm*-*-* xscale*-*-* &amp;nbsp;} } */
&lt;br&gt;&amp;nbsp;#include &amp;quot;ffitest.h&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;typedef struct struct_72byte {
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--libffi%3A-Remove-XFAIL-for-MIPS-from-several-testcases.-tp26701299p26701299.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26686265</id>
	<title>Re: Fix -findirect-dispatch Java failures on SPARC/Linux</title>
	<published>2009-12-07T15:34:48Z</published>
	<updated>2009-12-07T15:34:48Z</updated>
	<author>
		<name>Eric Botcazou-3</name>
	</author>
	<content type="html">&amp;gt; 2009-12-06 &amp;nbsp;Eric Botcazou &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26686265&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebotcazou@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	* config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch.
&lt;br&gt;&amp;gt; 	* config/sparc/linux64.h (ASM_SPEC): Likewise.
&lt;br&gt;&lt;br&gt;Applied. &amp;nbsp;I'll apply 
&lt;br&gt;&amp;nbsp; &lt;a href=&quot;http://gcc.gnu.org/ml/java-patches/2009-q4/msg00025.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gcc.gnu.org/ml/java-patches/2009-q4/msg00025.html&lt;/a&gt;&lt;br&gt;tomorrow barring any objections.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Eric Botcazou
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fix--findirect-dispatch-Java-failures-on-SPARC-Linux-tp26665986p26686265.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26674645</id>
	<title>Re: Fix -findirect-dispatch Java failures on SPARC/Linux</title>
	<published>2009-12-07T01:26:34Z</published>
	<updated>2009-12-07T01:26:34Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Richard Henderson wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On 12/06/2009 11:08 AM, Andrew Haley wrote:
&lt;br&gt;&amp;gt;&amp;gt; Eric Botcazou wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; The problem is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; LIBGCJ_BC_SPEC=&amp;quot;%{findirect-dispatch:-fPIC}&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; but you cannot compile with -fPIC without assembling with -K PIC on the SPARC.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hence the attached kludge, which yields:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Native configuration is sparc-unknown-linux-gnu
&lt;br&gt;&amp;gt;&amp;gt; I don't get it. &amp;nbsp;Surely this means that -fpic is broken on
&lt;br&gt;&amp;gt;&amp;gt; SPARC/Linux everywhere.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; No, there's an ASM_SPEC that adds -K PIC in response to -fPIC on the 
&lt;br&gt;&amp;gt; command-line. &amp;nbsp;But the libgcj_bc_spec doesn't add the -fPIC to the 
&lt;br&gt;&amp;gt; compiler command-line, but to the jc1 command line, so the ASM_SPEC
&lt;br&gt;&amp;gt; pattern doesn't trigger.
&lt;/div&gt;&lt;br&gt;Oh, I see. &amp;nbsp;Thanks.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fix--findirect-dispatch-Java-failures-on-SPARC-Linux-tp26665986p26674645.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26674637</id>
	<title>Re: [patch] Fix configure glitch on Solaris</title>
	<published>2009-12-07T01:25:43Z</published>
	<updated>2009-12-07T01:25:43Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Eric Botcazou wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; natVMNetworkInterfacePosix.cc fails to compile under Solaris because 'struct 
&lt;br&gt;&amp;gt; ifconf' is not defined because net/if.h is not included, the root problem 
&lt;br&gt;&amp;gt; being that net/if.h requires sys/socket.h and the configure machinery doesn't 
&lt;br&gt;&amp;gt; provide it.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hence the attached patch, tested on SPARC/Solaris 9 and AMD64/Linux. &amp;nbsp;OK for 
&lt;br&gt;&amp;gt; mainline?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2009-12-06 &amp;nbsp;Eric Botcazou &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26674637&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebotcazou@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	* configure.ac (net/if.h check): Include sys/socket.h if present.
&lt;br&gt;&amp;gt; 	* configure: Regenerate.
&lt;/div&gt;&lt;br&gt;Sure.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-configure-glitch-on-Solaris-tp26666057p26674637.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26669260</id>
	<title>Re: Fix -findirect-dispatch Java failures on SPARC/Linux</title>
	<published>2009-12-06T13:27:28Z</published>
	<updated>2009-12-06T13:27:28Z</updated>
	<author>
		<name>Richard Henderson-2</name>
	</author>
	<content type="html">On 12/06/2009 11:08 AM, Andrew Haley wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Eric Botcazou wrote:
&lt;br&gt;&amp;gt;&amp;gt; The problem is
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; LIBGCJ_BC_SPEC=&amp;quot;%{findirect-dispatch:-fPIC}&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; but you cannot compile with -fPIC without assembling with -K PIC on the SPARC.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hence the attached kludge, which yields:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Native configuration is sparc-unknown-linux-gnu
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I don't get it. &amp;nbsp;Surely this means that -fpic is broken on
&lt;br&gt;&amp;gt; SPARC/Linux everywhere.
&lt;/div&gt;&lt;br&gt;No, there's an ASM_SPEC that adds -K PIC in response to -fPIC on the 
&lt;br&gt;command-line. &amp;nbsp;But the libgcj_bc_spec doesn't add the -fPIC to the 
&lt;br&gt;compiler command-line, but to the jc1 command line, so the ASM_SPEC
&lt;br&gt;pattern doesn't trigger.
&lt;br&gt;&lt;br&gt;&lt;br&gt;r~
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fix--findirect-dispatch-Java-failures-on-SPARC-Linux-tp26665986p26669260.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26667898</id>
	<title>Re: Fix -findirect-dispatch Java failures on SPARC/Linux</title>
	<published>2009-12-06T11:08:22Z</published>
	<updated>2009-12-06T11:08:22Z</updated>
	<author>
		<name>Andrew Haley</name>
	</author>
	<content type="html">Eric Botcazou wrote:
&lt;br&gt;&amp;gt; The problem is
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; LIBGCJ_BC_SPEC=&amp;quot;%{findirect-dispatch:-fPIC}&amp;quot;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; but you cannot compile with -fPIC without assembling with -K PIC on the SPARC.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hence the attached kludge, which yields:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Native configuration is sparc-unknown-linux-gnu
&lt;br&gt;&lt;br&gt;I don't get it. &amp;nbsp;Surely this means that -fpic is broken on
&lt;br&gt;SPARC/Linux everywhere.
&lt;br&gt;&lt;br&gt;Andrew.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fix--findirect-dispatch-Java-failures-on-SPARC-Linux-tp26665986p26667898.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26666057</id>
	<title>[patch] Fix configure glitch on Solaris</title>
	<published>2009-12-06T07:46:29Z</published>
	<updated>2009-12-06T07:46:29Z</updated>
	<author>
		<name>Eric Botcazou-3</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;natVMNetworkInterfacePosix.cc fails to compile under Solaris because 'struct 
&lt;br&gt;ifconf' is not defined because net/if.h is not included, the root problem 
&lt;br&gt;being that net/if.h requires sys/socket.h and the configure machinery doesn't 
&lt;br&gt;provide it.
&lt;br&gt;&lt;br&gt;Hence the attached patch, tested on SPARC/Solaris 9 and AMD64/Linux. &amp;nbsp;OK for 
&lt;br&gt;mainline?
&lt;br&gt;&lt;br&gt;&lt;br&gt;2009-12-06 &amp;nbsp;Eric Botcazou &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26666057&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebotcazou@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * configure.ac (net/if.h check): Include sys/socket.h if present.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * configure: Regenerate.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Eric Botcazou
&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[solaris_libjava.diff]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;Index: configure.ac
&lt;br&gt;===================================================================
&lt;br&gt;--- configure.ac	(revision 155009)
&lt;br&gt;+++ configure.ac	(working copy)
&lt;br&gt;@@ -1568,9 +1568,17 @@ TL_AC_GXX_INCLUDE_DIR
&lt;br&gt;&amp;nbsp;# for now. &amp;nbsp;If you change this, you also must update natFile.cc.
&lt;br&gt;&amp;nbsp;AC_CHECK_HEADERS([unistd.h bstring.h sys/time.h sys/types.h fcntl.h \
&lt;br&gt;&amp;nbsp;		 &amp;nbsp;sys/ioctl.h sys/filio.h sys/stat.h sys/select.h \
&lt;br&gt;-		 &amp;nbsp;sys/socket.h netinet/in.h arpa/inet.h netdb.h net/if.h \
&lt;br&gt;+		 &amp;nbsp;sys/socket.h netinet/in.h arpa/inet.h netdb.h \
&lt;br&gt;&amp;nbsp;		 &amp;nbsp;pwd.h sys/config.h stdint.h langinfo.h locale.h \
&lt;br&gt;&amp;nbsp;		 &amp;nbsp;dirent.h sys/rw_lock.h magic.h ifaddrs.h])
&lt;br&gt;+
&lt;br&gt;+# sys/socket.h is a prerequisite for net/if.h on Solaris.
&lt;br&gt;+AC_CHECK_HEADERS(net/if.h, [], [], [
&lt;br&gt;+#ifdef HAVE_SYS_SOCKET_H
&lt;br&gt;+#include &amp;lt;sys/socket.h&amp;gt;
&lt;br&gt;+#endif
&lt;br&gt;+])
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;AC_CHECK_HEADERS(inttypes.h, [
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE(HAVE_INTTYPES_H, 1, [Define if &amp;lt;inttypes.h&amp;gt; is available])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE(JV_HAVE_INTTYPES_H, 1, [Define if &amp;lt;inttypes.h&amp;gt; is available])
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Fix-configure-glitch-on-Solaris-tp26666057p26666057.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26665986</id>
	<title>Fix -findirect-dispatch Java failures on SPARC/Linux</title>
	<published>2009-12-06T07:36:25Z</published>
	<updated>2009-12-06T07:36:25Z</updated>
	<author>
		<name>Eric Botcazou-3</name>
	</author>
	<content type="html">The problem is
&lt;br&gt;&lt;br&gt;LIBGCJ_BC_SPEC=&amp;quot;%{findirect-dispatch:-fPIC}&amp;quot;
&lt;br&gt;&lt;br&gt;but you cannot compile with -fPIC without assembling with -K PIC on the SPARC.
&lt;br&gt;&lt;br&gt;Hence the attached kludge, which yields:
&lt;br&gt;&lt;br&gt;Native configuration is sparc-unknown-linux-gnu
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; === libjava tests ===
&lt;br&gt;&lt;br&gt;&lt;br&gt;Running target unix
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; === libjava Summary ===
&lt;br&gt;&lt;br&gt;# of expected passes &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2574
&lt;br&gt;&lt;br&gt;&lt;br&gt;Does anyone have a better idea?
&lt;br&gt;&lt;br&gt;&lt;br&gt;2009-12-06 &amp;nbsp;Eric Botcazou &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26665986&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebotcazou@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * config/sparc/linux64.h (ASM_SPEC): Likewise.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Eric Botcazou
&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[sparc_specs.diff]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;Index: config/sparc/linux.h
&lt;br&gt;===================================================================
&lt;br&gt;--- config/sparc/linux.h	(revision 155009)
&lt;br&gt;+++ config/sparc/linux.h	(working copy)
&lt;br&gt;@@ -98,9 +98,17 @@ along with GCC; see the file COPYING3. &amp;nbsp;
&lt;br&gt;&amp;nbsp;/* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
&lt;br&gt;&amp;nbsp; &amp;nbsp; It's safe to pass -s always, even if -g is not used. &amp;nbsp;*/
&lt;br&gt;&amp;nbsp;#undef ASM_SPEC
&lt;br&gt;-#define ASM_SPEC \
&lt;br&gt;- &amp;nbsp;&amp;quot;%{V} %{v:%{!V:-V}} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*} -s \
&lt;br&gt;- &amp;nbsp; %{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_cpu) %(asm_relax)&amp;quot;
&lt;br&gt;+#define ASM_SPEC &amp;quot;\
&lt;br&gt;+%{V} \
&lt;br&gt;+%{v:%{!V:-V}} \
&lt;br&gt;+%{!Qn:-Qy} \
&lt;br&gt;+%{n} \
&lt;br&gt;+%{T} \
&lt;br&gt;+%{Ym,*} \
&lt;br&gt;+%{Wa,*:%*} \
&lt;br&gt;+-s \
&lt;br&gt;+%{fpic|fPIC|fpie|fPIE|findirect-dispatch:-K PIC} \
&lt;br&gt;+%(asm_cpu) %(asm_relax)&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#undef ASM_OUTPUT_ALIGNED_LOCAL
&lt;br&gt;&amp;nbsp;#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN)		\
&lt;br&gt;Index: config/sparc/linux64.h
&lt;br&gt;===================================================================
&lt;br&gt;--- config/sparc/linux64.h	(revision 155009)
&lt;br&gt;+++ config/sparc/linux64.h	(working copy)
&lt;br&gt;@@ -235,7 +235,8 @@ along with GCC; see the file COPYING3. &amp;nbsp;
&lt;br&gt;&amp;nbsp;%{T} \
&lt;br&gt;&amp;nbsp;%{Ym,*} \
&lt;br&gt;&amp;nbsp;%{Wa,*:%*} \
&lt;br&gt;--s %{fpic|fPIC|fpie|fPIE:-K PIC} \
&lt;br&gt;+-s \
&lt;br&gt;+%{fpic|fPIC|fpie|fPIE|findirect-dispatch:-K PIC} \
&lt;br&gt;&amp;nbsp;%{mlittle-endian:-EL} \
&lt;br&gt;&amp;nbsp;%(asm_cpu) %(asm_arch) %(asm_relax)&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fix--findirect-dispatch-Java-failures-on-SPARC-Linux-tp26665986p26665986.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26660427</id>
	<title>[patch] Some SPARC housekeeping work</title>
	<published>2009-12-05T15:16:53Z</published>
	<updated>2009-12-05T15:16:53Z</updated>
	<author>
		<name>Eric Botcazou-3</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;on the heels of the changes recently made to the GCC unwinder on the SPARC:
&lt;br&gt;&lt;br&gt;&lt;br&gt;2009-11-12 &amp;nbsp;Eric Botcazou &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26660427&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebotcazou@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Laurent GUERBY &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26660427&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;laurent@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * config/sparc/linux-unwind.h (sparc64_fallback_frame_state): Tidy.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Do not schedule an %sp restore. &amp;nbsp;Compensate for RETURN_ADDR_OFFSET.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (sparc_fallback_frame_state): Tidy. &amp;nbsp;Compensate for RETURN_ADDR_OFFSET.
&lt;br&gt;&lt;br&gt;&lt;br&gt;2009-10-11 &amp;nbsp;Jose Ruiz &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26660427&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ruiz@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Eric Botcazou &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26660427&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebotcazou@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PR target/33743
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * config/sparc/sol2.h (MD_UNWIND_SUPPORT): Define.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * config/sparc/sol2-unwind.h: New file.
&lt;br&gt;&lt;br&gt;&lt;br&gt;libgcj needs to be slightly adjusted. &amp;nbsp;Built and tested on SPARC/Solaris 9 and 
&lt;br&gt;SPARC/Linux, OK for mainline?
&lt;br&gt;&lt;br&gt;[The testsuite is clean on both platforms, except that all test fails on Linux 
&lt;br&gt;with -findirect-dispatch, a SIGSEGV in _Jv_global_static_constructor. &amp;nbsp;Does 
&lt;br&gt;that ring a bell to anyone?]
&lt;br&gt;&lt;br&gt;&lt;br&gt;2009-12-05 &amp;nbsp;Eric Botcazou &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26660427&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebotcazou@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * configure.host (sparc*-sun-solaris2.*): New case.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * include/dwarf2-signal.h (MAKE_THROW_FRAME, SPARC case): Make dummy.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * include/sparc-signal.h: Do not include ucontext.h.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (SIGNAL_HANDLER): Rename symbol.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (FLUSH_REGISTER_WINDOWS): Delete.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (MAKE_THROW_FRAME): Make dummy.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (INIT_SEGV): Adjust for above renaming.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (INIT_FPE): Likewise.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Eric Botcazou
&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[sparc_libjava.diff]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;Index: configure.host
&lt;br&gt;===================================================================
&lt;br&gt;--- configure.host	(revision 155009)
&lt;br&gt;+++ configure.host	(working copy)
&lt;br&gt;@@ -340,6 +340,10 @@ EOF
&lt;br&gt;&amp;nbsp;	can_unwind_signal=yes
&lt;br&gt;&amp;nbsp;	DIVIDESPEC=-fuse-divide-subroutine
&lt;br&gt;&amp;nbsp;	;;
&lt;br&gt;+ &amp;nbsp;sparc*-sun-solaris2.*)
&lt;br&gt;+	slow_pthread_self=
&lt;br&gt;+	can_unwind_signal=yes
&lt;br&gt;+	;;
&lt;br&gt;&amp;nbsp;esac
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;case &amp;quot;${host}&amp;quot; in
&lt;br&gt;Index: include/dwarf2-signal.h
&lt;br&gt;===================================================================
&lt;br&gt;--- include/dwarf2-signal.h	(revision 155009)
&lt;br&gt;+++ include/dwarf2-signal.h	(working copy)
&lt;br&gt;@@ -1,6 +1,6 @@
&lt;br&gt;&amp;nbsp;// dwarf2-signal.h - Catch runtime signals and turn them into exceptions.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-/* Copyright (C) 2000, 2001 &amp;nbsp;Free Software Foundation
&lt;br&gt;+/* Copyright (C) 2000, 2001, 2009 &amp;nbsp;Free Software Foundation
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; This file is part of libgcj.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -58,61 +58,7 @@ do									\
&lt;br&gt;&amp;nbsp; &amp;nbsp;_sc-&amp;gt;sc_ip++;								\
&lt;br&gt;&amp;nbsp;}									\
&lt;br&gt;&amp;nbsp;while (0)
&lt;br&gt;-#elif defined(__sparc__)
&lt;br&gt;-/* We could do the unwind of the signal frame quickly by hand here like
&lt;br&gt;- &amp;nbsp; sparc-signal.h does under Solaris, but that makes debugging unwind
&lt;br&gt;- &amp;nbsp; failures almost impossible. &amp;nbsp;*/
&lt;br&gt;-#if !defined(__arch64__)
&lt;br&gt;-#define MAKE_THROW_FRAME(_exception)					\
&lt;br&gt;-do									\
&lt;br&gt;-{									\
&lt;br&gt;- &amp;nbsp;/* Sparc-32 leaves PC pointing at a faulting instruction		\
&lt;br&gt;- &amp;nbsp; always.								\
&lt;br&gt;- &amp;nbsp; We advance the PC one instruction past the exception causing PC.	\
&lt;br&gt;- &amp;nbsp; This is done because FDEs are found with &amp;quot;context-&amp;gt;ra - 1&amp;quot; in the	\
&lt;br&gt;- &amp;nbsp; unwinder.								\
&lt;br&gt;- &amp;nbsp; Also, the dwarf2 unwind machinery is going to add 8 to the		\
&lt;br&gt;- &amp;nbsp; PC it uses on Sparc. &amp;nbsp;So we adjust the PC here. &amp;nbsp;We do it here	\
&lt;br&gt;- &amp;nbsp; because we run once for such an exception, however the Sparc specific\
&lt;br&gt;- &amp;nbsp; unwind can run multiple times for the same exception and it would	\
&lt;br&gt;- &amp;nbsp; adjust the PC more than once resulting in a bogus value. &amp;nbsp;*/		\
&lt;br&gt;- &amp;nbsp;struct sig_regs {							\
&lt;br&gt;- &amp;nbsp; &amp;nbsp;unsigned int psr, pc, npc, y, u_regs[16];				\
&lt;br&gt;- &amp;nbsp;} *regp;								\
&lt;br&gt;- &amp;nbsp;unsigned int insn;							\
&lt;br&gt;- &amp;nbsp;__asm__ __volatile__(&amp;quot;ld [%%i7 + 8], %0&amp;quot; : &amp;quot;=r&amp;quot; (insn));		\
&lt;br&gt;- &amp;nbsp;/* mov __NR_sigaction, %g1; Old signal stack layout */		\
&lt;br&gt;- &amp;nbsp;if (insn == 0x821020d8)						\
&lt;br&gt;- &amp;nbsp; &amp;nbsp;regp = (struct sig_regs *) _sip;					\
&lt;br&gt;- &amp;nbsp;else									\
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/* mov __NR_rt_sigaction, %g1; New signal stack layout */		\
&lt;br&gt;- &amp;nbsp; &amp;nbsp;regp = (struct sig_regs *) (_sip + 1);				\
&lt;br&gt;- &amp;nbsp;regp-&amp;gt;pc = ((regp-&amp;gt;pc + 4) - 8);					\
&lt;br&gt;-}									\
&lt;br&gt;-while (0)
&lt;br&gt;-#else
&lt;br&gt;-#define MAKE_THROW_FRAME(_exception)					\
&lt;br&gt;-do									\
&lt;br&gt;-{									\
&lt;br&gt;- &amp;nbsp;/* Sparc-64 leaves PC pointing at a faulting instruction		\
&lt;br&gt;- &amp;nbsp; always.								\
&lt;br&gt;- &amp;nbsp; We advance the PC one instruction past the exception causing PC.	\
&lt;br&gt;- &amp;nbsp; This is done because FDEs are found with &amp;quot;context-&amp;gt;ra - 1&amp;quot; in the	\
&lt;br&gt;- &amp;nbsp; unwinder.								\
&lt;br&gt;- &amp;nbsp; Also, the dwarf2 unwind machinery is going to add 8 to the		\
&lt;br&gt;- &amp;nbsp; PC it uses on Sparc. &amp;nbsp;So we adjust the PC here. &amp;nbsp;We do it here	\
&lt;br&gt;- &amp;nbsp; because we run once for such an exception, however the Sparc specific\
&lt;br&gt;- &amp;nbsp; unwind can run multiple times for the same exception and it would	\
&lt;br&gt;- &amp;nbsp; adjust the PC more than once resulting in a bogus value. &amp;nbsp;*/		\
&lt;br&gt;- &amp;nbsp;struct pt_regs {							\
&lt;br&gt;- &amp;nbsp; &amp;nbsp;unsigned long u_regs[16];						\
&lt;br&gt;- &amp;nbsp; &amp;nbsp;unsigned long tstate, tpc, tnpc;					\
&lt;br&gt;- &amp;nbsp; &amp;nbsp;unsigned int y, fprs;						\
&lt;br&gt;- &amp;nbsp;} *regp = (struct pt_regs *) (_sip + 1);				\
&lt;br&gt;- &amp;nbsp;regp-&amp;gt;tpc = ((regp-&amp;gt;tpc + 4) - 8);					\
&lt;br&gt;-}									\
&lt;br&gt;-while (0)
&lt;br&gt;-#endif
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;#else
&lt;br&gt;&amp;nbsp;#define MAKE_THROW_FRAME(_exception)		\
&lt;br&gt;&amp;nbsp;do						\
&lt;br&gt;Index: include/sparc-signal.h
&lt;br&gt;===================================================================
&lt;br&gt;--- include/sparc-signal.h	(revision 155009)
&lt;br&gt;+++ include/sparc-signal.h	(working copy)
&lt;br&gt;@@ -1,6 +1,6 @@
&lt;br&gt;&amp;nbsp;// sparc-signal.h - Catch runtime signals and turn them into exceptions.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-/* Copyright (C) 1998, 1999, 2000 &amp;nbsp;Free Software Foundation
&lt;br&gt;+/* Copyright (C) 1998, 1999, 2000, 2009 &amp;nbsp;Free Software Foundation
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; This file is part of libgcj.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -12,43 +12,22 @@ details. &amp;nbsp;*/
&lt;br&gt;&amp;nbsp;#define JAVA_SIGNAL_H 1
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#include &amp;lt;signal.h&amp;gt;
&lt;br&gt;-#include &amp;lt;ucontext.h&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#define HANDLE_SEGV 1
&lt;br&gt;&amp;nbsp;#define HANDLE_FPE 1
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-#define SIGNAL_HANDLER(_name) 						\
&lt;br&gt;-static void _name (int _dummy __attribute__ ((__unused__)), \
&lt;br&gt;-		 &amp;nbsp; siginfo_t *_info __attribute__ ((__unused__)), \
&lt;br&gt;-		 &amp;nbsp; void *arg __attribute__ ((__unused__)))
&lt;br&gt;-
&lt;br&gt;-#ifdef __arch64__
&lt;br&gt;-#define FLUSH_REGISTER_WINDOWS					\
&lt;br&gt;- &amp;nbsp;asm volatile (&amp;quot;flushw&amp;quot;);
&lt;br&gt;-#else
&lt;br&gt;-#define FLUSH_REGISTER_WINDOWS					\
&lt;br&gt;- &amp;nbsp;asm volatile (&amp;quot;ta 3&amp;quot;);
&lt;br&gt;-#endif
&lt;br&gt;+#define SIGNAL_HANDLER(_name)						\
&lt;br&gt;+static void _Jv_##_name (int,						\
&lt;br&gt;+			 siginfo_t *_si __attribute__ ((__unused__)),	\
&lt;br&gt;+			 void *_uc __attribute__ ((__unused__)))
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-#define MAKE_THROW_FRAME(_exception)				\
&lt;br&gt;-do								\
&lt;br&gt;-{								\
&lt;br&gt;- &amp;nbsp;ucontext_t *_context = (ucontext_t *) arg; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;\
&lt;br&gt;- &amp;nbsp;(void)_dummy;							\
&lt;br&gt;- &amp;nbsp;(void)_info;							\
&lt;br&gt;- &amp;nbsp;register long sp = _context-&amp;gt;uc_mcontext.gregs[REG_SP];	\
&lt;br&gt;- &amp;nbsp;register long retaddr = _context-&amp;gt;uc_mcontext.gregs[REG_O7];	\
&lt;br&gt;- &amp;nbsp;FLUSH_REGISTER_WINDOWS;					\
&lt;br&gt;- &amp;nbsp;asm volatile (&amp;quot;mov %0, %%i6; mov %1, %%i7&amp;quot;			\
&lt;br&gt;-		: : &amp;quot;r&amp;quot;(sp), &amp;quot;r&amp;quot;(retaddr));			\
&lt;br&gt;-}								\
&lt;br&gt;-while (0)
&lt;br&gt;+#define MAKE_THROW_FRAME(_exception)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#define INIT_SEGV						\
&lt;br&gt;&amp;nbsp;do								\
&lt;br&gt;&amp;nbsp; &amp;nbsp;{								\
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;struct sigaction act;					\
&lt;br&gt;- &amp;nbsp; &amp;nbsp;act.sa_sigaction = catch_segv;				\
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;act.sa_sigaction = _Jv_catch_segv;				\
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;act.sa_flags = SA_SIGINFO | SA_NODEFER;			\
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sigemptyset (&amp;act.sa_mask);					\
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sigaction (SIGSEGV, &amp;act, NULL);				\
&lt;br&gt;@@ -59,8 +38,8 @@ while (0)							
&lt;br&gt;&amp;nbsp;do								\
&lt;br&gt;&amp;nbsp; &amp;nbsp;{								\
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;struct sigaction act;					\
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;act.sa_sigaction = _Jv_catch_fpe;				\
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;act.sa_flags = SA_SIGINFO | SA_NODEFER;			\
&lt;br&gt;- &amp;nbsp; &amp;nbsp;act.sa_sigaction = catch_fpe;				\
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sigemptyset (&amp;act.sa_mask);					\
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sigaction (SIGFPE, &amp;act, NULL);				\
&lt;br&gt;&amp;nbsp; &amp;nbsp;}								\
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-patch--Some-SPARC-housekeeping-work-tp26660427p26660427.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26657444</id>
	<title>Re: [PATCH] Backport two ltdl fixes to fix CVE-2009-3736</title>
	<published>2009-12-05T09:20:04Z</published>
	<updated>2009-12-05T09:20:04Z</updated>
	<author>
		<name>Ralf Wildenhues</name>
	</author>
	<content type="html">Hello Jakub,
&lt;br&gt;&lt;br&gt;* Jakub Jelinek wrote on Thu, Dec 03, 2009 at 10:11:50AM CET:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; libgcj System.loadLibrary which uses lt_dlopen{,ext} under the hood
&lt;br&gt;&amp;gt; tries to open even files in the current directory. &amp;nbsp;When running
&lt;br&gt;&amp;gt; a Java program from an untrusted directory (such as /tmp), someone might
&lt;br&gt;&amp;gt; put there a rogue *.la or *.so file and let libgcj dlopen it instead of
&lt;br&gt;&amp;gt; the library it was supposed to load. &amp;nbsp;Additionally, while e.g. libtool.m4
&lt;br&gt;&amp;gt; in gcc 4.4/4.5 is correct, acinclude.m4 in libjava/libltdl hasn't been
&lt;br&gt;&amp;gt; regenerated and so the hardcoded search path to libraries could include
&lt;br&gt;&amp;gt; stuff like ...:hwcap:0:nosegneg:... and search hwcap/, 0/ and nosegneg/
&lt;br&gt;&amp;gt; subdirs of the current directory for *.la files and *.so libraries.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Fixed thusly, bootstrapped/regtested on {x86_64,i686,powerpc{,64}}-linux.
&lt;br&gt;&amp;gt; Ok for 4.4/4.3? &amp;nbsp;The trunk I'll leave for Ralf's 2.2.6b backport instead.
&lt;/div&gt;&lt;br&gt;I think you should apply this patch to trunk as well. &amp;nbsp;libjava/libltdl
&lt;br&gt;does not pick up the changes from the toplevel Libtool files. &amp;nbsp;I wonder
&lt;br&gt;whether that is a bug in itself; OTOH, I remember there have been
&lt;br&gt;problems in the past with trying to get old libltdl to work with newer
&lt;br&gt;Libtool macro files.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Ralf
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 2009-12-03 &amp;nbsp;Jakub Jelinek &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26657444&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jakub@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	* acinclude.m4: Regenerated to pick:
&lt;br&gt;&amp;gt; 	2007-06-22 Ralf Wildenhues &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26657444&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Ralf.Wildenhues@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	* libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [linux]:
&lt;br&gt;&amp;gt; 	Ignore lines in ld.so.conf starting with 'hwcap '.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	* configure: Regenerated.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	2009-11-24 &amp;nbsp;Peter O'Gorman &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26657444&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;peter@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	Backport of libltdl changes from the 2.26b release.
&lt;br&gt;&amp;gt; 	* ltdl.c: Backport changes.
&lt;br&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Backport-two-ltdl-fixes-to-fix-CVE-2009-3736-tp26622959p26657444.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26629684</id>
	<title>Re: [PATCH] Backport two ltdl fixes to fix CVE-2009-3736</title>
	<published>2009-12-03T09:19:21Z</published>
	<updated>2009-12-03T09:19:21Z</updated>
	<author>
		<name>Richard Henderson-2</name>
	</author>
	<content type="html">On 12/03/2009 01:11 AM, Jakub Jelinek wrote:
&lt;br&gt;&amp;gt; 	* acinclude.m4: Regenerated to pick:
&lt;br&gt;&amp;gt; 	2007-06-22 Ralf Wildenhues&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26629684&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Ralf.Wildenhues@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	* libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [linux]:
&lt;br&gt;&amp;gt; 	Ignore lines in ld.so.conf starting with 'hwcap '.
&lt;br&gt;&lt;br&gt;Ok.
&lt;br&gt;&lt;br&gt;&lt;br&gt;r~
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Backport-two-ltdl-fixes-to-fix-CVE-2009-3736-tp26622959p26629684.html" />
</entry>

</feed>
