https://sourceware.org/bugzilla/show_bug.cgi?id=23244
--- Comment #2 from Sebastian Huber <sebastian.hu...@embedded-brains.de> --- Thanks for your analysis. Calling a weakly undefined function is undefined behaviour. Would it be possible to replace the call to zero with a call to the current PC (infinite loop) or a nop? On the ARM architecture it looks like a nop is created: .type _start, %function _start: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 push {r3, lr} movw r3, #:lower16:f movt r3, #:upper16:f cbz r3, .L1 bl f bl f .L1: pop {r3, pc} .size _start, .-_start .weak f Final executable code (Thumb-2): Disassembly of section .text: 90000000 <_start>: 90000000: b508 push {r3, lr} 90000002: f240 0300 movw r3, #0 90000006: f2c0 0300 movt r3, #0 9000000a: b11b cbz r3, 90000014 <_start+0x14> 9000000c: f3af 8000 nop.w 90000010: f3af 8000 nop.w 90000014: bd08 pop {r3, pc} 90000016: bf00 nop -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils