Smlrl: Difference between revisions

From OSDev Wiki
Jump to navigation Jump to search
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"