Age | Commit message (Collapse) | Author |
|
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
|
|
configurable, so people who do not need or want ctor/dtor support
can disable it and make their binaries a little bit smaller.
-Erik
|
|
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.
|
|
|
|
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
|
|
|
|
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.
|
|
|
|
PIC code, and use crtbegin.o and crtend.o when compiling non-pic code. As was
caused problems, esp on powerpc...
-Erik
|
|
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.
|
|
-Erik
|
|
-Erik
|
|
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
|
|
-Erik
|
|
like iproute2 and XFree86 from linking.
-Erik
|
|
-Erik
|
|
add a little bit to binary size...
-Erik
|
|
add some fflush calls, since it seems streams are not flushed before
an exec
|
|
suppress linking (right now, only `-M' does).
|
|
|
|
losing all -Wl calls...
|
|
|
|
-Erik
|
|
|
|
-Erik
|
|
support setting DEVEL_PREFIX and BUILD_DIR at runtime instead
of having to recompile the wrapper. Minor changes by me.
|
|
(which was broken) yesterday. Revert that bit.
-Erik
|
|
|
|
few tiny fixups here and there from me. Seems to work just fine and
will hopefully be a bit better behaved.
-Erik
|
|
ENV variables only. The current behavior violates the principle of
least surprise...
-Erik
|
|
else fails. Let <arch>-uclibc-gcc --uclibc-use-build-dir set the
shared lib loader to the one in the builddir's path.
-Erik
|
|
those behaviors can be invoked from the command line.
|
|
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).
|
|
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".
|
|
those who want to should now be able to compile against uClibc without
installing it (using the "build" behavior).
|
|
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.
|
|
so we now parallel the behavior of the standard tools.
Also make sure we check INSTALLDIR/lib and INSTALLDIR/usr/lib for libraries.
-Erik
|
|
gcc was looking for crt0 in the wrong dir. Oops!
|
|
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
|
|
dir. Use both automagically when compiling.
-Erik
|
|
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
|
|
by explicitly linking against it. That way 'ldd' tells us what
we need to know.
-Erik
|
|
|
|
library (path and version!!!) to the args instead. For example, add
/lib/libdl.so.1 if DYNAMIC_LINKER is /lib/ld-linux.so.1.
|
|
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.
|
|
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
|
|
|
|
|
|
|
|
|