Add __IRQ_HANDLER symbol to hello_magic example

The hello_magic example does not depend on the gba crate, but the crt0
now assumes that the symbol for the interrupt handler which is defined
in it will be present, as interrupts ought to be handled in some
manner. If neither the symbol or the crate are added then the linker
will give an error, but if anything in the gba crate is used also then
the symbol will be brought in, so defining it manually also would
cause a duplicate definition error. In the future something like
cortex-m-rt's `exception!` macro could be used to better document how
to define this symbol (all their examples depend on at least one
symbol from their runtime library, so they don't have this problem).
This commit is contained in:
Ian Pickering 2019-02-13 18:27:27 -08:00
parent 0d654032bb
commit d15168068b

View file

@ -16,3 +16,8 @@ fn main(_argc: isize, _argv: *const *const u8) -> isize {
loop {}
}
}
#[no_mangle]
static __IRQ_HANDLER: extern "C" fn() = irq_handler;
extern "C" fn irq_handler() {}