trivial boot_head.S

David Mosberger-Tang
2007-08-09T22:54:27Z

[-- Attachment #1: Type: text/plain, Size: 175 bytes --]

Attached is a trivial patch that makes stack-unwinding stop at the
last frame of the bootloader.

--david
--
Mosberger Consulting LLC, http://www.mosberger-consulting.com/

[-- Attachment #2: boot_head.diff --]
[-- Type: text/plain, Size: 656 bytes --]

[IA64] Add a dummy nop at the end of _start() to maintain the invariant that
the return-pointer (rp) always point to the calling function. This
makes unwinding stop at the last frame, as it should.

Signed-off-by: David Mosberger-Tang <dmosberger@gmail.com>

diff --git a/arch/ia64/hp/sim/boot/boot_head.S b/arch/ia64/hp/sim/boot/boot_head.S
index a9bd71a..8808565 100644
--- a/arch/ia64/hp/sim/boot/boot_head.S
+++ b/arch/ia64/hp/sim/boot/boot_head.S
@@ -26,6 +26,7 @@ GLOBAL_ENTRY(_start)
movl sp = stack_mem+16384-16
bsw.1
br.call.sptk.many rp=start_bootloader
+0: nop 0 /* dummy nop to make unwinding work */
END(_start)

/*