summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/sh
AgeCommit message (Collapse)Author
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-05-07Fix trapa value for _syscall6() to conform with new sh syscall ABI.Paul Mundt
The old sh system call interface used 0x00 - 0x0f for the trapa value (number of arguments), whereas the new ABI uses the 0x10 - 0x1f range. For some reason we were using an off-by-1 trapa immediate which ended up trashing r1 in the _syscall6() case, so we fix it up..
2005-05-02Fix __sigprocmask weak symbol resolution with gcc4.Paul Mundt
This popped up during a build with gcc4: /home/pmundt/devel/svn/buildroot/build_sh2a_nofpueb/staging_dir/bin/sh2a_nofpueb-linux-uclibc-gcc -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fstrict-aliasing -mprefergot -Os -funit-at-a-time -mb -m2a-nofpu -fno-builtin -nostdinc -D_LIBC -I../../../../include -I. -isystem /home/pmundt/devel/svn/buildroot/build_sh2a_nofpueb/staging_dir/lib/gcc/sh2a_nofpueb-linux-uclibc/4.0.0/include -DNDEBUG -I../ -c longjmp.c -o longjmp.o /tmp/ccWyQbux.s: Assembler messages: /tmp/ccWyQbux.s:45: Error: Local symbol `__sigprocmask' can't be equated to undefined symbol `sigprocmask' make[5]: *** [longjmp.o] Error 1 make[5]: Leaving directory `/home/pmundt/devel/svn/buildroot/toolchain_build_sh2a_nofpueb/uClibc/libc/sysdeps/linux/sh' Stupid gcc.
2005-02-12no more cvsMike Frysinger
2005-01-25merge parallel build supportMike Frysinger
2004-12-22Patch from Peter S. Mazinger to consistantly use "ASFLAGS"Eric Andersen
as the flags for all calls to 'as'
2004-08-25Patch by Carl SHAW <carl.shaw@st.com>...Manuel Novoa III
Below is a patch to make the pread and pwrite calls work on the SH architecture. I've only tested this on the SH4 with a 2.4.24 kernel - a fairly recent kernel is required as the problem is partially fixed in the kernel itself. For more information (in relation to glibc, but the problem is the same) see the thread at http://sourceforge.net/mailarchive/message.php?msg_id=2375908 Someone should really test this on the SH2/3...
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-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-07-16Follow glibc's lead and add a gcc-3.4.1 required symbol to crt0.S.Manuel Novoa III
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-02-05Use 'mmap.c' instead of '_mmap.c'Eric Andersen
2004-01-21Split up syscalls.c, since it had grown to be quite large and ugly.Eric Andersen
-Erik
2003-12-03Lethal noticed that the generated file gmon-start.S was notEric Andersen
being cleaned up.
2003-12-02Add a syscall() implementation using a hacked version of the syscall6 macro.Manuel Novoa III
Untested, but syscall() is needed by busybox for pivot_root at least.
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-11Stefan Allius writes:Eric Andersen
Hello Erik, to compile the new uClibc release for a SH3 we need some little modifications: First I fix the crt[in].S files, so we can use them for big endian and little endian targets.
2003-11-08Darn. Fix compilation for soft-float, which I inadvertantlyEric Andersen
broke a couple of days ago. :-(
2003-11-05Continue 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-05-01setjmp was trashing r12 which is bad and can cause apps to crash if they areDavid McCullough
using r12. r12 is supposed to be preserved across C function calls. r0-r7 are trashable :-)
2003-03-07Patch from Stefan Allius:Eric Andersen
fix a couple of gcc 3.3 compiler warnings in gmon.c
2003-03-06Patch from Stefan Allius to finish off the last required bitsEric Andersen
for gmon profiling support for the SuperH target.
2003-03-03Initial effort at adding profiling support.Eric Andersen
2003-02-17If floating point was enabled, setjmp would write to memory well past theDavid McCullough
end of the buffer.
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().
2002-12-12Based on discussions with Stefan Allius, change it so that we alwaysEric Andersen
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
2002-11-29Silly me, I forgot to include features.hEric Andersen
2002-11-27Make support for global constructors and global destructors beEric Andersen
configurable, so people who do not need or want ctor/dtor support can disable it and make their binaries a little bit smaller. -Erik
2002-11-15Stefan Allius writes:Eric Andersen
I attached a patch, which revise the clone.S and vfork.S: - Use PIC code. - include new file syscall.S, so we can simply make a branch to __syscall_error instead of a PLT/GOT call - call errno_location to store the syscall error (for pthreads) - avoid to use the 'shad' statement on SH2 targets - call fork if vfork isn't available - some cleanups and optimization
2002-11-15Remove obsolete filesEric Andersen
2002-11-15Stefan Allius writes:Eric Andersen
Hi Erik, I added the FPU support for the setjmp/longjmp stuff. This patch also moves the code from the bsd*.S files to the setjmp.S file, so we can use simple branch instructions instead of referencing over the .GOT/.PLT section. This makes the PIC code much easier, smaller and faster. (The idea comes from the SPARC target) Bye Stefan
2002-11-04I dunno why there were align 5, but align 4 is much more sensible.Eric Andersen
2002-11-04Kill sysdep.h and fixup the SH asm to not use it.Eric Andersen
-Erik
2002-11-04Don't use ENTRY(), make the asm explicitEric Andersen
-Erik
2002-11-03Properly prefix some symbolsEric Andersen
2002-10-31Ok, this commit is _huge_ and its gonna change the world. I'veEric Andersen
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
2002-10-09Support O_STREAMINGEric Andersen
2002-10-01Patch from Stefan Allius <allius@atecom.com>:Eric Andersen
----------------------------------- In extra/Configs/Config.sh I added the INCLUDE_PTHREADS statement and change the default values for BUILD_UCLIBC_LDSO and HAVE_SHARED. ----------------------------------- In extra/scripts/initfini.pl My last patch removes two labels, which migth be used by the .size statements. (Sorry, but I'm a perl beginner) I fixed it. ----------------------------------- In libc/sysdeps/linux/common/initfini.c I fixed two warnings "nested extern declaration of `i_am_not_a_leaf.. ----------------------------------- In libc/sysdeps/linux/sh/__init_brl.c brk.c sbrk.c I fixed some compiler warnings which comes from a wrong inclusion order. -----------------------------------
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-05Change <bits/syscall.h> to <bits/sysnum.h>.Miles Bader
2002-08-27Somehow the bit of code that add the offset of envp to argv got lostDavid McCullough
and envp was a very small number and not an address. I think this fixes most of the SH platform.