This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [build, libjava] Support Sun symbol versioning in libjava


On 07/05/2010 06:05 PM, Rainer Orth wrote:
> Andrew Haley <aph@redhat.com> writes:
> 
>>>> Did you test this on GNU/Linux ?
>>>
>>> Not yet: no access.  Perhaps via VirtualBox or the GCC test farm.
> 
> We do have a single machine running RHEL4, so I've bootstrapped the
> patch on x86_64-unknown-linux-gnu without regressions.
> 
> To avoid the Darwin problem of silently accepting the ld -M option, I've
> added the same guard in configure.ac as in libgfortran and libssp:
> 
> --- a/libjava/configure.ac	Sat Jul 03 09:28:21 2010 +0200
> +++ b/libjava/configure.ac	Sat Jul 03 09:32:51 2010 +0200
> @@ -1780,13 +1780,28 @@
>    [libjava_cv_anon_version_script],
>    [save_CFLAGS="$CFLAGS"; save_LDFLAGS="$LDFLAGS"
>     libjava_cv_anon_version_script=no
> -   CFLAGS="$CFLAGS -fPIC"; LDFLAGS="$LDFLAGS -shared -Wl,--version-script,conftest.map"
> +   CFLAGS="$CFLAGS -fPIC";
> +   LDFLAGS="$LDFLAGS -shared -Wl,--version-script,conftest.map"
>     echo '{ global: globalsymb*; local: *; };' > conftest.map
>     AC_TRY_LINK(void globalsymbol (void) {} void localsymbol (void) {},,
> -	       [libjava_cv_anon_version_script=yes], [])
> +	       [libjava_cv_anon_version_script=gnu], [])
> +   if test x$libjava_cv_anon_version_script = xno; then
> +     case "$target_os" in
> +       solaris2*)
> +         LDFLAGS="$save_LDFLAGS"
> +         LDFLAGS="$LDFLAGS -shared -Wl,-M,conftest.map"
> +         # Sun ld doesn't understand wildcards here.
> +         echo '{ global: globalsymbol; local: *; };' > conftest.map
> +         AC_TRY_LINK(void globalsymbol (void) {} void localsymbol (void) {},,
> +	 	     [libjava_cv_anon_version_script=sun], [])
> +         ;;
> +     esac
> +   fi
>     CFLAGS="$save_CFLAGS"; LDFLAGS="$save_LDFLAGS"
>    ])
> -AM_CONDITIONAL(ANONVERSCRIPT, test "$libjava_cv_anon_version_script" = yes)
> +AM_CONDITIONAL(ANONVERSCRIPT, test "$libjava_cv_anon_version_script" != no)
> +AM_CONDITIONAL(ANONVERSCRIPT_GNU, test "$libjava_cv_anon_version_script" = gnu)
> +AM_CONDITIONAL(ANONVERSCRIPT_SUN, test "$libjava_cv_anon_version_script" = sun)
>  
>  # Check if linker supports static linking on a per library basis
>  LD_START_STATIC_SPEC=
> 
> Ok now?

OK.

Thanks,
Andrew.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]