summaryrefslogtreecommitdiff
path: root/extra/gcc-uClibc/gcc-uClibc.c
AgeCommit message (Collapse)Author
2002-12-12When -shared is specified, meaning they wish to create a sharedEric Andersen
library, we need to disable adding start files (i.e. crt0) since it isn't supposed to be creating an executable, just a shared lib. -Erik
2002-11-27Make support for global constructors and global destructors beEric Andersen
configurable, so people who do not need or want ctor/dtor support can disable it and make their binaries a little bit smaller. -Erik
2002-11-15Ronald Wahl writes:Eric Andersen
since uclibc-0.9.16 I have to specify -fpic during _link_-time or else I get an error from the dynamic linker when I load shared objects. Patch is appended.
2002-11-05Standardize LIBGCC_DIREric Andersen
2002-10-31Ok, this commit is _huge_ and its gonna change the world. I'veEric Andersen
been working on a new config system on and off for about 6 months now, but I've never been fully satisfied. Well, I'm finally am happy with the new config system, so here it is. This completely removes the old uClibc configuration system, and replaces it with an entirely new system based on LinuxKernelConf, from http://www.xs4all.nl/~zippel/lc/ As it turns out, Linus has just merged LinuxKernelConf into Linux 2.5.45, so it looks like I made the right choice. I have thus far updated only x86. I'll be updating the other architectures shortly. -Erik
2002-10-23Make `-nostdlib' and `-nodefaultlibs' work correctly.Miles Bader
2002-10-01This commit contains a patch from Stefan Allius <allius@atecom.com> to changeEric Andersen
how uClibc handles _init and _fini, allowing shared lib constructors and destructors to initialize things in the correct sequence. Stefan ported the SH architecture. I then ported x86, arm, and mips. x86 and arm are working fine, but I don't think I quite got things correct for mips.
2002-09-12Some minor C++ support updatesEric Andersen
2002-08-12Fix the gcc wrapper to include crtbeginS.o and crtendS.o when we are compilingEric Andersen
PIC code, and use crtbegin.o and crtend.o when compiling non-pic code. As was caused problems, esp on powerpc... -Erik
2002-07-31Patch from Alexander Pevzner <pzz@pzz.msk.ru> to fixup things when invoked asEric Andersen
the C++ compiler to to automagically add include/g++ into the include search path, and automagically add -lstdc++ and -lm into the set of automatically linked libraries.
2002-07-05Only enable elf2flt support when using elf toolchainsEric Andersen
-Erik
2002-06-20Add support for doing the mmu-less thingEric Andersen
-Erik
2002-06-20Fix a bug reported by Michael Weiser <michael@weiser.saale-net.de>Eric Andersen
which could cause incorrect invocations of g++. Cleanup a few things. Add a new --uclibc-ctors flag allowing one to apply ctor/dtor support to regular C code. -Erik
2002-03-22It doesn't make sense to supress linking for -i or -r,Eric Andersen
-Erik
2002-03-22Fix incorrect ordering of -L and -l options, which prevented thingsEric Andersen
like iproute2 and XFree86 from linking. -Erik
2002-03-18Add initial support for compiling cpp code.Eric Andersen
-Erik
2002-03-14Setup so ctors/dtors can run. Disabled for now, since they doEric Andersen
add a little bit to binary size... -Erik
2002-02-27Lose the -nostdlib, which causes problems with older binutils, andEric Andersen
add some fflush calls, since it seems streams are not flushed before an exec
2002-02-26Patch from Miles Bader: All the -M* options shouldEric Andersen
suppress linking (right now, only `-M' does).
2002-02-25Yet another iteration...Eric Andersen
2002-02-25Both Miles and Manuel complained about this one. I was silentlyEric Andersen
losing all -Wl calls...
2002-02-23Fix the compiler wrapper yet more...Eric Andersen
2002-02-23Fix a corner case which I had botched.Eric Andersen
-Erik
2002-02-23This should be a little better...Eric Andersen
2002-02-20Several needed cleanups to the gcc wrapper.Eric Andersen
-Erik
2002-01-09Patch from Michael E Brown <mebrown@michaels-house.net> toEric Andersen
support setting DEVEL_PREFIX and BUILD_DIR at runtime instead of having to recompile the wrapper. Minor changes by me.
2001-12-20Oops. I accidentally commited some experimental test codeEric Andersen
(which was broken) yesterday. Revert that bit. -Erik
2001-12-19Update my email address. I am no longer andersen@lineo.comEric Andersen
2001-07-12This commit merges David Schleef's updates to the build system, which aEric Andersen
few tiny fixups here and there from me. Seems to work just fine and will hopefully be a bit better behaved. -Erik
2001-07-05Don't change options on based on path -- use command line options orEric Andersen
ENV variables only. The current behavior violates the principle of least surprise... -Erik
2001-07-03Allow the shared lib loader to fallback on the builddir if everythingEric Andersen
else fails. Let <arch>-uclibc-gcc --uclibc-use-build-dir set the shared lib loader to the one in the builddir's path. -Erik
2001-05-31Added cmdline options --uclibc-use-build-dir and --uclibc-use-rpath so thatManuel Novoa III
those behaviors can be invoked from the command line.
2001-05-31Removed INSTALL_DIR and replaced it with DEVEL_PREFIX, ROOT_DIR, andManuel Novoa III
TARGET_PREFIX to allow more flexibility. Also modified the gcc wrapper to do the right thing if -Wl,--dynamic-linker,xxx is passed on the command line. The gcc wrapper will also check the env variable UCLIBC_GCC_LDOPT for a dynamic linker option at runtime (although command line arg overrides the env variable).
2001-05-30Look's like I need to disable the rpath stuff for now as well.Manuel Novoa III
To build with an uninstaled uClibc, set UCLIBC_GCC=build in your env, or rename it/symlink to it using a name containing the string "build".
2001-05-30Revert behavior of wrapper to not use dynamic linker in the build dir, soManuel Novoa III
those who want to should now be able to compile against uClibc without installing it (using the "build" behavior).
2001-05-27Revert behavior to either INSTALL_DIR or BUILD_DIR but not both. Also, ifManuel Novoa III
using BUILD_DIR and uClibc dynamic linker, use the one in the build dir. If people want the "both dir" behavior, I'll enable it similar to the "build" and "rpath" behaviors. See the comments in the file for how this works.
2001-05-25One last structural change. Install header files to INSTALLDIR/usr/includeEric Andersen
so we now parallel the behavior of the standard tools. Also make sure we check INSTALLDIR/lib and INSTALLDIR/usr/lib for libraries. -Erik
2001-05-21Patch from Andreas Neuhaus <andy@fasta.fh-dortmund.de>Eric Andersen
gcc was looking for crt0 in the wrong dir. Oops!
2001-05-12Ok, this should finish off my massive ro-organization. The sourceEric Andersen
tree is less messy now (which helps), all libraries are placed into uClibc/lib when compiling, all libraries now use a consistant mechanism for being built, all libraries use a consistant naming scheme where the lib name includes the uClibc version number, which makes ldconfig happy and willing to work with us. -Erik
2001-05-03Avoid needing to distinguis between the install dir and the buildEric Andersen
dir. Use both automagically when compiling. -Erik
2001-04-25Revert my ill-advised change to force the shared lib loader to alwaysEric Andersen
be linked. Just make libc.so link vs the shared lib loader and everything works fine. Duh. Thanks to Michael Shmulevich <michaels@jungo.com> for clueing me in. -Erik
2001-04-23Make sure that we list the shared lib loader as a required libEric Andersen
by explicitly linking against it. That way 'ldd' tells us what we need to know. -Erik
2001-04-20Update the gcc wrapper. Changes described in the notes at the top of the file.Manuel Novoa III
2001-04-07Fix dynamic linking bug. If you need -ldl, you must explicitly add theManuel Novoa III
library (path and version!!!) to the args instead. For example, add /lib/libdl.so.1 if DYNAMIC_LINKER is /lib/ld-linux.so.1.
2001-04-06Make a naming change to be consistent with other cross compiling tools.Eric Andersen
Set up a default lib dir off the root of the uClibc compile dir. This really needs more thought, but is good enough for now I think.
2001-02-28This evening I've been investigating why linking with the shared uClibc libraryEric Andersen
was not working when booting busybox as init, even though it workes when run on my desktop system. I made boot floppy with just /dev, a few /etc entries, busybox dynamically linked vs uClibc, and /lib with shared uClibc in it. And just as several people have reported, it didn't work. So I ran 'ldd /bin/true' and it showed 'true' is linked with the shared library loader. But 'ldd ./busybox' showed it was only linked with uClibc. Doh! Of course it couldn't work! This patch fixes the gcc wrapper so when we link with the shared uClibc library, we also always link with the correct shared lib loader. With this patch in place, I have now sucessfully booted busybox linked vs the shared uClibc library. And it works great! -Erik
2001-01-17Set dynamic linker used to /lib/ld-linux.so.1. Changeable in Makefile.Manuel Novoa III
2001-01-17Adapted to handle shared libraries as well as static. Fixed Makefile for m68k.Manuel Novoa III
2001-01-16Oops. Forgot to check these in...Eric Andersen
2001-01-15First pass at making this work with the new libcrt0.o location.Eric Andersen