Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190703022119.jerw3x43tyysbjyp@gmail.com>
Date: Wed, 3 Jul 2019 10:21:19 +0800
From: Fangrui Song <i@...kray.me>
To: Rich Felker <dalias@...c.org>
Cc: musl@...ts.openwall.com
Subject: Re: [PATCH] remove stray .end directives

On 2019-07-02, Rich Felker wrote:
>On Tue, Jul 02, 2019 at 07:53:53PM +0200, Markus Wichmann wrote:
>> On Tue, Jul 02, 2019 at 12:58:41PM -0400, Rich Felker wrote:
>> > On Tue, Jul 02, 2019 at 01:09:46PM +0000, Song Fangrui wrote:
>> > > diff --git a/src/ldso/powerpc64/dlsym.s b/src/ldso/powerpc64/dlsym.s
>> > > index 7eb691d9..a14715fd 100644
>> > > --- a/src/ldso/powerpc64/dlsym.s
>> > > +++ b/src/ldso/powerpc64/dlsym.s
>> > > @@ -8,5 +8,4 @@ dlsym:
>> > >  	.localentry dlsym,.-dlsym
>> > >  	mflr    5                      # The return address is arg3.
>> > >  	b       __dlsym
>> > > -	.end    dlsym
>> > >  	.size   dlsym, .-dlsym
>> >
>> > This sounds right. Before I remove this, anyone have any idea what the
>> > purpose of these was to begin with?
>> >
>> > Rich
>>
>> I can't tell you the purpose, but I can tell you the effect: This
>> directive ends assembly parsing. Therefore the .size directive below
>> them was never in effect before (if the documentation is to be trusted).
>> Dunno if that has any apparent effect though (besides the output of
>> objdump).
>>
>> The PPC64 file was added in one go by Bobby Bingham in 2016. I guess the
>> line there is for consistency with PPC32. The PPC32 file was added in
>> 2012 by rofl0r, though the blame also shows one Richard Pennington (not
>> the log, though). Weird. Anyway, the log message is also not very
>> enlightening. I can only assume the line was added in error. That, or
>> the .size directive. Together they make no sense.
>
>Thanks. Applying.

In linkers, I think st_size is only useful for STT_OBJECT (copy relocation).
It is not really necessary for functions.

There is some small value to have non-zero st_size for STT_FUNC though:
symbolizers and some other binary inspection tools may leverage this field.
Since most assembly files in musl do have .size, I think it makes sense
to omit it for consistency.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.