ChazZeromus
User
 Junior Osdever
| Posts: 5 |   | Karma: 0
|
Re:64-bit kernel not passing (char *) correctly - 2008/06/19 14:22
Alright, since its pushing a value that is very high in address space, and your kernel shouldn't be that big, this means that the linker assumes that the rodata section is places somewhere far away from code.
You can try another linking method. You can use mine. Well I don't really use linker scripts because the final output can be messed up easily. So I'll give you the just equivalent and see if it works. In your final build step(the making of the binary), instead of using the linker script, make the output another object file. Then use objcopy on the final object file emitted in this manner(Replace the brackets with your own):
| Code: |
objcopy [final object name] -R .comment -R .note -O binary [binary output name]
|
This will put your sections together while removing the unneeded.
Post edited by: chazzeromus, at: 2008/06/19 13:30
|