On 07.03.2023 13:04, Juergen Gross wrote:
> On 07.03.23 12:42, Jan Beulich wrote:
>> On 07.03.2023 12:33, Juergen Gross wrote:
>>> On 07.03.23 11:31, Jan Beulich wrote:
>>>> On 07.03.2023 07:32, Juergen Gross wrote:
>>>>> Using a rather oldish gcc (7.5) it was verified that code generation
>>>>> doesn't really differ between CONFIG_DEBUG_INFO on or off without
>>>>> CONFIG_DEBUG being set (only observed differences were slightly
>>>>> different symbol addresses, verified via "objdump -d"). The old gcc
>>>>> version selection was based on the assumption, that newer gcc won't
>>>>> regress in this regard.
>>>>
>>>> This is good to know, but I'm still curious about the mentioned
>>>> differences in symbol addresses: If code generation didn't change, what
>>>> caused addresses to differ? Is that merely because individual functions
>>>> or objects are emitted in different order by the compiler? (If so I'd
>>>> be inclined to infer that comparing generated code must have been
>>>> quite a bit of effort, as first of all you would have had to undo that
>>>> re-ordering.)
>>>
>>> I did a simple diff of the two disassembly outputs and got only small
>>> differences for %rip relative addresses (the differences were in the
>>> range of +/- 32 bytes).
>>
>> That's still odd and hence imo wants understanding. Do you still have
>> both binaries around?
> 
> I have just regenerated the one with debug-info. It is a 4.17 build.
> 
> I just found the at least one reason: xen_config_data has a different size
> (obviously!) and this finally leads to an offset of 32 bytes for symbols
> at higher addresses (with some items only differing by 8 bytes due to
> alignment).

Thanks for checking - this kind of a delta is of course to be expected.

Jan

Reply via email to