summaryrefslogtreecommitdiff
path: root/libc
AgeCommit message (Collapse)Author
2007-03-06Add posix_fadvise posix_fadvise64 for arm.Khem Raj
Import INTERNAL_SYSCALL macro for i386 from glibc. Use above macro in posix_fadvise implementation if an arch defines it.
2007-03-01Fix compiler warning about shadowed declaration.Khem Raj
2007-03-01Should be __sigset_t instead of sigset_t.Khem Raj
2007-02-28add support for ppoll() and emulate poll() with it when __NR_poll does not existMike Frysinger
2007-02-28Add a hack for compiling a 32 bit user space with a 64 bit kernel on x86_64Eric Andersen
2007-02-28ifdef out RTLD defines we dont actually support nor are in POSIXMike Frysinger
2007-02-22need to double check internal errno handling wrt libpthreadMike Frysinger
2007-02-21add missing file for previous commit as pointed out by Peter KjellerstedtMike Frysinger
2007-02-21redo errno handling so that it should work both in thread and non-threaded ↵Mike Frysinger
situations
2007-02-15Atsushi Nemoto writes:Mike Frysinger
When I imported INLINE_SYSCALL, etc. from glibc, I just copied whole macros for each ABI. Actually, except for argument type (long vs. long long), internal_syscall[0-4] are identical for all ABI, and internal_syscall[5-6] for N32/N64 are identical for N32/N64. And I just disabled FORCE_FRAME_POINTER since it had caused build failure, but including <alloca.h> can solve it. Here is a patch to handle these issues, plus asm/__asm__ and volatile/__volatile__ conversion. Thanks for Peter S. Mazinger who did basic work of this cleanup.
2007-02-13Add missing bits/fenv.h that got lost in the e500 port.Joakim Tjernlund
clean up E500 math support somewhat. From Steve Papacharalambous with mods by me.
2007-02-12Impl. linux syscalls sched_getaffinity/sched_setaffinity butJoakim Tjernlund
protect its use by #ifdef INTERNAL_SYSCALL since not all arch's has INTERNAL_SYSCALL. All arch's not having INTERNAL_SYSCALL in libc/sysdeps/linux/<arch>/bits/syscalls.h should get an update from glibc.
2007-02-12Updates from glibc.Joakim Tjernlund
2007-02-12Rehash the PowerPC e500 port to avoid creating symlinks Joakim Tjernlund
in the powerpc arch code and make more code common with classic PowerPC. From Steve Papacharalambous Lets hope I didn't break something.
2007-02-12Atsushi Nemoto writes:Mike Frysinger
Current ucontext_t does not match with kernel's definition. Also, on N32 ABI, we can not use kernel's struct sigcontext since kernel's sizeof(long) and user's sizeof(long) is differ. For both data structure, just importing header files from recent glibc fixes the mismatch. So here is a patch importing sys/ucontext.h and bits/sigcontext.t from glibc-2.5.
2007-02-12Removed a .align 2 by mistake in previous commit.Joakim Tjernlund
2007-02-12Remove #APP/#NO_APP since -std=gnu99 will makeJoakim Tjernlund
gcc barf otherwise.
2007-02-11Atsushi Nemoto writes:Mike Frysinger
This patch imports INLINE_SYSCALL, etc. from glibc-2.5 ports and implements _syscall[0-7] by using them, like arm and powerpc. I think this patch does not change functionality, but gives better __SYSCALL_CLOBBERS for N32/N64.
2007-02-10we dont actually need asm/page.hMike Frysinger
2007-02-09Atsushi Nemoto writes: Add st_[amc]timensec to N32/N64 version of stat, add ↵Mike Frysinger
st_[amc]time_nsec to each kernel_stat, and define STAT_HAVE_NSEC to convert them
2007-02-08revert 17821, wait for better test casesEric Andersen
2007-02-08do not use ghbn_buf after it goes out of scopeEric Andersen
2007-02-08Miguel Angel Alvarez writes:Eric Andersen
Hi. I have found a bug in realpath that did not allow me to use it with symlinks. Although I am using 0.9.28.1, the bug is present in 0.9.28 and also in the trunk. I attach a suggested patch. Please let me know if the solution is correct.
2007-02-08handle file_name==NULL and file_name=="" as required by POSIXMike Frysinger
2007-02-08Paul Brook writes:Mike Frysinger
I'm seeing a hang in applications that open and close files with a non-threaded uClibc. There is code in fclose() to remove a file handle from _stdio_openlist however it's commented out, allegedly because it is dead. _stdio_openlist is used in several places, including _stdio_term when a program exits. fclose() frees the struct, so I don't see how the code can possibly be redundant. In the __UCLIBC_HAS_THREADS__ && __STDIO_BUFFERS case the file is removed from _stdio_openlist by __STDIO_OPENLIST_DEC_USE. The attached patch fixes this bug be re-enabling the code.
2007-02-08pull in features.h so we have access to config definesMike Frysinger
2007-02-07sh crti.S needs features.h to resolve __HAVE_SHARED__, trivial patchPaul Mundt
from Carmelo Amoroso <carmelo73@gmail.com>.
2007-02-04Add support for PowerPC e500, libc part only.Joakim Tjernlund
Math support to be done. From Steve Papacharalambous, stevep@freescale.com
2007-02-04fixup includes so we compile againMike Frysinger
2007-02-04the sun rpc code has too many alias violations to worry over now; just ↵Mike Frysinger
disable strict-aliasing until someone gets the balls to clean this stuff up
2007-02-04fix compiling and touchup styleMike Frysinger
2007-02-04sync some stuff from glibc to fix test build failureMike Frysinger
2007-02-02Make sure struct stat is identical to struct stat64 ifPeter Kjellerstedt
__USE_FILE_OFFSET64 is defined. This was the case for all architectures except those that use packed structures by default (i.e., CRIS).
2007-02-02Ronald Maeder writes:Eric Andersen
I have successfully made gethostbyname_r(), res_init(), and gethostid() fully reentrant. In addition, I have added a NULL check to inet_aton(). This is where SEG FAULTs were coming from when gethostbyname_r() was called.
2007-02-02use the correct lock for access to __nameserver[]Eric Andersen
2007-02-02fix lock namingEric Andersen
2007-02-02Ronald Maeder writes:Eric Andersen
Hi Erik, Thanks for all your great work. I found a set of bugs in resolv.c . Basically, there is code that looks like: BIGLOCK; __nameserversXX=__nameservers; __nameserverXX=__nameserver; BIGUNLOCK; i = __dns_lookup(dname, type, __nameserversXX, __nameserverXX, &packet, &a); which is a problem because the declarations are int __nameservers; char * __nameserver[MAX_SERVERS]; int __searchdomains; char * __searchdomain[MAX_SEARCH]; so you can see that __nameserver is a pointer. Copying the pointer to __nameserverXX doesn't protect the global variable space. I have attached a patch and the new file. I hope you will incorporate these bug fixes. I spent quite a bit of time tracking them down. Many thanks, Ron
2007-02-02fix obvious bug in ipv4/ipv6 resolving. When not using AF_INET,Eric Andersen
gethostbyname2_r tries to resolve an ipv6 address from /etc/hosts using get_hosts_byname_r, but with AF_INET instead of the supplied address family. This returns ipv4 addresses marked as ipv6 ones. Fix from nbd.
2007-01-30- should look if LFS is enabled as suggested by pkj in #1131. This generates ↵Bernhard Reutner-Fischer
identical cc1 input for LFS enabled (compared to before r17652) but makes sure that we pickup the non-LFS if LFS is turned off (like r17652 did in this case).
2007-01-29- fix compilation of GNU glob with !LFSBernhard Reutner-Fischer
Sounds like a typo, really
2007-01-29Richard Sandiford writes:Mike Frysinger
However, retesting on m68k showed up a problem that had appeared in uClibc since the last time I tried. Specifically, revision 15785 did: -#define HEAP_GRANULARITY (sizeof (HEAP_GRANULARITY_TYPE)) +#define HEAP_GRANULARITY (__alignof__ (HEAP_GRANULARITY_TYPE)) -#define MALLOC_ALIGNMENT (sizeof (double)) +#define MALLOC_ALIGNMENT (__alignof__ (double)) The problem is that (a) MALLOC_HEADER_SIZE == MALLOC_ALIGNMENT (b) the header contains a size value of type size_t (c) sizeof (size_t) is 4 on m68k, but... (d) __alignof__ (double) is only 2 (the largest alignment used on m68k) So we only allocate 2 bytes for the 4-byte header, and the least significant 2 bytes of the size are in the user's area rather than the header. The patch below fixes that problem by redefining MALLOC_HEADER_SIZE to: MAX (MALLOC_ALIGNMENT, sizeof (size_t)) (but without the help of the MAX macro ;)). However, we really would like to have word alignment on Coldfire. It makes a big performance difference, and because we have to allocate a 4-byte header anyway, what wastage there is will be confined to the end of the allocated block. Any wastage will also be limited to 2 bytes per allocation compared to the current alignment. I've therefore used the __aligned__ type attribute to create a double type that has at least sizeof (size_t) bytes of alignment. I've introduced a new __attribute_aligned__ macro for this. It might seem silly protecting against old or non-GNU compilers here, but the extra alignment is only an optimisation, and having the macro is more in the spirit of the other attribute code.
2007-01-29- s/if USE___THREAD/if defined USE___THREAD && USE___THREAD/gBernhard Reutner-Fischer
2007-01-29pull in unistd.h for syscall() prototypeMike Frysinger
2007-01-29fix from Atsushi Nemoto for displaying of 64bit typesMike Frysinger
2007-01-29fix from Roman Kononov for reading in of 64bit typesMike Frysinger
2007-01-29sync some fixes from glibcMike Frysinger
2007-01-28sync with glibc as pointed out by Bernhard FischerMike Frysinger
2007-01-28- commentary typo fixBernhard Reutner-Fischer
2007-01-28initial waitid() implementationMike Frysinger
2007-01-28need string.h for memset()Mike Frysinger