[U-Boot] [RFC] - Relocating i386 Code - Permission to break orphan boards

Hi Wolfgang,
I have been playing around with gcc's -fpic and ld's -PIE and I think that I can get 'proper' relocation happening on the i386 port. I've get the basics down, and I've been looking at /lib_ppc/board.c for how the PPC relocation scheme works and would like to replicate it (i.e. board_init_f, board_init_r and relocate_code.
Unfortunately this leaves two options:
1) Tangle the i386 port up in a heap of #ifdefs, or; 2) Do a clean re-write for the eNET and break the other i386 boards (sc520_cdp and sc520_spunk).
The other two i386 boards are OLD and i have my doubts as to if they ever did work completely, and have really strong doubts as to them working now
I would really like to just throw all the old code out and do it all cleanly, but not without strong support from the community.
What are your thoughts?
Regards,
G

On Sun, Aug 30, 2009 at 8:44 PM, Graeme Russgraeme.russ@gmail.com wrote:
Hi Wolfgang,
I have been playing around with gcc's -fpic and ld's -PIE and I think that I can get 'proper' relocation happening on the i386 port. I've get the basics down, and I've been looking at /lib_ppc/board.c for how the PPC relocation scheme works and would like to replicate it (i.e. board_init_f, board_init_r and relocate_code.
Unfortunately this leaves two options:
- Tangle the i386 port up in a heap of #ifdefs, or;
- Do a clean re-write for the eNET and break the other i386 boards
(sc520_cdp and sc520_spunk).
Actually, I have a 3rd (better) plan - I'll create new source files for the relocatable version and conditionally compile based on a new #define in the board header.
Looking forward to getting into it :)
The other two i386 boards are OLD and i have my doubts as to if they ever did work completely, and have really strong doubts as to them working now
I would really like to just throw all the old code out and do it all cleanly, but not without strong support from the community.
What are your thoughts?
Regards,
G
participants (1)
-
Graeme Russ