Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Mon, 07 Apr 2014 21:40:52 +0200
From: Abdoulaye Walsimou Gaye <awg@...toolkit.org>
To: musl@...ts.openwall.com
Subject: Re: build with clang-3.4 warnings report

On 04/07/2014 07:23 PM, Rich Felker wrote:
> On Mon, Apr 07, 2014 at 11:17:55AM +0000, Oliver Schneider wrote:
>> On 2014-04-05 01:54, Rich Felker wrote:
>>>> src/env/__init_security.c:8:13: warning: function 'dummy' is not needed and will not be emitted [-Wunneeded-internal-declaration]
>>>> static void dummy(void *ent)
>>>>              ^
>>>> 1 warning generated.
>>> This is a bug in the compiler; the function dummy has an externally
>>> visible alias, so it will not be omitted (and if it is actually
>>> omitted, that means the compiler is generating broken output).
>> There is yet another possibility ;)
>>
>> The ccc-analyzer could simply be buggy in this case. Would be
>> interesting to look at the optimized intermediate code whether this gets
>> optimized out. I think it probably doesn't, but who knows.
> At one point it was getting optimized out, which made it impossible to
> build musl with clang, so I think this was fixed and it's just a
> residual bug in the warning generation.
>
>> The dangling else warnings could also be resolved by simply adding
>> braces. It doesn't add to the code size, and the times when developers
>> where paid by LoC are long over (I hope).
>

Hello,
I can confirm that these functions are not optimized out by clang, here is __init_security.o example

     16: 00000000     4 FUNC    LOCAL  DEFAULT    1 dummy
     17: 00000000    24 OBJECT  LOCAL  DEFAULT   22 .L__init_security.pfd
     18: 00000000    10 OBJECT  LOCAL  DEFAULT   23 .L.str
     19: 00000000     0 SECTION LOCAL  DEFAULT   22
     20: 00000000     0 NOTYPE  LOCAL  DEFAULT   22 $d
     21: 00000000     0 SECTION LOCAL  DEFAULT   23
     22: 00000000     0 SECTION LOCAL  DEFAULT   24
     23: 00000000     0 SECTION LOCAL  DEFAULT   25
     24: 00000000     0 SECTION LOCAL  DEFAULT   26
     25: 00000004   208 FUNC    GLOBAL DEFAULT    1 __init_security
     26: 00000000     4 FUNC    WEAK   DEFAULT    1 __init_ssp
     27: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND __syscall
     28: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND __libc


- awg

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.