Tiny nitpick about #6: I think you meant -l, not -L, the uppercase one is for tweaking the link time libdir searchpath . (like what -I does for headers at compile time).
Neat idea to use linker scripts though, especially if the dynamic loader can be coerced into parsing those
.