H. Peter Anvin
2006-Aug-31 00:11 UTC
[syslinux] Fair warning regarding the future of the COM32 format
Hi all, I just want to give everyone a heads-up that I'm considering removing support for COM32 in favour of relocatable (-fPIC) ELF files, or some other relocatable format. This would allow one "ELFCOM" file to call out to another, and then return. Part of the idea here is to run the main syslinux UI and probably the filesystem drivers in "ELFCOM" code, which doesn't work too well with everything being statically linked to a fixed address. The other option, which I am also considering, is to do the same thing by playing games with segments. This would break COM32 files which rely on touching fixed addresses (which most of them currently do), but would otherwise be a relatively straightforward operation. If I do that, I'll introduce a standard GDT which would have flat segments as well as fixed-offset ones, but you'd still have to convert pointers before passing them to something. It's not clear to me at this time which way is better, although I think I am leaning toward the former. -hpa
Tim Deegan
2006-Sep-01 08:37 UTC
[syslinux] Fair warning regarding the future of the COM32 format
> I just want to give everyone a heads-up that I'm considering removing > support for COM32 in favour of relocatable (-fPIC) ELF files, or some > other relocatable format. This would allow one "ELFCOM" file to call > out to another, and then return. > > Part of the idea here is to run the main syslinux UI and probably the > filesystem drivers in "ELFCOM" code, which doesn't work too well with > everything being statically linked to a fixed address.That sounds great! What kind of support will there be for dynamically allocating memory when multiple ELFCOM modules are loaded? I'm thinking of the multiboot loader, which needs to allocate potentially quite large amounts of memory and be sure they will be safe from other modules. Tim. -- Tim Deegan (My opinions, not the University's) Systems Research Group University of Cambridge Computer Laboratory