On 02.03.2023 12:01, Julien Grall wrote:
> On 02/03/2023 09:45, Jan Beulich wrote:
>> On 01.03.2023 21:38, Julien Grall wrote:
>>> I managed to reproduce it. It looks like that after your bug patch,
>>> *(.rodata.*) will not be end on a 4-byte boundary. Before your patch,
>>> all the messages will be in .rodata.str. Now they are in .bug_frames.*,
>>> so there some difference in .rodata.*.
>>
>> Strings in .bug_frames.*? This sounds like a mistake, which - if indeed
>> the case - will want investigating before the conversion series is
>> actually considered for committing.
> 
> No. I misread the code. But there are definitely a difference in size:
> 
> Before:
> 
> Section Headers:
>    [Nr] Name              Type            Addr     Off    Size   ES Flg 
> Lk Inf Al
>    [ 0]                   NULL            00000000 000000 000000 00 
> 0   0  0
>    [ 1] .text             PROGBITS        00200000 008000 07e7a8 00 WAX 
> 0   0 32
>    [ 2] .rodata           PROGBITS        0027f000 087000 02acc8 00   A 
> 0   0 16
>[...]
> After:
> 
>    [Nr] Name              Type            Addr     Off    Size   ES Flg 
> Lk Inf Al
>    [ 0]                   NULL            00000000 000000 000000 00 
> 0   0  0
>    [ 1] .text             PROGBITS        00200000 008000 07e670 00 WAX 
> 0   0 32
>    [ 2] .rodata           PROGBITS        0027f000 087000 02b3e8 00   A 
> 0   0 16

I still find this concerning (as in: at least needing explanation), as
the bug frame representation shrinks in size: Entries for assertions
remain to be 4 ".long"-s, while all other entries use only two now. So
in a release build the size of all .bug_frame.* together should halve,
while in debug builds it should shrink at least some. And Oleksii's
series doesn't add meaningful other contributions to .rodata, iirc.

Jan

Reply via email to