[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sr #110542] Patch to libtool for solaris 11.4 link-editor which rejects
From: |
Stacey Marshall |
Subject: |
[sr #110542] Patch to libtool for solaris 11.4 link-editor which rejects -pthread option |
Date: |
Mon, 20 Sep 2021 06:24:06 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:92.0) Gecko/20100101 Firefox/92.0 |
URL:
<https://savannah.gnu.org/support/?110542>
Summary: Patch to libtool for solaris 11.4 link-editor which
rejects -pthread option
Project: GNU Libtool
Submitted by: staceym
Submitted on: Mon 20 Sep 2021 10:24:04 AM UTC
Category: None
Priority: 5 - Normal
Severity: 3 - Normal
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Operating System: Solaris
_______________________________________________________
Details:
Solaris 11.4 link-editor, ld(1), has been updated to reject options '-thread'
and '-pthread'.
Details from Oracle Bug 22985199 ld(1) should weed out invalid options -thread
and -pthread
> The GNU configuration process has been known to pass the
> options -thread and -pthread to ld(1), or to the compiler
> driver which will try and pass them to ld(1).
>
> ld(1) uses getopt(3c) processing. The compilers take the
> options they know about and pass the others to ld(1).
>
> These options, which are specific to gcc, can result in
> silent errors:
>
> % ld -o null.so -G -thread null.o
> % elfdump -d null.so | fgrep SONAME
> [0] SONAME 0x5c read
>
> The -t option is peeled off, being a valid ld(1) option,
> and the rest, '-h read' gets interpreted as an SONAME, which
> is probably not what the user expected. If you tried to
> create an executable, you'd get an error, but it's not
> immediately obvious where the -h came from:
>
> % ld -o main -thread null.o
> ld: fatal: option '-h read' is incompatible with building \\
> a dynamic executable
>
> With -pthread we get the same result when building a shared
> object or an executable:
>
> % ld -o null.so -G -pthread null.o
> % elfdump -d null.so | fgrep AUDIT
> [0] AUDIT 0x5c thread
>
> The -p is peeled off, and its optarg used to define an auditor.
> Again, probably not what the user wanted.
>
> The Studio compilers can behave slightly differently in that
> they can affect the options passed to ld(1): For example
>
> % cc -o null.so -G -thread null.o
>
> results in ld(1) seeing distinct options '-t -hread'.
>
> Given these are "bad" options to ld(1), it would be helpful
> to our Userland developers if ld(1) could recognize them
> rather than falling through to getopt() processing, where the
> options are mis-interpreted and "might" result in an error
> depending on the output file being produced.
The attached patch (libtool-Solaris-ld.patch) prevents '-pthread' from being
passed to ld on solaris2 hosts.
_Originally posted to_ https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34076
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Mon 20 Sep 2021 10:24:04 AM UTC Name: libtool-Solaris-ld.patch Size:
902B By: staceym
Patch file
<http://savannah.gnu.org/support/download.php?file_id=51948>
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/support/?110542>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [sr #110542] Patch to libtool for solaris 11.4 link-editor which rejects -pthread option,
Stacey Marshall <=