This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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]

PING: PATCH: [BZ #14569] ibpthread.a isn't linked in properly


On Mon, Sep 10, 2012 at 6:13 PM, H.J. Lu <hongjiu.lu@intel.com> wrote:
> Hi,
>
> This patch places libpthread.a before libc.a between -start-group and
> --end-group.  It also removes the duplicated $(link-libc-static),
> which is included in $(+link-static), and +link-static-tests uses
> $(link-libc-static-tests), not $(link-libc-static).  Tested on x86-64.
> OK to install?
>
> Thanks.
>
>
> H.J.
> ---
> 2012-09-10  H.J. Lu  <hongjiu.lu@intel.com>
>
>         [BZ #14569]
>         * Makeconfig (+link-static-before-libc): Also filter out
>         $(common-objpfx)nptl/libpthread%.  Remove $(link-libc-static).
>         (link-libc-static-tests): Place libpthread.a before libc.a.
>
> diff --git a/Makeconfig b/Makeconfig
> index 3ed9746..8573643 100644
> --- a/Makeconfig
> +++ b/Makeconfig
> @@ -449,8 +449,9 @@ ifndef +link-static
>               $(filter-out $(addprefix $(csu-objpfx),start.o \
>                                                      $(start-installed-name))\
>                            $(+preinit) $(link-extra-libs-static) \
> +                          $(common-objpfx)nptl/libpthread% \
>                            $(common-objpfx)libc% $(+postinit),$^) \
> -             $(link-extra-libs-static) $(link-libc-static)
> +             $(link-extra-libs-static)
>  +link-static-after-libc = $(+postctorT) $(+postinit)
>  +link-static = $(+link-static-before-libc) $(link-libc-static) \
>                $(+link-static-after-libc)
> @@ -520,7 +521,12 @@ endif
>
>  # The static libraries.
>  link-libc-static = -Wl,--start-group $(common-objpfx)libc.a $(static-gnulib) -Wl,--end-group
> -link-libc-static-tests = -Wl,--start-group $(common-objpfx)libc.a $(static-gnulib-tests) -Wl,--end-group
> +# libpthread.a must be placed before libc.a between -start-group and
> +# --end-group.
> +link-libc-static-tests = -Wl,--start-group \
> +                        $(filter $(common-objpfx)nptl/libpthread.a,$^) \
> +                        $(common-objpfx)libc.a \
> +                        $(static-gnulib-tests) -Wl,--end-group
>  link-libc-bounded = $(common-objpfx)libc_b.a $(gnulib) $(common-objpfx)libc_b.a
>
>  # How to link against libgcc.  Some libgcc functions, such as those

PING.

-- 
H.J.


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