PATCH: Don't allow ia64 unwind section to point to section in different files
Jan Beulich
JBeulich@novell.com
Wed May 18 07:23:00 GMT 2005
>>> James E Wilson <wilson@specifixinc.com> 18.05.05 01:20:47 >>>
>The basic question here is whether it is ever OK for anything to come
>between the .proc and the function label.
Per ias, it is OK for code and/or data to come in there, but no unwind directives. For code like
.text
.proc test1, test2, test3
.prologue
.save ar.lc, r16
mov r16 = ar.lc
test2:
.save pr, r17
mov r17 = pr
test1:
.save.b 0b00000010, r18
mov r18 = b1
test3:
br.ret.sptk rp
.endp test1, test2, test3
ias gives
unwind.s(14) : error A2145: the first unwind directive must point to the procedure test1 entry point
basically meaning that they check that no unwind stuff exists between .proc and the main entry point (and the region size covered
by the unwind info would then be set to just the range from the main entry point through .endp).
Further (regarding the original issue discussed here), they generate both relocations against the symbol, not the section. However, I too believe this is wrong, but I'm not sure if gas should intentionally behave differently here. Maybe that's another point to be discussed with them before settling on a solution.
Jan
More information about the Binutils
mailing list