summaryrefslogtreecommitdiff
path: root/libc
AgeCommit message (Collapse)Author
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
2007-01-28make sure we clear out the buffer so that random garbage on the stack doesnt ↵Mike Frysinger
screw us up
2007-01-28Paul Brook writes:Mike Frysinger
The patch below tweaks the ARM nommu startup code so that doubleword stack alignment is preserved. This is required on EABI targets.
2007-01-27fix from blackfin repo: Jie Zhang writes: update __kernel_ipc_pid_t, ↵Mike Frysinger
__kernel_uid_t and __kernel_gid_t types to match actual kernel types
2007-01-27fix from blackfin repo: Jie Zhang writes: Passing NULL as the second ↵Mike Frysinger
argument to utimes () if the second argument to utime () is NULL as the kernel will take care of getting/setting current time
2007-01-24fix from Bryan Wu: return NULL upon error, not the NULL stringMike Frysinger
2007-01-22Recognize _SC_MONOTONIC_CLOCK in sysconf() even if __NR_clock_getresPeter Kjellerstedt
is not defined.
2007-01-21- repair misplaced #endif that got introduced in r17410. Fixes compilation.Bernhard Reutner-Fischer
2007-01-20Disable declarations for NPTL."Steven J. Hill"
2007-01-20The case for _SC_MONOTONIC_CLOCK should only exist if 'clock_getres' does."Steven J. Hill"
2007-01-20- Trim superfluous trailing whitespace. No obj-code changes.Bernhard Reutner-Fischer
2007-01-11Peter Mazinger pointed out that my last commit was faulty.Joakim Tjernlund
This should fix it.
2007-01-10merge from blackfin.uclinux.org: AdjustMike Frysinger
crt1.S so that __uClibc_main is called properly
2007-01-10Fix SEGV for static builds in exit() path.Joakim Tjernlund
Leave the now obsolete libc/misc/pthread dir in for now.
2007-01-10need to keep __check_rhosts_file exported for proper rhost controlMike Frysinger
2007-01-10sync with upstream blackfin.uclinux.orgMike Frysinger
2007-01-09Aurelien Jacobs writes:Joakim Tjernlund
After our last update a new compilation breakage appeared when compiling gcc: /home/aurel/geex/geexbox/build.i386/toolchain/i386-pc-linux-uclibc/sysroot/usr/include/bits/uClibc_stdio.h:346: error: expected initializer before 'attribute_hidden' Some investigations revealed that the following changeset is responsible for this breakage: http://uclibc.org/cgi-bin/viewcvs.cgi/trunk/uClibc/libc/sysdeps/linux/common/bits/uClibc_stdio.h?rev=16801&r1=16793&r2=16801&diff_format=h Reverting just one hunk of this changeset fixed the problem us. I'm not sure this is the right fix, but please see attached patch. Look good to me.
2007-01-05Support SecurePLTs for PowerPC. You need a toolchain that supportsJoakim Tjernlund
config option --enable-secureplt. The assembler must also supports R_PPC_REL16* relocations. gcc 4.1.1 and binutils 2.17 is known to do this.
2007-01-05Atle Nissestad writes: The attached patch fixes compilation of the current ↵Mike Frysinger
svn on the nios2 platform, and updates the crt1/n/i.S files to get CTOR/DTOR-support to work.
2006-12-22- provide a hidden_def for fputc_unlocked that is aliased to __fputc_unlocked.Bernhard Reutner-Fischer
Fixes undefined references to __fputc_unlocked when calling fputc().
2006-12-20Paul Brook writes:Mike Frysinger
When building an arm-uclinux toolchain withthreading disabled I get: libc/stdio/getchar.c:26: error: 'getchar' aliased to undefined symbol 'getchar_unlocked' It looks like it's missing libc_hidden_def(getchar_unlocked). Patch below fixes this.
2006-12-17rename local "brk" var so it doesnt namespace collide with the brk() functionMike Frysinger
2006-12-15Patch from Bernhard Fischer:Eric Andersen
fix compilation if PUTC_MACRO and/or GETC_MACRO is turned off
2006-12-14fix building when __NR_sigalstack does not existMike Frysinger
2006-12-14if __NR_lseek is not defined, then we fall back to calling the 64bit lseekMike Frysinger