https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99654
--- Comment #8 from Sam James <sjames at gcc dot gnu.org> --- In GCC 10, it looks OK: 3d0: 55 push %rbp 3d1: ba 0a 00 00 00 mov $0xa,%edx 3d6: 53 push %rbx 3d7: 48 89 f3 mov %rsi,%rbx 3da: 48 83 ec 08 sub $0x8,%rsp 3de: 48 8b 7e 08 mov 0x8(%rsi),%rdi 3e2: 31 f6 xor %esi,%esi 3e4: e8 c7 ff ff ff call 3b0 <strtol@plt> 3e9: 48 8b 7b 10 mov 0x10(%rbx),%rdi 3ed: ba 0a 00 00 00 mov $0xa,%edx 3f2: 31 f6 xor %esi,%esi 3f4: 48 89 c5 mov %rax,%rbp 3f7: e8 b4 ff ff ff call 3b0 <strtol@plt> < 2><0x000000c1> DW_TAG_inlined_subroutine DW_AT_abstract_origin <0x0000020d> Refers to: atoi DW_AT_entry_pc 0x000003e9 DW_AT_ranges 0x00000050 .. and it's OK until 15 where it breaks again.