Smlrl: Difference between revisions
From OSDev Wiki
Jump to navigation
Jump to search
(→Disadvantages: Relocations are now supported in PEs.)
No edit summary
Line 5:
Line 5:
* Free
* Free
* Supported input formats: [[ELF]] (for both 16-bit and 32-bit code)
* Supported input formats: [[ELF]] (for both 16-bit and 32-bit code)
* Supported output formats: [[COM]], [[MZ]], [[PE]], [[ELF]], [[a.out]], flat
* Supported output formats: [[COM]], [[MZ]], [[PE]], [[ELF(追記) ]], [[MACH-O (追記ここまで)]], [[a.out]], flat
* Can set the code address
* Can set the code address
* Supports .a (ELF) library files
* Supports .a (ELF) library files
Line 11:
Line 11:
=== Disadvantages ===
=== Disadvantages ===
* No 64-bit support
* No 64-bit support
* Produces non-relocatable [[ELF]] for a given or default address (however, [[PE]] and [[a.out]] are relocatable)
* Produces non-relocatable [[ELF(追記) ]] and [[MACH-O (追記ここまで)]] for a given or default address (however, [[PE]] and [[a.out]] are relocatable)
* May not work with ELF files produced by anything other than [[NASM]], [[YASM]], [[FASM]]
* May not work with ELF files produced by anything other than [[NASM]], [[YASM]], [[FASM]]
* Strips debugging information
* Strips debugging information
Latest revision as of 11:27, 17 October 2017
The Smaller C Linker (smlrl) comes with the Smaller C compiler.
About
Advantages
- Free
- Supported input formats: ELF (for both 16-bit and 32-bit code)
- Supported output formats: COM, MZ, PE, ELF, MACH-O, a.out, flat
- Can set the code address
- Supports .a (ELF) library files
Disadvantages
- No 64-bit support
- Produces non-relocatable ELF and MACH-O for a given or default address (however, PE and a.out are relocatable)
- May not work with ELF files produced by anything other than NASM, YASM, FASM
- Strips debugging information
- Can't create shared libraries
See Also
External
Retrieved from "https://wiki.osdev.org/index.php?title=Smlrl&oldid=21623"