libffi/configure.ac does not correctly determine writable eh_frame

Anthony Green green@redhat.com
Thu Feb 3 22:45:00 GMT 2011


Ian Lance Taylor <iant@google.com> writes:

> In the version of libffi distributed with gcc, I see this in
> configure.ac:
>
> 	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
> 		libffi_cv_ro_eh_frame=yes
> 	    fi
> 	fi
>
> This does not work with current gcc.  When that code is compiled, no
> .eh_frame section is generated.  Therefore the configure script assumes
> that a writable .eh_frame section is appropriate, even when it is not.
>
> This was detected due to a bug in gold; see http://gcc.gnu.org/PR47248
> for more details.  However, this issue in libffi should be fixed
> independently of the gold bug fix.

Thanks Ian.  Any suggestions on what do I need to do to now to force an
.eh_frame section?

AG


>
> Ian



More information about the Libffi-discuss mailing list