summaryrefslogtreecommitdiff
path: root/libc
AgeCommit message (Collapse)Author
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
2006-12-12Fix/disable locking when pthreads is disabledEric Andersen
2006-12-12sort out a few issues that show up on mipsEric Andersen
2006-12-11mostly revert the locking changes for 'malloc', as the implementationEric Andersen
does not easily lend itself to becoming complete pthread cancelation safe without first investing in some deep and serious thought... The other malloc implementations are pthread cancelation safe, and this one is mostly used for uClinux, where the lack is at least less likely to be a common problem.
2006-12-11fix building when pthread support is disabledMike Frysinger
2006-12-11dont try and compile if the MMU is disabledMike Frysinger
2006-12-11need endian.h for __LONG_LONG_PAIR() macroMike Frysinger
2006-12-11cleanup styleMike Frysinger
2006-12-11create new menu so people can select what format they wish to build uClibcMike Frysinger
2006-12-09these weaks are also needed in libc.so for the time beingEric Andersen