Hi,
I want to build a easy simple kernel in Go1.
I use Qemu and Grub2 and my kernel is x86-64.
My first problem, there is no `__attribute__((section (".grub_sig")))` for
gccgo so I can't fill the struct to allow Grub2 to boot on.
There is a solution here ? Preferably, an easy and elegant one :)
The second problem is the runtime. I use -static and -static-libgo but
there is a lot of linking issues :
main.8g: In function `main.main':
main.go:(.text+0x18): undefined reference to `__morestack'
main.8g: In function `__go_init_main':
main.go:(.text+0x3b): undefined reference to `__morestack'
main.8g:(.rodata+0x278): undefined reference to `__go_type_hash_identity'
main.8g:(.rodata+0x280): undefined reference to `__go_type_equal_identity'
main.8g:(.rodata.__go_td_pN19_main.grub_signature[__go_td_pN19_main.grub_signature]+0x18):
undefined reference to `__go_type_hash_identity'
main.8g:(.rodata.__go_td_pN19_main.grub_signature[__go_td_pN19_main.grub_signature]+0x20):
undefined reference to `__go_type_equal_identity'
main.8g:(.rodata.__go_td_pN4_uint[__go_td_pN4_uint]+0x18): undefined
reference to `__go_type_hash_identity'
main.8g:(.rodata.__go_td_pN4_uint[__go_td_pN4_uint]+0x20): undefined
reference to `__go_type_equal_identity'
main.8g:(.rodata.__go_tdn_uint[__go_tdn_uint]+0x18): undefined reference to
`__go_type_hash_identity'
main.8g:(.rodata.__go_tdn_uint[__go_tdn_uint]+0x20): undefined reference to
`__go_type_equal_identity'
main.8g:(.rodata.__go_td_pN3_int[__go_td_pN3_int]+0x18): undefined
reference to `__go_type_hash_identity'
main.8g:(.rodata.__go_td_pN3_int[__go_td_pN3_int]+0x20): undefined
reference to `__go_type_equal_identity'
main.8g:(.rodata.__go_tdn_int[__go_tdn_int]+0x18): undefined reference to
`__go_type_hash_identity'
main.8g:(.rodata.__go_tdn_int[__go_tdn_int]+0x20): undefined reference to
`__go_type_equal_identity'
How should I resolved that ?
Thanks
--