summaryrefslogtreecommitdiffstats
path: root/libc/misc/internals/__uClibc_main.c
Commit message (Collapse)AuthorAgeFilesLines
* Add __libc_stack_end to libc.Joakim Tjernlund2005-06-291-1/+2
|
* Add Peter Mazinger fini/crt compat patch. Select DL_FINI_CRT_COMPAT toJoakim Tjernlund2005-05-281-1/+11
| | | | | | | | be able to run apps built with 0.9.27. This also renames __uClibc_start_main to __uClibc_main. This compat option should be removed some time after 0.9.28 is released. Let me know if you don't like this change.
* This commit breaks the entire world (yet again). Calculate theEric Andersen2005-05-261-11/+13
| | | | | | | position of envp in C code based on argv and argp. No need to caclulate that in asm for N arches. This way, we better match what glibc does. All arches will need to be fixed to match up with this change.
* Adapt startup code in x86 and PPC to almost match glibc. _init vs. ↵Joakim Tjernlund2005-05-251-3/+4
| | | | | | __libc_csu_init and _fini vs. __libc_csu_fini remains to do.
* Pass main function ptr from crt1 to __uClibc_start_main.Joakim Tjernlund2005-05-211-20/+3
| | | | | | | | 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.
* Prepare for moving ldso FINI handling into libc.Joakim Tjernlund2005-03-201-3/+7
| | | | #define _DL_DO_FINI_IN_LIBC to enable(the arch specific part needs to be in place first).
* Patch from Peter S. Mazinger:Eric Andersen2004-12-221-2/+2
| | | | rename UCLIBC_PROPOLICE to UCLIBC_HAS_SSP
* Fix up __uClibc_init() for so that we prevent starting SUIDEric Andersen2004-10-271-17/+66
| | | | | binaries where the standard file descriptors are not opened. -Erik
* I will always test before I commit.Eric Andersen2004-08-161-29/+32
| | | | | | I will always test before I commit. I will always test before I commit. -Erik
* Setup __pagesize from inside __uClibc_init(), or else when registeringEric Andersen2004-08-161-31/+31
| | | | | | dtors via atexit(), atexit may need to call realloc with __pagesize still set to 0. ugh. -Erik
* Be a bit more prominant about the fact that setuid handlingEric Andersen2004-08-161-3/+8
| | | | is not quite there...
* The variable used to store pagesize is not the same as theEric Andersen2004-08-161-5/+3
| | | | | _dl_pagesize variable in ldso, so avoid aliasing. -Erik
* Fixup PAGE_SIZE problemsEric Andersen2004-08-131-1/+1
| | | | -Erik
* dohEric Andersen2004-08-041-1/+1
|
* Add missing header file needed to define PAGE_SIZEEric Andersen2004-08-041-0/+1
|
* As Joakim Tjernlund rightly notes, I should have used PAGE_SIZEEric Andersen2004-08-031-2/+2
| | | | not the hard coded value of 4096.
* Do not grovel about in the ELF header for the page size whenEric Andersen2004-07-281-2/+5
| | | | running on uClinux, which at runtime uses the FLAT file format.
* Setup a _dl_pagesize value for use by staticly linked appsEric Andersen2004-05-111-0/+2
|
* make certain that getpagesize() returns correct the value for mipsEric Andersen2004-05-111-3/+25
| | | | by extracting the value from the ELF header.
* Purge trailing white spaceEric Andersen2004-05-111-13/+13
|
* Peter S. Mazinger writes:Eric Andersen2004-01-021-0/+7
| | | | | | | | | | | | | | | | | | | 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
* Handle the app_fini stuff in exit without requiring atexit().Manuel Novoa III2003-12-271-3/+4
| | | | This avoids pulling in all the malloc/free code for a simple true/false app.
* Yield to yet another glibc-ism and add __prognameEric Andersen2003-06-301-0/+3
|
* Making atexit weak does nothing for dynamicly linked apps. And forEric Andersen2003-01-231-3/+5
| | | | | | | | | | 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
* This commit contains a patch from Stefan Allius <allius@atecom.com> to changeEric Andersen2002-10-011-56/+111
| | | | | | | 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.
* Replace _LIBC_REENTRANT with __UCLIBC_HAS_THREADS__Eric Andersen2002-09-261-2/+4
| | | | -Erik
* Call the pthread setup junk early if possible.Eric Andersen2002-08-191-3/+10
|
* Shuffle things around a bit. Looks a little cleaner.Eric Andersen2002-08-081-56/+21
| | | | -Erik
* Cleanup the function pointer comparisionsEric Andersen2002-06-201-7/+7
| | | | -Erik
* Ah kant spel mi nameEric Andersen2002-06-171-1/+1
|
* New locale support (in development). Supports LC_CTYPE, LC_NUMERIC,Manuel Novoa III2002-05-061-0/+12
| | | | | | | | | | | | | | | | | | | | | | 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.
* Patch from Martin Proulx to remove weak_aliases for non ELF compilers inEric Andersen2002-04-171-2/+2
| | | | | | __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.
* Patches from Yoshinori Sato <qzb04471@nifty.ne.jp> to fix h8300Eric Andersen2002-04-011-0/+3
| | | | support for pthreads and update for the latest and greatest.
* Fix non-elf support (in theory). Revert misguided change suggestedEric Andersen2002-03-151-28/+32
| | | | | by arcturusnetworks, since Miles Bader reports it is unnecessary. -Erik
* Don't call null ctors/dtors.Eric Andersen2002-03-141-2/+5
| | | | -Erik
* This should be the last piece needed to make constructors work (usingEric Andersen2002-03-141-26/+32
| | | | | | | 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
* Swap in the new stdio code.Manuel Novoa III2002-03-121-9/+9
|
* Proper support for setting h_errnoEric Andersen2002-02-261-1/+6
|
* Miles Bader noticed that I'd messed up by always pullingEric Andersen2002-02-211-4/+2
| | | | | errno in, regardless of whether it is being used... -Erik
* Merge in the pthread library. This is the linuxthreads library taken fromEric Andersen2002-02-201-16/+15
| | | | | | | | 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
* Rename __stdio_close_all to __stdio_flush_buffers. Eliminate anEric Andersen2002-02-181-6/+4
| | | | unnecessary variable
* Support strong_alias and begin merging usage of weak_functionEric Andersen2002-02-181-9/+26
|
* Add in support for the Hitach H8/300H architecture,Eric Andersen2002-02-021-2/+2
| | | | contributed by Yoshinori Sato <qzb04471@nifty.ne.jp>
* Patch from Miles Bader <miles@lsi.nec.co.jp> to support the v850.Eric Andersen2001-10-111-5/+5
| | | | He sent this patch to me a month ago, but I forgot to apply it...
* Make sure the weak aliases are defined before the functions/varsDavid McCullough2001-08-091-14/+14
| | | | | they use as stubs, otherwise, some compilers (ie., m68k-elf) tie them to the local symbols and the weak aliases do not work.
* Cleanup the toploevel makefile handing of shared libs. Add weak_aliasEric Andersen2001-06-121-3/+12
| | | | | | define, and set things up so nasty old coff toolchains can now compile things and should actually work again. -Erik
* Fix include/errno.h to not use kernel header, and instead use bits/errno.h.Eric Andersen2001-04-061-1/+1
| | | | | | | 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
* For some reason the fancy attribute tags were not working on m68k soDavid McCullough2001-02-271-8/+4
| | | | | | | 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 :-)
* Make sure errno is 0 before we call main (may have been set while initializing).Manuel Novoa III2001-02-191-0/+10
|
* Create __uClibc_main to handle what can be done in C instead of each arch'sManuel Novoa III2001-02-191-0/+80
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.