from Hacker News

Relocatable linking

by MaskRay on 11/22/22, 8:16 AM with 3 comments

  • by vaughan on 11/24/22, 11:20 AM

    I wish there was a GUI/visualization for all this.

    Everything is relatively simple to understand when visualized like it would be on a lecture slide. But reading about it in manpages and blog articles is overwhelming.

  • by JonChesterfield on 11/24/22, 1:06 PM

    I thought kernel modules were elf files created by relocatable links but that seems a strange omission from the examples list if so, may be misremembering.

    ld -r elf -o out should be a no-op on well formed input. It means create a file that will be passed to another linker invocation later. So it's a means of composing together N object files to get one file that you can use in place of those N. A little like a library.

    I structured builds like that for a while. Source foo.c to foo.o, directory bar to bar.o containing whatever was in that directory relocatably-linked together, possibly internalising symbols as it goes.