summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386
AgeCommit message (Collapse)Author
2005-06-25Change L_Scrt1 to __PIC__ and delete old crt0.SJoakim Tjernlund
2005-05-28Add Peter Mazinger fini/crt compat patch. Select DL_FINI_CRT_COMPAT toJoakim Tjernlund
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.
2005-05-28Add back .size for _start Joakim Tjernlund
2005-05-26Clean it up a little.Joakim Tjernlund
2005-05-26Adapt x86 to new __uClibc_start_main.Joakim Tjernlund
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-05-12Added new 'bits/atomic.h' for most of the architectures and the top-level ↵"Steven J. Hill"
'include/atomic.h' to add in new atomic operations for use by NPTL. There are multiple files for PowerPC and Sparc for 'atomic.h'. I will let those architecture maintainers choose the correct file. The files come from glibc in 'sysdeps/ARCH/bits'.
2005-03-20Pass _dl_fini function ptr to __uClibc_start_main().Joakim Tjernlund
To actually use it, one must define _DL_DO_FINI_IN_LIBC globally. That will also break ABI for apps linked with previous version of crtX.S. They must be relinked with this version to work again.
2005-02-12no more cvsMike Frysinger
2005-01-25merge parallel build supportMike Frysinger
2004-12-22Patch from Peter S. Mazinger to simplify PIE handlingEric Andersen
2004-12-22Patch from Peter S. Mazinger to consistantly use "ASFLAGS"Eric Andersen
as the flags for all calls to 'as'
2004-10-14Peter Mazinger writes:Joakim Tjernlund
The attached patch generalizes the use of PIE (all archs are brought in sync that use/mention it: x86/ppc/frv) and makes use of it building the target utils. Tested on x86, ppc should be tested, frv uses -fPIE at one location, but at another place -fpie, I don't know which is correct (could be both) and misses the target addition in Config.in. The test for ppc (requires the earlier sent crt-correction patch to work correctly): enable UCLIBC_PIE_SUPPORT, build uClibc and utils, check: file ./utils/ldd, it should show shared object (instead of executable)
2004-08-21Kill off all support for 'gcc -pg' / 'gprof' style profiling. There is both aEric Andersen
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
2004-08-13Fixup PAGE_SIZE problemsEric Andersen
-Erik
2004-07-30Cleanup some dead wood in the header filesEric Andersen
2004-07-30s/___brk_addr/__curbrk/gEric Andersen
Some utilities, such as valgrind, have a legitimate reason to know the address of the current brk. Since we know such utils will peek under our skirt, we might as well give them what they expect and not use a gratuitously different symbol name. -Erik
2004-06-12Per comments from Bernhard Rosenkraenzer, adjust gcc 3.3.x generated asmEric Andersen
with s/i686.get_pc_thunk.bx/get_pc_thunk_bx/g to make gcc 3.4 happy.
2004-05-14__data_start needs to be added to all crt0.S files that don't currentlyEric Andersen
have it. It is used by the boehm gc, amoung other things.
2004-04-20Cope with gcc 3.4's more aggressive persuit of attribute unusedEric Andersen
2004-02-06Sigh. The 2.6.x kernel removed '__kernel_dev_t' and renamed it asEric Andersen
'__kernel_old_dev_t'. And of course there is no good way to know which is in use except checking linux/version.h. Grumble. This is rather lame, but for now, define __kernel_old_dev_t to be the same as __kernel_dev_t. This will want to be revisited soon. -Erik
2004-01-17Add __data_start needed by boehm garbage collector, in turn needed by libgcj.Manuel Novoa III
2004-01-03And just like that, clone is now fixed.... Previously theEric Andersen
error handling code was mostly broken. -Erik
2004-01-03oopsEric Andersen
2004-01-03Minor changesEric 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-03Lethal noticed that the generated file gmon-start.S was notEric Andersen
being cleaned up.
2003-11-22Remove SAFECFLAGS. It was a workaround for failures in old awk scriptEric Andersen
used to generate the crti.S and crtn.S files. Since we don't use that anymore, keeping the workaround makes no sense. Furthermore, in most cases, SAFECFLAGS was not picking up all the needed flags, causing crti.o and crtn.o to not be built PIC. Which is very bad. Removing SAFECFLAGS and using CFLAGS fixes that as well.
2003-11-08Darn. Fix compilation for soft-float, which I inadvertantlyEric Andersen
broke a couple of days ago. :-(
2003-11-05Begin the conversion to using per-arch crti.S and crtn.SEric Andersen
2003-10-25properly deal with soft-float when profiling as wellEric Andersen
2003-10-18Peter Kjellerstedt writes:Eric Andersen
ln.patch: * Define $(LN) as ln in Rules.mak. * Change all occurrences of ln into $(LN). * Change all constructs like (cd path && ln -sf foo/file file) into $(LN) -sf foo/file path/file. The latter construct is already used in a number of places so it should not be an additional compatibility problem.
2003-10-18Peter Kjellerstedt writes:Eric Andersen
rm.patch: * Define $(RM) as rm -f in Rules.mak and test/Rules.mak (this is the same definition as gmake uses by default). * Change all occurrences of rm and rm -f into $(RM).
2003-10-08Patch from Atsushi Nemoto (with some additions):Eric Andersen
Current uClibc contains only one fpu_control.h and it is i386 version. This is a patch to use platform specific fpu_control.h. All new files come from glibc 2.3.2. This patch is against 0.9.21 but also can be applied to CVS as is.
2003-09-21Fix "subst -g,," problem for SAFECFLAGS.Manuel Novoa III
2003-09-07Some updates from glibc. mjn3 reports this fixes profilingEric Andersen
on i386, at least, so seems like a good thing.
2003-09-07i386/mcount.S expects to call __mcount_internal with the 2 args passedManuel Novoa III
in registers. NOTE: i386/mcount.S really needs to be rewritten. It currently won't work for non-PIC builds.
2003-06-27Revenge of the TypoEric Andersen
2003-06-27add mmap64 for i386Eric Andersen
2003-06-03Kill the runtime fallback to fork and make it be compile timeEric Andersen
2003-06-03Fix brokenEric Andersen
2003-05-30Clone still had a few little PIC problems....Eric Andersen
2003-05-30In a number of places we erroneously used tests such as '#ifdef PIC' when weEric Andersen
should instead have been testing for '#ifdef __PIC__'. This resulted in NON-PIC code getting mixed into the shared library. Oops!!! -Erik
2003-03-04Fix compile when profiling is disabledEric Andersen
2003-03-03Initial effort at adding profiling support.Eric Andersen
2003-02-03Oops. I'd left an extra invocation of sigaction in there...Eric Andersen
2003-01-24Finish up fixing stat and setting various system types.Eric Andersen
2003-01-24Ok, people are probably going to hate me for this... This commit changes theEric Andersen
type of 'struct stat' and 'struct stat64' so they use consistant types. This change is the result of a bug I found while trying to use GNU tar. The problem was caused by our using kernel types within struct stat and trying to directly compare these values with standard types. Trying an 'if (a < b)' when 'a' is an 'unsigned long' and 'b' is an 'int' leads to very different results then when comparing entities of the same type (i.e. time_t values).... Grumble. Nasty stuff, but I'm glad I got this out of the way now. As a result of this fix, uClibc 0.9.17 will not be binary compatible with earlier releases. I have always warned people this can and will happen. -Erik
2003-01-23Update architecture specific support to consistantlyEric Andersen
generate a crt0 and crt1 file. Most arches still need to be updated to call __uClibc_start_main() rather than __uClibc_main().