summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Joakim Tjernlund writes:Eric Andersen2004-08-063-1/+17
| | | | | PPC32, SPARC32/64 and S390 includes the PLT in its RELA size. This caused ldso to always do unlazy relocation of the JMPRELs. This patch fixes it.
* Joakim Tjernlund writes:Eric Andersen2004-08-062-5/+13
| | | | | | | This patch makes -fpic work for PCC and optimzes the relcation by moving the cache flushing stuff to JMP relocs only. Actually PPCs ldso can only handle small GOT tables(<=8192 entries)anyhow, so it makes little sense to compile PPC with -fPIC. libuClibc shrunk from 340724 to 330780 bytes with -fpic.
* dohEric Andersen2004-08-041-1/+1
|
* Add missing header file needed to define PAGE_SIZEEric Andersen2004-08-041-0/+1
|
* As Joakim Tjernlund rightly notes, I should have used PAGE_SIZEEric Andersen2004-08-031-2/+2
| | | | not the hard coded value of 4096.
* cut-n-paste strikes againEric Andersen2004-07-301-1/+1
|
* Cleanup some dead wood in the header filesEric Andersen2004-07-3015-2866/+22
|
* s/___brk_addr/__curbrk/gEric Andersen2004-07-3024-84/+83
| | | | | | | | 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
* Some mips updates. Add a couple of missing sys/*.h files and update a few ↵Manuel Novoa III2004-07-305-51/+684
| | | | others.
* Teach libdl to use normal libc symbols whenever possible, i.e. mallocEric Andersen2004-07-309-110/+90
| | | | | rather than _dl_malloc, fprintf rather than _dl_printf, etc. -Erik
* Whitespace cleanupEric Andersen2004-07-307-48/+22
|
* Fix screwed up indentingEric Andersen2004-07-301-51/+51
|
* Do not grovel about in the ELF header for the page size whenEric Andersen2004-07-281-2/+5
| | | | running on uClinux, which at runtime uses the FLAT file format.
* Be certain to include sys/sysmacros.h when major() and minor()Eric Andersen2004-07-272-0/+2
| | | | are being used
* Remove all reference to __GLIBC_HAVE_LONG_LONGEric Andersen2004-07-272-10/+8
|
* Support linux 2.6.x wide device major/minor numbersEric Andersen2004-07-261-24/+44
|
* Fix ftruncate64 and truncate64 for powerpc and mipsEric Andersen2004-07-212-10/+52
| | | | -Erik
* Update todo listEric Andersen2004-07-171-6/+4
|
* Update sigaction for armEric Andersen2004-07-171-22/+42
|
* Add sigaction for mipsEric Andersen2004-07-172-1/+124
|
* Follow glibc's lead and add a gcc-3.4.1 required symbol to crt0.S.Manuel Novoa III2004-07-161-0/+6
|
* Hide the arm libfloat support for now. No longer needed for gcc 3.4.1 andManuel Novoa III2004-07-161-1/+5
| | | | | won't be needed for 3.3.4 either when I get some time to clean up that toolchain which also suffers from the g++ include dir search order bug.
* Revert this stuff for nowEric Andersen2004-07-163-48/+9
|
* Pete Popov writes:Eric Andersen2004-07-1666-1/+4601
| | | | | | | | | | | | | Hi Erik, I'm not sure why the NIOS support is not in uClibc -- perhaps the patch was rejected or never submitted? In any case, I'm playing with some NIOS stuff and created this patch against 0.9.26. The work was done by Microtronix. I'm not sure who else contributed to it. It would be great to have the NIOS support available in uClibc so developers don't have to go searching for these bits. Pete
* Cleanup some cruftEric Andersen2004-07-151-3/+0
|
* update packaging a bitEric Andersen2004-07-153-2/+8
|
* Cleanup a few of the more egregiously broken sysconf values toEric Andersen2004-07-153-31/+19
| | | | | | | | actually match reality. In particular, _SC_GETPW_R_SIZE_MAX and _SC_GETGR_R_SIZE_MAX were causing us problems with programs such as libglib, since they were always returning -1, which is a bit smaller than the actual passwd and group max buffer sizes. -Erik
* _SC_PAGESIZE is standard. Some ancient legacy unix variants used _SC_PAGE_SIZEEric Andersen2004-07-151-1/+1
| | | | instead, but we are not such a system and should not propagate such things.
* _SC_PAGESIZE is standard. Some ancient legacy unix variants used _SC_PAGE_SIZEEric Andersen2004-07-151-1/+1
| | | | instead, but we are not such a system and should not propagate such things.
* Use MAP_PRIVATE whenever __ARCH_HAS_MMU__ is set.Eric Andersen2004-07-154-7/+21
| | | | Only use MAP_SHARED when mmu-less.
* Atsushi Nemoto writes:Eric Andersen2004-07-151-18/+13
| | | | | | | | | | | | This is a patch for uClibc/libc/sysdeps/linux/mips/sys/procfs.h pulled from glibc CVS. This fixes gdb with threaded application (with glibc environment). Although debugging threaded programs seems not working on uClibc/mips yet, this patch will be required when it becomes working. This patch can be applied to any version of uClibc (including current CVS).
* h8300 updates from Yoshinori SatoEric Andersen2004-07-1525-421/+788
|
* Patch from Yoshinori Sato to add H8/300 relocation types.Eric Andersen2004-07-151-0/+44
|
* Peter Kjellerstedt at axis.com writes:Eric Andersen2004-07-159-108/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hello, the attached patch should bring extra/config in line with the Linux 2.6.7 sources. The following are the commit messages for the respective files from the Linux bk-repository: checklist.c: * fix menuconfig choice item help display confdata.c: * config: choice fix * kconfig: don't rename target dir when saving config expr.c, expr.h: * config: disable debug prints mconf.c: * fix menuconfig choice item help display menu.c: * Kconfig: use select statements symbol.c: * config: choice fix * Avoid bogus warning about recursive dependencies * c99 struct initialiser conversions textbox.c: * janitor: don't init statics to 0 util.c: * fix lxdialog behaviour //Peter
* Sigh. I got things working this morning, then checked stuff in from the wrongEric Andersen2004-07-145-21/+20
| | | | | tree. Bad boy, No doughnut. -Erik
* Based on a patch from Alexandre Oliva, make sure _dl_malloc returns a nicelyEric Andersen2004-07-145-14/+54
| | | | aligned pointer that may be aligned up to page_size. Also add _dl_free,
* Update FAQ a bitEric Andersen2004-07-051-2/+18
|
* Joakim Tjernlund writes:Eric Andersen2004-06-275-54/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hi yet again :) in dl-startup.c when performing boot strap relocation the following test exists to make sure that only "_dl_" symbols are relocated: /* We only do a partial dynamic linking right now. The user is not supposed to define any symbols that start with a '_dl', so we can do this with confidence. */ if (!symname || !_dl_symbol(symname)) { continue; } However on PPC(and the other archs as well I suspect) all symbols are "_dl_" symbols so the test is never true. The test can be removed and the whole loop simplified(smaller). This also makes it possible to simplify elfinterp.c This remove the scanning of ldso.so relocs, making relocation faster. I have tested this on PPC and it works well. Do you think this optimization will work for the other arches as well? I can't see why not. Jocke * Tested on x86, arm, mipsel, and powerpc by Erik and works nicely -Erik
* Disable support for R_ARM_PC24, just like R_PPC_REL24 these shouldEric Andersen2004-06-241-0/+7
| | | | only occur when shared libs are not compiled with -fPIC
* Let dl-string.h include dl-sysdep.h, since it has proper include guardsEric Andersen2004-06-201-1/+1
|
* Whine about R_PPC_REL24 relocations, and tell people to compileEric Andersen2004-06-201-10/+15
| | | | shared libraries with -fPIC
* Joakim Tjernlund writes:Eric Andersen2004-06-191-6/+5
| | | | | Make old weak symbol handling work, if someone wants to enable it.
* Joakim Tjernlund writes:Eric Andersen2004-06-191-0/+2
| | | | | Since MIPS don't have COPY relocs it seems apropiate to define DL_NO_COPY_RELOCS. This will optimize dl_find_hash somewhat.
* Joakim Tjernlund writes:Eric Andersen2004-06-191-1/+1
| | | | | Glibc does not use COPY class for SHN_COMMOM in MIPS. Make uClibc ldso the same.
* Bradley D. LaRonde writes:Eric Andersen2004-06-191-0/+2
| | | | | | | | | | | | dl-string.h references do_rem, but do_rem is a #define in <arch>/dl-sysdep.h which is not included by dl-sysdep.h. This causes a problem in libdl: In file included from ../../ldso/include/ldso.h:27, from libdl.c:33: ../../ldso/include/dl-string.h: In function `_dl_simple_ltoa': ../../ldso/include/dl-string.h:216: warning: implicit declaration of function `do_rem' Include dl-sysdep.h in dl-string.h before using do_rem.
* note new mailing list posting policyEric Andersen2004-06-191-4/+7
|
* Stephen Hemminger from osdl dot org writes:Eric Andersen2004-06-121-0/+22
| | | | | | | | | | | | | | | | Rather than copy more code back into the bridge-utilities, how about applying this change to uClibc? I hate when packages get cluttered for workarounds for other incompatibilities. The problem is that SIOCGIFCONF only lists interfaces that have IP addresses, so it doesn't find the other interfaces that are being used for bridging. It could be fixed in the kernel to return all interfaces, but then something else might break; and still it mean a kernel update for the 2.4 users. The whole use of ifindex in the bridge API is a bad idea. But we probably have to live with it for compatibility. Patch against uClibc 0.9.26
* Jakub Bogusz from pld-linux dot org writes:Eric Andersen2004-06-126-16/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hello, I managed to get ldso (and thus shared linking to uClibc) to work on sparc (actually sparc64 kernel with 32-bit userspace), at least on simple "hello world" program (more complex ones not tested). Some notes on attached patch (against 0.9.26, would require some work to apply on current CVS - but I tested 0.9.26, not CVS): - ELF magic cannot be examined by _dl_strncmp so early, probably because of string constant, like on ppc/mips/sh (note that early SEND_STDERR still crashes when trying to do _dl_strlen - I suppose that string constants require relocation; but adding load_addr didn't help, just ELF header was displayed instead of crash) - mmap() is syscall6 like on ppc/mips/sh, not old i386 mmap() - for generic sparc (i.e. not sparcv8/sparcv9) gcc produces .udiv/.urem calls for unsigned integer / and % operators - so these operations must be avoided. I copied do_rem definition from arm header. But / and % are used also in _dl_simple_ltoa() and _dl_simple_ltoahex(); in ltoahex gcc optimizes it to shifts (but I think it's safer to use shifts explicitly, not rely on optimization...). I changed % in ltoa to do_rem, but as there was no do_div definition, I changed all "%d" specifiers to "%x" to avoid crashes (this changes wouldn't be needed if _dl_simple_ltoa() were fixed to not use division on sparc). - "#define SOLARIS_COMPATIBLE" in ld_sysdep.h broke ldso on Linux because of redefining _dl_linux_resolve only in some places (it was still referenced in INIT_GOT before redefinition). So _dl_linux_resolve redefinition should be moved before INIT_GOT definition or removed. - sparc64 kernel requires mmap() addresses to be aligned to 8192, not 4096, otherwise mmap() call failed - reloc_entry must be shifted by 10, not 12 (I found similar operation in glibc sources) Aside of sparc-specific fixes: - I moved some _dl_dprintf()s inside if(_dl_debug_*) conditions (to avoid debugging messages when LD_DEBUG is not defined) - it seems that there was possible off-by-one in ltoa and ltoahex? they are called with char[22] as 1st argument, and then '\0' is stored in local[22] (_before_ p decrementation)... or am I missing something? If not, fix is included in patch.
* Philip Craig at snapgear dot com writes:Eric Andersen2004-06-121-1/+10
| | | | Strlen was counting the last 3 bytes incorrectly for big endian arm.
* Per comments from Bernhard Rosenkraenzer, adjust gcc 3.3.x generated asmEric Andersen2004-06-122-38/+24
| | | | with s/i686.get_pc_thunk.bx/get_pc_thunk_bx/g to make gcc 3.4 happy.