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: Andy Lutomirski <luto at amacapital dot net>
- To: "H. Peter Anvin" <hpa at zytor dot com>
- Cc: "H.J. Lu" <hjl dot tools at gmail dot com>, 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:54:01 -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> <555CEF45 dot 4090609 at zytor dot com>
On Wed, May 20, 2015 at 1:32 PM, H. Peter Anvin <hpa@zytor.com> wrote:
> 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?
>
I replied in that thread.
--Andy
> -hpa
>
>
--
Andy Lutomirski
AMA Capital Management, LLC