Age | Commit message (Collapse) | Author |
|
The Arm crt0.S contains non-PIC code for locating _init and _fini sections.
This caused problems on my uclinux system when static constructors were
enabled.
The attached patch implements a PIC version of this code.
Paul
|
|
size and performance penalty to profiling applications this way, as well as
Heisenberg effects, where the act of measuring changes what is measured.
There are better tools for doing profiling, such as OProfile, that do not
require gcc to instrument the application code.
-Erik
|
|
have it. It is used by the boehm gc, amoung other things.
|
|
|
|
|
|
and so it actually works as intended allowing binaries on ARM to be
debugged.
-Erik
|
|
a bit more nicely, and make _init and _fini be weak
for people with broken compilers
-Erik
|
|
build a crt0.o and a crt1.o. crt1.o will support ctors and dtors if
such support is enabled. One more gratuitous toolchain support issue
is thereby removed...
-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
|
|
This patch from David Meggy fixes it...
|
|
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.
|
|
(undefined reference to `main') when the .o file containing main was contained
in an static library(a '.a' ar archive). It turns out that due to its single
pass nature, GNU ld was failing to pull it into the build. This sticks a dummy
reference to main() into crt0.o, so that when an application is linked with the
main() function in a static library, we can be sure that main() actually gets
linked in.
-Erik
|
|
these stubs were preventing the real stuff from working properly.
-Erik
|
|
arg processing whether they are using PIC or not, and vice-versa for the
MMU folks.
|
|
* reduce the sigset types to 32 bits (I've mentioned this before)
I think I saw this change go in for another platform anyway ;-)
* Do not use _IO_FILE as it clashes with the C++ libraries which know
too much about how glibc workds :-(
* Do not use _G_va_list for the same reason.
* remove the CTORS/DTORS from crt0.S for ARM as the compiler provided
crtbegin.o and crtend.o have these (and only these) already in them and
you get multiple defined errs :-(
|
|
|
|
|
|
as a shared library, using the glibc shared lib loader. :-)
I've updated the pic case but havn't tested it yet.
-Erik
|
|
we don't blow up by using too much stack space, and simplifies the job of
supporting new architectures, since they don't have to mess with calling foo
init functions in crt0 and cleaning up the resulting damage.
-Erik
|
|
in crt0.S and Michiel Thuys <michiel.thuys@intersil.com> noticed
the same thing in crt0pic.S.
-Erik
|
|
|
|
|
|
|
|
|