public inbox for libffi-discuss@sourceware.org
 help / color / mirror / Atom feed
* github pull requests for libffi
@ 2013-01-02 14:45 Anthony Green
  2013-01-02 15:46 ` Matthias Klose
  0 siblings, 1 reply; 5+ messages in thread
From: Anthony Green @ 2013-01-02 14:45 UTC (permalink / raw)
  To: libffi-discuss

Happy New Year, everybody!

I've recently switched how I'm maintaining libffi source in github.
Rather than use quilt to maintain a series of patches on top of the
GCC libffi sources, I've placed the GCC sources on a GCC branch of
libffi and plan to cherry-pick patches from there into the trunk.  All
of the quilt bits are gone from the repo.

This means I can now easily accept github pull requests for changes.
Please try to remember to include ChangeLog entries with your patches.

Thanks!

Anthony Green

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: github pull requests for libffi
  2013-01-02 14:45 github pull requests for libffi Anthony Green
@ 2013-01-02 15:46 ` Matthias Klose
  2013-01-07 10:59   ` Anthony Green
  2013-01-07 14:12   ` Anthony Green
  0 siblings, 2 replies; 5+ messages in thread
From: Matthias Klose @ 2013-01-02 15:46 UTC (permalink / raw)
  To: Anthony Green; +Cc: libffi-discuss

Am 02.01.2013 15:44, schrieb Anthony Green:
> Happy New Year, everybody!
> 
> I've recently switched how I'm maintaining libffi source in github.
> Rather than use quilt to maintain a series of patches on top of the
> GCC libffi sources, I've placed the GCC sources on a GCC branch of
> libffi and plan to cherry-pick patches from there into the trunk.  All
> of the quilt bits are gone from the repo.
> 
> This means I can now easily accept github pull requests for changes.
> Please try to remember to include ChangeLog entries with your patches.

thanks for the merge!  I noticed two minor issues:

 - the soversion in the GCC repository is still at 4, compared to
   6 in 3.0.11. Is this intended? libjava isn't linked with the shared
   libffi, but a make install installs the shared library.

 - PR47248 is not fixed. Currently working around by explicitly
   setting the value.

Matthias

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: github pull requests for libffi
  2013-01-02 15:46 ` Matthias Klose
@ 2013-01-07 10:59   ` Anthony Green
  2013-01-07 11:05     ` Samuli Suominen
  2013-01-07 14:12   ` Anthony Green
  1 sibling, 1 reply; 5+ messages in thread
From: Anthony Green @ 2013-01-07 10:59 UTC (permalink / raw)
  To: Matthias Klose; +Cc: libffi-discuss

On Wed, Jan 2, 2013 at 10:45 AM, Matthias Klose <doko@ubuntu.com> wrote:
> thanks for the merge!  I noticed two minor issues:
>
>  - the soversion in the GCC repository is still at 4, compared to
>    6 in 3.0.11. Is this intended? libjava isn't linked with the shared
>    libffi, but a make install installs the shared library.

I've always been of the opinion that GCC shouldn't install libffi.
There have been some objections in the past.  Maybe I'll try again.

>  - PR47248 is not fixed. Currently working around by explicitly
>    setting the value.

It's been a while since I've looked at EH in the GNU toolchain.  I
believe the -fexceptions would always emit an .eh_frame section, so
this test made sense.  But now it seems that GCC emits these .cfi*
directives, and the assembler is responsible for emitting the
.eh_frames.   If this is true, perhaps we should just scrap the
.eh_frame code all together and use .cfi* assembler directives.  Makes
sense?

AG

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: github pull requests for libffi
  2013-01-07 10:59   ` Anthony Green
@ 2013-01-07 11:05     ` Samuli Suominen
  0 siblings, 0 replies; 5+ messages in thread
From: Samuli Suominen @ 2013-01-07 11:05 UTC (permalink / raw)
  To: libffi-discuss

On 07/01/13 12:59, Anthony Green wrote:
> On Wed, Jan 2, 2013 at 10:45 AM, Matthias Klose <doko@ubuntu.com> wrote:
>> thanks for the merge!  I noticed two minor issues:
>>
>>   - the soversion in the GCC repository is still at 4, compared to
>>     6 in 3.0.11. Is this intended? libjava isn't linked with the shared
>>     libffi, but a make install installs the shared library.
>
> I've always been of the opinion that GCC shouldn't install libffi.
> There have been some objections in the past.  Maybe I'll try again.

+1

We are packaging libffi from the separate package instead of gcc in 
Gentoo Linux, and it works very well for Python, Haskell, Java, and so 
forth. Every problem I've seen with it has been pretty much caused by 
unadequate (poor) packaging or missing upstream patches where things 
have already been fixed for the .so.6

So we actually sed the gcc's build system to avoid it:

sed -i -e 's/\(install.*:\) install-.*recursive/\1/' libffi/Makefile.in
sed -i -e 's/\(install-data-am:\).*/\1/' "libffi/include/Makefile.in

- Samuli

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: github pull requests for libffi
  2013-01-02 15:46 ` Matthias Klose
  2013-01-07 10:59   ` Anthony Green
@ 2013-01-07 14:12   ` Anthony Green
  1 sibling, 0 replies; 5+ messages in thread
From: Anthony Green @ 2013-01-07 14:12 UTC (permalink / raw)
  To: Matthias Klose; +Cc: libffi-discuss

[-- Attachment #1: Type: text/plain, Size: 238 bytes --]

On Wed, Jan 2, 2013 at 10:45 AM, Matthias Klose <doko@ubuntu.com> wrote:
>  - PR47248 is not fixed. Currently working around by explicitly
>    setting the value.

When you have a chance, could you please try out this patch?

Thanks,

AG

[-- Attachment #2: eh_frame.patch --]
[-- Type: application/octet-stream, Size: 1038 bytes --]

diff --git a/configure.ac b/configure.ac
index 78f54af..b62dd6f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -402,11 +402,12 @@ if test "x$GCC" = "xyes"; then
       libffi_cv_ro_eh_frame, [
   	libffi_cv_ro_eh_frame=no
   	echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-  	if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-  	    if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-  		libffi_cv_ro_eh_frame=yes
-  	    elif grep '.section.*eh_frame.*#alloc' conftest.c \
-  		 | grep -v '#write' > /dev/null; then
+  	if $CC $CFLAGS -c -fpic -fexceptions -o conftest.o conftest.c > /dev/null 2>&1; then
+	    objdump -h conftest.o > conftest.dump 2>&1
+	    libffi_eh_frame_line=`grep -n eh_frame conftest.dump | cut -d: -f 1`
+	    libffi_test_line=`expr $libffi_eh_frame_line + 1`p
+	    sed -n $libffi_test_line conftest.dump > conftest.line
+  	    if grep READONLY conftest.line > /dev/null; then
   		libffi_cv_ro_eh_frame=yes
   	    fi
   	fi

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-01-07 14:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-02 14:45 github pull requests for libffi Anthony Green
2013-01-02 15:46 ` Matthias Klose
2013-01-07 10:59   ` Anthony Green
2013-01-07 11:05     ` Samuli Suominen
2013-01-07 14:12   ` Anthony Green

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).