This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: RFC: Add -mshared option to x86 ELF assembler
- From: "H. Peter Anvin" <hpa at zytor dot com>
- To: Andy Lutomirski <luto at amacapital dot net>, "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Jan Beulich <JBeulich at suse dot com>, Binutils <binutils at sourceware dot org>, "linux-kernel at vger dot kernel dot org" <linux-kernel at vger dot kernel dot org>
- Date: Wed, 20 May 2015 13:32:05 -0700
- Subject: Re: RFC: Add -mshared option to x86 ELF assembler
- Authentication-results: sourceware.org; auth=none
- References: <CAMe9rOq7Z2arKeB=Zf7MMPWC+Mubb-DEYSSE-PDSPfPMQ+iNPw at mail dot gmail dot com> <CAMe9rOqPabGQTSsK_zaH6gyF-rNKK6ue+HOpMXD03zpO8z7_gA at mail dot gmail dot com> <CAMe9rOrMjibLi_nSBBPCeHcQNUnv277oEMRPrrj98AenVixCjQ at mail dot gmail dot com> <CALCETrUb7yCvToB6AiGbChqiXzPYQHnYAjbYnr_JUsP3QEwAEQ at mail dot gmail dot com>
On 05/20/2015 01:02 PM, Andy Lutomirski wrote:
>>
>> I got
>>
>> [hjl@gnu-tools-1 kernel.org]$ readelf -r old/vmlinux.o | head -5
>>
>> Relocation section '.rela.text' at offset 0xafea2f0 contains 205717 entries:
>> Offset Info Type Sym. Value Sym. Name + Addend
>> 000000000001 1253100000002 R_X86_64_PC32 0000000000001e70 __fentry__ - 4
>> 000000000009 1c8c00000002 R_X86_64_PC32 0000000000000000 .data + 51bc
>> [hjl@gnu-tools-1 kernel.org]$ readelf -r new/vmlinux.o | head -5
>>
>> Relocation section '.rela.text' at offset 0xafea280 contains 205711 entries:
>> Offset Info Type Sym. Value Sym. Name + Addend
>> 000000000001 1253100000002 R_X86_64_PC32 0000000000001e70 __fentry__ - 4
>> 000000000009 1c8c00000002 R_X86_64_PC32 0000000000000000 .data + 51bc
>> [hjl@gnu-tools-1 kernel.org]$
>>
>> It removes 6 relocations. On gcc master branch,
>>
>> [hjl@gnu-tools-1 gcc-misc]$ size build-x86_64-linux*/gcc/cc1
>> text data bss dec hex filename
>> 21529621 62256 1348312 22940189 15e0a1d build-x86_64-linux.branch/gcc/cc1
>> 21529749 62256 1348312 22940317 15e0a9d build-x86_64-linux/gcc/cc1
>> [hjl@gnu-tools-1 gcc-misc]$ size build-x86_64-linux*/gcc/cc1plus
>> text data bss dec hex filename
>> 23713509 62400 1372760 25148669 17fbcfd build-x86_64-linux.branch/gcc/cc1plus
>> 23713669 62400 1372760 25148829 17fbd9d build-x86_64-linux/gcc/cc1plus
>> [hjl@gnu-tools-1 gcc-misc]$
>>
>> It is more effective. I will run more tests.
>
> This seems like a sensible idea, but I can imagine it breaking some
> weird use cases (like that one Linux thing). Is that okay?
>
What about the patch I posted recently?
-hpa