https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112372

--- Comment #2 from Giuliano Procida <gprocida at google dot com> ---
The symbols are not aliased (which is what I thought might have happened with
very aggressive optimisations). If they had been aliased, it would be much
harder to give the symbols types.

0000000000000000 T x
0000000000000010 T y
0000000000000020 T z

Also:

Disassembly of section .text:

0000000000000000 <x>:
   0:   c3                      ret
   1:   66 66 2e 0f 1f 84 00    data16 cs nopw 0x0(%rax,%rax,1)
   8:   00 00 00 00 
   c:   0f 1f 40 00             nopl   0x0(%rax)

0000000000000010 <y>:
  10:   c3                      ret
  11:   66 66 2e 0f 1f 84 00    data16 cs nopw 0x0(%rax,%rax,1)
  18:   00 00 00 00 
  1c:   0f 1f 40 00             nopl   0x0(%rax)

0000000000000020 <z>:
  20:   c3                      ret

So it should have been entirely possible to assign the correct byte ranges
(low/high PC) to the 3 functions.

Reply via email to