This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Support PIE on Solaris 12
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Rainer Orth <ro at cebitec dot uni-bielefeld dot de>
- Cc: Binutils <binutils at sourceware dot org>
- Date: Wed, 2 Sep 2015 03:59:10 -0700
- Subject: Re: Support PIE on Solaris 12
- Authentication-results: sourceware.org; auth=none
- References: <yddd1yb7fgm dot fsf at lokon dot CeBiTec dot Uni-Bielefeld dot DE> <CAMe9rOr8Y059NZ2D2uP2TLwyipzBrWDrNRtTDP7eqnYZKQdi7A at mail dot gmail dot com> <ydd1teijqjb dot fsf at lokon dot CeBiTec dot Uni-Bielefeld dot DE> <CAMe9rOrHK7vmy43j4+eoFjB4e_N89f_3oZXGTTAdGoLTOomTgA at mail dot gmail dot com> <ydd4mjdgpho dot fsf at lokon dot CeBiTec dot Uni-Bielefeld dot DE>
On Wed, Sep 2, 2015 at 2:05 AM, Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote:
> "H.J. Lu" <hjl.tools@gmail.com> writes:
>
>> On Tue, Sep 1, 2015 at 5:02 AM, Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote:
>>> "H.J. Lu" <hjl.tools@gmail.com> writes:
>>>
>>>> @@ -868,6 +868,8 @@
>>>> #define DF_1_GLOBAUDIT 0x01000000
>>>> #define DF_1_SINGLETON 0x02000000
>>>>
>>>> +#define DF_1_PIE 0x08000000
>>>>
>>>> You don't need a blank line before DF_1_PIE. Should we always set
>>>> DF_1_PIE for PIE?
>>>
>>> I had it to mark the gap in the flags. Solaris 11 (and 12) has
>>>
>>> #define DF_1_STUB 0x04000000 /* stub object */
>>
>> We should add DF_1_STUB.
>>
>>> between the two. It's documented in the Linkers and Libraries Guide:
>>>
>>> http://docs.oracle.com/cd/E36784_01/html/E36857/chapter6-42444.html
>
> Fine with me. Patch updated to define DF_1_STUB and print it in
> readelf. Supporting creation of stub objects for real is beyond the
> scope of the current patch, I believe.
>
> Rainer
>
>
> 2015-08-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
>
> ld:
> * emulparams/solaris2.sh (GENERATE_PIE_SCRIPT): Set to yes.
>
> * emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Allow
> overriding gld${EMULATION_NAME}_handle_option.
> * emultempl/solaris2.em: Include ldlex.h.
> (gld${EMULATION_NAME}_handle_option): Declare.
> (elf_solaris2_handle_option): New function.
> (LDEMUL_HANDLE_OPTION): Uset it.
>
> include/elf:
> * common.h (DF_1_STUB, DF_1_PIE): Define.
>
> binutils:
> * readelf.c (process_dynamic_section): Handle DF_1_STUB, DF_1_PIE.
Should we set DF_1_PIE for Linux?
--
H.J.