-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suport ELF as object format #12
Comments
There is objconv, https://www.agner.org/optimize/#objconv which can
convert elf to omf, obj files and libraries. There is
http://www.os2site.com/sw/dev/gcc/misc/elfomf.zip for which the source
sadly seems to be lost and also XFree86 has an elf loader in the xserver
so we could directly load Linux video modules, needed gcc-elf to build.
Knut might know more about elfomf.
|
@dryeo thanks for the info. OTOH, converting ELF to OMF kinda beats the whole purpose. We will lose all ELF benefits we need. The only way to go here is link ELF directly to LX (or provide an ELF loader to avoid the LX stage at all — this is where Knut's work could be useful I guess). Anyway, there is no plans to work on that any time soon. Low priority. |
Also Odin WIN32K.SYS driver is able to load directly ELF executables; unfortunately the driver works with older kernels, it misses alignment required to use newer kernels. |
Currently, GCC for OS/2 compiles sources into
a.out
object files. Which are then converted to OMF withemxomf.exe
and linked to an OS/2 LX executable (EXE or DLL) usingwlink
from OpenWatcom orilink
from IBM VisualAge C (not actually suitable for modern C++ and therefore not supported by us, mainly because it's very dead).Such a pipeline has many drawbacks. First, it's very slow as includes a separate step of converting A.OUT to OMF. Second, A.OUT is very old and is not suitable for some applications per se. See #11 for one example. Third, there are lots of limitations on the debug information in both A.OUT and OMF (both are very old).
We need to find a way to link ELF objects to LX executables. Then we will be able to configure GCC so that it will generate ELF on OS/2 and we are done. There are rumors that
wlink
already supports linking ELF to LX. This needs checking.The text was updated successfully, but these errors were encountered: