[patch][google/integration] Don't force tls-model to initial-exec when building libgomp (issue6107046)

Andrew Pinski pinskia@gmail.com
Mon Apr 23 05:10:00 GMT 2012


On Sun, Apr 22, 2012 at 10:50 AM, Paul Pluzhnikov
<ppluzhnikov@google.com> wrote:
> Greetings,
>
> The patch below is needed for google/integration branch:
> we want to be able build libgomp.a with -fPIC, be able to link it into a
> shared library, and be able to dlopen that library without running out of
> static TLS space (-ftls-model=initial-exec precludes that last part).

Do you understand the reason why it was made -ftls-model=initial-exec
in the first place?
IIRC the main reason is because the slow down from not using
initial-exec model for GOMP is a lot.

Thanks,
Andrew Pinski


> Google ref b/6368405
> Google ref b/6156799
>
> Tested: make && make check
>
>
> 2012-04-22   Paul Pluzhnikov  <ppluzhnikov@google.com>
>
>        * libgomp/configure.tgt: Don't force initial-exec.
>
> Index: libgomp/configure.tgt
> ===================================================================
> --- libgomp/configure.tgt       (revision 186636)
> +++ libgomp/configure.tgt       (working copy)
> @@ -10,16 +10,6 @@
>  #  XCFLAGS             Add extra compile flags to use.
>  #  XLDFLAGS            Add extra link flags to use.
>
> -# Optimize TLS usage by avoiding the overhead of dynamic allocation.
> -if test $gcc_cv_have_tls = yes ; then
> -  case "${target}" in
> -
> -    *-*-linux*)
> -       XCFLAGS="${XCFLAGS} -ftls-model=initial-exec"
> -       ;;
> -  esac
> -fi
> -
>  # Since we require POSIX threads, assume a POSIX system by default.
>  config_path="posix"
>
>
> --
> This patch is available for review at http://codereview.appspot.com/6107046



More information about the Gcc-patches mailing list