public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libgcc/61097] New: Solaris linker change broke --disabled-shared support
@ 2014-05-07 14:48 gnugcc at marino dot st
  2014-05-08 12:11 ` [Bug libgcc/61097] " ro at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: gnugcc at marino dot st @ 2014-05-07 14:48 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61097

            Bug ID: 61097
           Summary: Solaris linker change broke --disabled-shared support
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcc
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gnugcc at marino dot st

Regarding the patch "[build, libgcc] Ensure libgcc_s unwinder is always used on
64-bit Solaris 10+/x86 (PR target/59788)"
http://gcc.gnu.org/ml/gcc-patches/2014-01/msg01088.html

This change seems to have broken the --disabled-shared support for the native
solaris linker.

I am seeing this error on GCC 4.9.0 with that option set.
> gmake[5]: Entering directory
> /mech/pkgsrc-work/lang/gcc-aux/work/build/x86_64-aux-solaris2.11/32/libgcc'
> # If this is the top-level multilib, build all the other gmake[5]: *** No
> rule to make target 'libgcc-std.ver', needed by 'libgcc-unwind.map'.
> Stop.

It is caused by libgcc/config/t-slibgcc-sld excerpt:

> # Linker mapfile to enforce direct binding to libgcc_s unwinder
> # (PR target/59788).
> libgcc-unwind.map: libgcc-std.ver
>         @(echo "{";                             \
>         for f in `grep _Unwind_ $< | sort`; do  \
>           echo "        $$f = EXTERN DIRECT;";  \
>         done;                                   \
>         echo "};" ) > $@


But the libcgcc-std.ver target is only exposed on the condition that shared
library building is enabled per libgcc/Makefile.in:

> ifeq ($(enable_shared),yes)
>
> # Map-file generation.
> ifneq ($(SHLIB_MKMAP),)
> libgcc.map: $(SHLIB_MKMAP) $(SHLIB_MAPFILES) $(libgcc-s-objects)
>         { $(NM) $(SHLIB_NM_FLAGS) $(libgcc-s-objects); echo %%; \
>           cat $(SHLIB_MAPFILES) \
>             | sed -e '/^[       ]*#/d' \
>                   -e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' \
>             | $(gcc_compile_bare) -E -xassembler-with-cpp -; \
>         } | $(AWK) -f $(SHLIB_MKMAP) $(SHLIB_MKMAP_OPTS) > tmp-$@
>         mv tmp-$@ $@
> libgcc_s$(SHLIB_EXT): libgcc.map
> mapfile = libgcc.map
> endif
>
> libgcc-std.ver: $(srcdir)/libgcc-std.ver.in
>         sed -e 's/__PFX__/$(LIBGCC_VER_GNU_PREFIX)/g' \
>             -e 's/__FIXPTPFX__/$(LIBGCC_VER_FIXEDPOINT_GNU_PREFIX)/g' < $< > $@


I found that moving the libgcc-std.ver target above the "ifeq
($(enable_shared),yes)" line to expose it unconditionally allowed the build to
continue.


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

* [Bug libgcc/61097] Solaris linker change broke --disabled-shared support
  2014-05-07 14:48 [Bug libgcc/61097] New: Solaris linker change broke --disabled-shared support gnugcc at marino dot st
@ 2014-05-08 12:11 ` ro at gcc dot gnu.org
  2014-05-08 12:15 ` ro at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: ro at gcc dot gnu.org @ 2014-05-08 12:11 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61097

--- Comment #1 from Rainer Orth <ro at gcc dot gnu.org> ---
Author: ro
Date: Thu May  8 12:11:14 2014
New Revision: 210210

URL: http://gcc.gnu.org/viewcvs?rev=210210&root=gcc&view=rev
Log:
Don't build libgcc-unwind.map with --disable-shared (PR libgcc/61097)

    PR libgcc/61097
    * config/t-slibgcc-sld: Only build and install libgcc-unwind.map
    if --enable-shared.

Modified:
    trunk/libgcc/ChangeLog
    trunk/libgcc/config/t-slibgcc-sld


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

* [Bug libgcc/61097] Solaris linker change broke --disabled-shared support
  2014-05-07 14:48 [Bug libgcc/61097] New: Solaris linker change broke --disabled-shared support gnugcc at marino dot st
  2014-05-08 12:11 ` [Bug libgcc/61097] " ro at gcc dot gnu.org
@ 2014-05-08 12:15 ` ro at gcc dot gnu.org
  2014-05-15 10:02 ` ro at gcc dot gnu.org
  2014-05-15 10:05 ` ro at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: ro at gcc dot gnu.org @ 2014-05-08 12:15 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61097

Rainer Orth <ro at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
                URL|                            |http://gcc.gnu.org/ml/gcc-p
                   |                            |atches/2014-05/msg00477.htm
                   |                            |l
   Last reconfirmed|                            |2014-05-08
                 CC|                            |ro at gcc dot gnu.org
           Assignee|unassigned at gcc dot gnu.org      |ro at gcc dot gnu.org
   Target Milestone|---                         |4.9.1
     Ever confirmed|0                           |1

--- Comment #2 from Rainer Orth <ro at gcc dot gnu.org> ---
Fixed for 4.10.0, will backport to 4.9.1 in a few days.

Thanks for the report.

  Rainer


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

* [Bug libgcc/61097] Solaris linker change broke --disabled-shared support
  2014-05-07 14:48 [Bug libgcc/61097] New: Solaris linker change broke --disabled-shared support gnugcc at marino dot st
  2014-05-08 12:11 ` [Bug libgcc/61097] " ro at gcc dot gnu.org
  2014-05-08 12:15 ` ro at gcc dot gnu.org
@ 2014-05-15 10:02 ` ro at gcc dot gnu.org
  2014-05-15 10:05 ` ro at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: ro at gcc dot gnu.org @ 2014-05-15 10:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61097

--- Comment #3 from Rainer Orth <ro at gcc dot gnu.org> ---
Author: ro
Date: Thu May 15 10:02:04 2014
New Revision: 210468

URL: http://gcc.gnu.org/viewcvs?rev=210468&root=gcc&view=rev
Log:
Don't build libgcc-unwind.map with --disable-shared (PR libgcc/61097)

    Backport from mainline
    2014-05-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

    PR libgcc/61097
    * config/t-slibgcc-sld: Only build and install libgcc-unwind.map
    if --enable-shared.

Modified:
    branches/gcc-4_9-branch/libgcc/ChangeLog
    branches/gcc-4_9-branch/libgcc/config/t-slibgcc-sld


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

* [Bug libgcc/61097] Solaris linker change broke --disabled-shared support
  2014-05-07 14:48 [Bug libgcc/61097] New: Solaris linker change broke --disabled-shared support gnugcc at marino dot st
                   ` (2 preceding siblings ...)
  2014-05-15 10:02 ` ro at gcc dot gnu.org
@ 2014-05-15 10:05 ` ro at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: ro at gcc dot gnu.org @ 2014-05-15 10:05 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61097

Rainer Orth <ro at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from Rainer Orth <ro at gcc dot gnu.org> ---
Backport applied to 4.9 branch, too.


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

end of thread, other threads:[~2014-05-15 10:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-07 14:48 [Bug libgcc/61097] New: Solaris linker change broke --disabled-shared support gnugcc at marino dot st
2014-05-08 12:11 ` [Bug libgcc/61097] " ro at gcc dot gnu.org
2014-05-08 12:15 ` ro at gcc dot gnu.org
2014-05-15 10:02 ` ro at gcc dot gnu.org
2014-05-15 10:05 ` ro at gcc dot gnu.org

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).