Age | Commit message (Collapse) | Author | Lines |
|
the specfile for the wrapper was written assuming output is pie only
if -pie appears on the command line. recent (and older patched)
versions of gcc can be configured to produce pie output by default,
adn when used with such a toolchain, the wrapper linked the wrong
startfiles (crt*) containing pic-incompatible code.
rather than trying to figure out gcc's default, simply always use the
pic-compatible start files.
|
|
|
|
they are intentionally listed after the libc include directory so that
the gcc float.h, etc. don't get used in place of the libc ones.
|
|
this is needed in case -lgcc is passed explicitly on the link command
line, for example if the wrapper is being used to build musl itself.
|
|
this is not tested yet, but should work to get rid of unwanted
--hash-style=gnu hacks present in some distro-patched gcc versions.
|
|
linking the wrong crt1.o resulted in textrels and thus crashing
|
|
the _concept_ of this wrapper has been tested extensively, but the
integration with the build/install system, and using a persistent
specfile rather than one generated at build-time, have not been
heavily tested and may need minor tweaks.
this approach should be a lot more robust (and easier to improve) than
writing a shell script that's responsible for trying to mimic gcc's
logic about whether it's compiling or linking, building shared libs or
executable files, etc. it's also lighter weight and should result in
mildly faster builds when using the wrapper.
|