summaryrefslogtreecommitdiff
path: root/libc/misc/internals/__uClibc_main.c
AgeCommit message (Collapse)Author
2005-05-25Adapt startup code in x86 and PPC to almost match glibc. _init vs. ↵Joakim Tjernlund
__libc_csu_init and _fini vs. __libc_csu_fini remains to do.
2005-05-21Pass main function ptr from crt1 to __uClibc_start_main.Joakim Tjernlund
Kill old crt0/__uClibc_main. This breaks ABI. All apps and toolchain needs to be recompiled. All archs except x86 are now broken and need to be fixed as x86. PPC will be fixed shortly by me, the rest is left to the arch maintainers.
2005-03-20Prepare for moving ldso FINI handling into libc.Joakim Tjernlund
#define _DL_DO_FINI_IN_LIBC to enable(the arch specific part needs to be in place first).
2004-12-22Patch from Peter S. Mazinger:Eric Andersen
rename UCLIBC_PROPOLICE to UCLIBC_HAS_SSP
2004-10-27Fix up __uClibc_init() for so that we prevent starting SUIDEric Andersen
binaries where the standard file descriptors are not opened. -Erik
2004-08-16I will always test before I commit.Eric Andersen
I will always test before I commit. I will always test before I commit. -Erik
2004-08-16Setup __pagesize from inside __uClibc_init(), or else when registeringEric Andersen
dtors via atexit(), atexit may need to call realloc with __pagesize still set to 0. ugh. -Erik
2004-08-16Be a bit more prominant about the fact that setuid handlingEric Andersen
is not quite there...
2004-08-16The variable used to store pagesize is not the same as theEric Andersen
_dl_pagesize variable in ldso, so avoid aliasing. -Erik
2004-08-13Fixup PAGE_SIZE problemsEric Andersen
-Erik
2004-08-04dohEric Andersen
2004-08-04Add missing header file needed to define PAGE_SIZEEric Andersen
2004-08-03As Joakim Tjernlund rightly notes, I should have used PAGE_SIZEEric Andersen
not the hard coded value of 4096.
2004-07-28Do not grovel about in the ELF header for the page size whenEric Andersen
running on uClinux, which at runtime uses the FLAT file format.
2004-05-11Setup a _dl_pagesize value for use by staticly linked appsEric Andersen
2004-05-11make certain that getpagesize() returns correct the value for mipsEric Andersen
by extracting the value from the ELF header.
2004-05-11Purge trailing white spaceEric Andersen
2004-01-02Peter S. Mazinger writes:Eric Andersen
Hello Erik! I have made some cosmetical changes to the files, removed the added SCRT=-fPIC option from building the crt0.S file (but it is a requirement to build them with -fPIC), and changed some comments. I have left the ldso.c patch with PIE_SUPPORT ifdefs, but consider applying it w/o them (see some earlier comment from PaX Team on this issue, as it is considered a bug). To have it work correctly, you'll also need removing COMPLETELY_PIC. One thing is missing: PIE_SUPPORT should be usable only for i386 (for now). Also added the support for propolice protection (that works for me and catches memcpy/strcpy attacks (but needs a special gcc version). Thanks, Peter
2003-12-27Handle the app_fini stuff in exit without requiring atexit().Manuel Novoa III
This avoids pulling in all the malloc/free code for a simple true/false app.
2003-06-30Yield to yet another glibc-ism and add __prognameEric Andersen
2003-01-23Making atexit weak does nothing for dynamicly linked apps. And forEric Andersen
staticly linked apps it entirely prevents destructors from running unless atexit is called for some other reason. So if they enabled ctor/dtor support we need to have a call to the real atexit for dtors to work properly. If people don't want the extra 4k or so of junk in their static apps, they should leave ctor/dtor support disabled. -Erik
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-26Replace _LIBC_REENTRANT with __UCLIBC_HAS_THREADS__Eric Andersen
-Erik
2002-08-19Call the pthread setup junk early if possible.Eric Andersen
2002-08-08Shuffle things around a bit. Looks a little cleaner.Eric Andersen
-Erik
2002-06-20Cleanup the function pointer comparisionsEric Andersen
-Erik
2002-06-17Ah kant spel mi nameEric Andersen
2002-05-06New locale support (in development). Supports LC_CTYPE, LC_NUMERIC,Manuel Novoa III
LC_TIME, LC_MONETARY, and LC_MESSAGES for the SUSv3 items. Also, nl_langinfo() when real locale support is enabled. New implementation of ctype.h. New implementation of wctype.h. New implementation of most of the string functions (smaller). New implementation of the wcs/wmem functions. These are untested, but they're also just preprocessor-modified versions ot the corresponding str/mem functions. Tweaked qsort and new bsearch. Stuff still pending: stdlib.h and wchar.h mb<->wc functions. I actually have working versions of the stdlib ones, but the reentrant versions from wchar.h require some reworking. Basic replacement and translit support for wc->mb conversions. (groundwork laid). Simple-minded collate support such as was provided by the previous locale implementation. (mostly done -- 8-bit codesets only) Shared mmaping of the locale data and strerror message text.
2002-04-17Patch from Martin Proulx to remove weak_aliases for non ELF compilers inEric Andersen
__uClibc_main for the _stdio_init and _stdio_term functions. Since weak_aliases are defined as hard aliases for non ELF compilers, these 2 symbols ended up to be multiply defined, as those two are defined in stdio.c.
2002-04-01Patches from Yoshinori Sato <qzb04471@nifty.ne.jp> to fix h8300Eric Andersen
support for pthreads and update for the latest and greatest.
2002-03-15Fix non-elf support (in theory). Revert misguided change suggestedEric Andersen
by arcturusnetworks, since Miles Bader reports it is unnecessary. -Erik
2002-03-14Don't call null ctors/dtors.Eric Andersen
-Erik
2002-03-14This should be the last piece needed to make constructors work (usingEric Andersen
a native gcc toolchain). The gcc wrapper still needs some touchups, but we seem to be _there_. Also some touchups to try and shrink uclinux binary sized by stubbing out unneeded stuff. -Erik
2002-03-12Swap in the new stdio code.Manuel Novoa III
2002-02-26Proper support for setting h_errnoEric Andersen
2002-02-21Miles Bader noticed that I'd messed up by always pullingEric Andersen
errno in, regardless of whether it is being used... -Erik
2002-02-20Merge in the pthread library. This is the linuxthreads library taken fromEric Andersen
glibc 2.1.3 and ported to work with uClibc by Stefan Soucek and Erik Andersen (me). Stefan has hacked things up such that linuxthreads runs on MMU-less systems (tested only on arm-nommu). Erik cleaned things up and made it work properly as a shared library. -Erik
2002-02-18Rename __stdio_close_all to __stdio_flush_buffers. Eliminate anEric Andersen
unnecessary variable
2002-02-18Support strong_alias and begin merging usage of weak_functionEric Andersen
2002-02-02Add in support for the Hitach H8/300H architecture,Eric Andersen
contributed by Yoshinori Sato <qzb04471@nifty.ne.jp>
2001-10-11Patch from Miles Bader <miles@lsi.nec.co.jp> to support the v850.Eric Andersen
He sent this patch to me a month ago, but I forgot to apply it...
2001-08-09Make sure the weak aliases are defined before the functions/varsDavid McCullough
they use as stubs, otherwise, some compilers (ie., m68k-elf) tie them to the local symbols and the weak aliases do not work.
2001-06-12Cleanup the toploevel makefile handing of shared libs. Add weak_aliasEric Andersen
define, and set things up so nasty old coff toolchains can now compile things and should actually work again. -Erik
2001-04-06Fix include/errno.h to not use kernel header, and instead use bits/errno.h.Eric Andersen
This required we use _LIBC instead of __LIBC__ to be consistent with glibc. This had some sideffects in sys/syscalls.h. While fixing things, I made everything use __set_errno() for (eventual) thread support. -Erik
2001-02-27For some reason the fancy attribute tags were not working on m68k soDavid McCullough
I followed environ example which uses asm and it seemed to fix the problem nicely. It should be ok on i386. Could some check it please :-)
2001-02-19Make sure errno is 0 before we call main (may have been set while initializing).Manuel Novoa III
2001-02-19Create __uClibc_main to handle what can be done in C instead of each arch'sManuel Novoa III
respective crt0.S. crt0.S should now only be responsible for setting things up to call __uClibc_main(argc, argv, envp), which will do any other necessary setup (setting global __environ, stdio init, etc), call main, and exit. This should ease both maintainance and porting.