aboutsummaryrefslogtreecommitdiff
path: root/Makefile (follow)
Commit message (Expand)AuthorAgeFilesLines
* abstract out compiler runtime library for linking libc.so•••this allows config.mak to override the default -lgcc for building with other compilers such as pcc/clang/etc. Rich Felker2012-08-021-1/+2
* changes to kernel sigaction struct handling in preparation for mips portRich Felker2012-07-111-1/+1
* improve the build rules for installing /lib/ld-musl-$ARCH.so•••these new rules should avoid spurious error messages when the directory (usually /lib) and the dynamic linker symlink already exist, and minimize the spam when they can't be created. Rich Felker2012-05-041-2/+4
* make all .o files depend on *_impl.h and libc.h•••hopefully the annoyance of this will be minimal. these files all define internal interfaces which can change at any time; if different modules are using different versions of the interfaces, the library will badly break. ideally we would scan and add the dependency only for C files that actually reference the affected interfaces, but for now, err on the side of caution and force a rebuild of everything if any of them have changed. this commit is in preparation for the upcoming ssp overhaul commit, which will change internals of the pthread struct. Rich Felker2012-05-031-2/+3
* PIE support for i386Rich Felker2012-05-021-1/+1
* reorganize Makefile to support "least surprise" config/make semantics•••the major change here is that CFLAGS is now a variable that can be changed entirely under user control, without causing essential flags to be lost. previously, "CFLAGS += ..." was valid in config.mak, but using "CFLAGS = ..." in config.mak would have badly broken the build process unless the user took care to copy the necessary flags out of the main Makefile. I have also added a distclean target that removes config.mak. Rich Felker2012-05-011-11/+23
* remove objcopy --weaken from the makefile•••as far as I can tell, it's not useful and never way. I wrote it way back under the assumption that non-weak symbols in the POSIX or extension namespace could conflict with legitimate uses of the same symbol name in the main program or other libraries, but that does not seem to be the case. Rich Felker2012-05-011-2/+0
* new gcc wrapper, entirely specfile based•••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. Rich Felker2012-04-221-3/+7
* don't fail on inability to install dynamic linker (e.g. if not root)Rich Felker2012-03-171-1/+1
* search internal headers first•••this is necessitated by the ugly <syscall.h> just added Rich Felker2012-03-011-1/+1
* two fixes for "make install" handling of shared libs•••1. don't try to install (and thus build) shared libs when they were disabled in config.mak 2. ensure that the path for the dynamic linker exists before attempting to install it. Rich Felker2012-02-171-1/+2
* fix a few bugs from last dynamic linking build system commit•••some cruft was left and DESTDIR was not being used correctly. Rich Felker2011-06-281-2/+2
* cleanup shared library build system to be more $HOME-local-install friendly•••the path for the dynamic linker is now configurable, and failure to install the symlink for it will not stop the build. Rich Felker2011-06-271-13/+15
* use soname in ld-musl.so to prevent filename appearing in DT_NEEDEDsRich Felker2011-06-241-1/+1
* use symlink rather than bogus linker script for libc.so•••the linker script caused a bogus DT_NEEDED entry Rich Felker2011-06-241-2/+2
* adapt build/install/gcc-wrapper systems for dynamic linking supportRich Felker2011-06-231-5/+15
* various changes in preparation for dynamic linking support•••prefer using visibility=hidden for __libc internal data, rather than an accessor function, if the compiler has visibility. optimize with -O3 for PIC targets (shared library). without heavy inlining, reloading the GOT register in small functions kills performance. 20-30% size increase for a single libc.so is not a big deal, compared to comparaible size increase in every static binaries. use -Bsymbolic-functions, not -Bsymbolic. global variables are subject to COPY relocations, and thus binding their addresses in the library at link time will cause library functions to read the wrong (original) copies instead of the copies made in the main program's bss section. add entry point, _start, for dynamic linker. Rich Felker2011-02-241-3/+3
* avoid deleting the lib/empty fileRich Felker2011-02-171-1/+1
* new solution for empty lib dir (old one had some problems)Rich Felker2011-02-171-7/+5
* improve Makefile handling of git checkouts with missing lib/ and config.makRich Felker2011-02-171-4/+8
* finish unifying thread register handling in preparation for portingRich Felker2011-02-151-1/+1
* preparing build system to handle ports - step 1Rich Felker2011-02-151-0/+6
* ensure that musl is compiled as C99 code & XSI option is available in headersRich Felker2011-02-131-1/+1
* initial check-in, version 0.5.0Rich Felker2011-02-121-0/+97