OSDN Git Service
Manuel Novoa III [Wed, 27 Oct 2004 22:07:52 +0000 (22:07 -0000)]
Jocke's patch was almost right. Just needed move the DT_MIPS_RLD_MAP test
up a bit. Native and remote debugging of shared libs and threaded apps now
works on mips.
Eric Andersen [Wed, 27 Oct 2004 09:44:00 +0000 (09:44 -0000)]
Fix up __uClibc_init() for so that we prevent starting SUID
binaries where the standard file descriptors are not opened.
-Erik
Eric Andersen [Wed, 27 Oct 2004 07:26:21 +0000 (07:26 -0000)]
Arrange to hide uClibc internals
Eric Andersen [Tue, 26 Oct 2004 20:48:39 +0000 (20:48 -0000)]
Update TODO list
Eric Andersen [Tue, 26 Oct 2004 20:48:18 +0000 (20:48 -0000)]
Atsushi Nemoto writes:
>>>>> On Tue, 19 Oct 2004 13:28:34 -0600, Erik Andersen <andersen@codepoet.org> said:
>> BTW, top of uClibc TODO list is "Fix syscall() on mips". What is a
>> problem?
andersen> It appears that uClibc's syscall() for mips works ok for
andersen> syscalls with a few arguments. But as I recall, it does not
andersen> work properly with _syscall5, _syscall6, _syscall7, etc.
andersen> Perhaps there is some mistake in its assumptions about the
andersen> mips/linux ABI regarding which syscall arguments are passed
andersen> via register vs which syscall arguments are passed on the
andersen> stack.
Hmm... I found a old fix in uClibc ML archive.
http://www.uclibc.org/lists/uclibc/2002-September/004459.html
But it seems somewhat broken. How about this fix instead? I tested
mmap with syscall() in mips. mips64 is not tested.
Eric Andersen [Tue, 26 Oct 2004 07:49:47 +0000 (07:49 -0000)]
We don't need this README
Eric Andersen [Tue, 19 Oct 2004 20:10:18 +0000 (20:10 -0000)]
Peter S. Mazinger writes:
Hello!
Would the attached patch be acceptable (maybe instead of
__libc_gettimeofday using __gettimeofday)
We have some issues, see
http://bugs.gentoo.org/show_bug.cgi?id=65892
Eric Andersen [Tue, 19 Oct 2004 19:24:13 +0000 (19:24 -0000)]
Atsushi Nemoto writes:
In a recent post to linux-mips ML (and libc-alpha ML), a problem with
inline syscalls was reported.
http://www.linux-mips.org/archives/linux-mips/2004-10/msg00142.html
It seems uClibc should be fixed also for newer gcc. Here is a patch.
Eric Andersen [Mon, 18 Oct 2004 06:31:51 +0000 (06:31 -0000)]
Corrent HOWTO url
Eric Andersen [Mon, 18 Oct 2004 06:31:18 +0000 (06:31 -0000)]
mention scratchbox and openembedded
Manuel Novoa III [Fri, 15 Oct 2004 08:25:36 +0000 (08:25 -0000)]
Rip out Peter's unacceptable "fix" and do the sane thing instead; build
the utils using the uClibc-targeted toolchain.
Joakim Tjernlund [Thu, 14 Oct 2004 15:23:51 +0000 (15:23 -0000)]
unmap ld.so.cache when dlopen() returns.
Joakim Tjernlund [Thu, 14 Oct 2004 10:10:34 +0000 (10:10 -0000)]
hmm, somehow cvs lost this file in the previous commit.
Joakim Tjernlund [Thu, 14 Oct 2004 10:08:03 +0000 (10:08 -0000)]
Peter Mazinger writes:
The attached patch generalizes the use of PIE (all archs are brought in
sync that use/mention it: x86/ppc/frv) and makes use of it building the
target utils.
Tested on x86, ppc should be tested, frv uses -fPIE at one location, but
at another place -fpie, I don't know which is correct (could be both) and
misses the target addition in Config.in.
The test for ppc (requires the earlier sent crt-correction patch to work
correctly):
enable UCLIBC_PIE_SUPPORT, build uClibc and utils, check:
file ./utils/ldd, it should show shared object (instead of executable)
Joakim Tjernlund [Thu, 14 Oct 2004 09:53:15 +0000 (09:53 -0000)]
Peter Mazinger writes:
The attached patch is an updated version of an earlier sent patch
It solves the problem that the target utils (ldconfig/ldd/iconv, readelf
is not handled, but can be easily added) are not built w/ the newly
created [S]crt[01].o files.
Joakim Tjernlund [Thu, 14 Oct 2004 09:24:43 +0000 (09:24 -0000)]
Don't SEGV if library not found.
Joakim Tjernlund [Thu, 14 Oct 2004 07:44:43 +0000 (07:44 -0000)]
Remove unused stuff. From Peter Mazinger.
Joakim Tjernlund [Tue, 12 Oct 2004 10:48:28 +0000 (10:48 -0000)]
Mark Rakes writes:
without LDSO_CACHE_SUPPORT turned on, LDSO_CONF and LDSO_CACHE are
not defined anywhere, but still used by ldconfig.c This patch allows
ldconfig to build again, although there may be a cleaner way to fix
this????
Applied with minor modification.
Joakim Tjernlund [Mon, 11 Oct 2004 20:57:11 +0000 (20:57 -0000)]
Undo previous change. Leave SUID programs alone until I know what to do
with them.
Joakim Tjernlund [Mon, 11 Oct 2004 08:15:32 +0000 (08:15 -0000)]
Don't use ld.so.cache for SUID programs.
Eric Andersen [Fri, 8 Oct 2004 10:50:49 +0000 (10:50 -0000)]
link to uClibc++, minor FAQ updates
Eric Andersen [Fri, 8 Oct 2004 07:58:30 +0000 (07:58 -0000)]
As noticed by egor duda, current_menu is declared as 'extern struct menu
*current_menu;' in scripts/config/lkc.h line 63, and this conflicts with
static definition in mconf.c.
Joakim Tjernlund [Thu, 7 Oct 2004 18:57:40 +0000 (18:57 -0000)]
Remove _dl_parse_copy_information() for CRIS per Peter Kjellerstedts request.
Eric Andersen [Thu, 7 Oct 2004 14:06:06 +0000 (14:06 -0000)]
Put back ucontext.h, but omit function prototypes for getcontext(),
makecontext(), setcontext(), and swapcontext() which are marked as
obsolescent by SuSv3, and are not implemented by uClibc.
Joakim Tjernlund [Thu, 7 Oct 2004 13:48:21 +0000 (13:48 -0000)]
Remove usage of _dl_parse_copy_information() from generic code.
Remove definition of _dl_parse_copy_information() for powerpc.
Remaining archs can do the same.
Make debugging output of "relocation processing: xxx" a bit more sane.
Eric Andersen [Thu, 7 Oct 2004 09:20:09 +0000 (09:20 -0000)]
Add ualarm.c
Eric Andersen [Thu, 7 Oct 2004 03:01:54 +0000 (03:01 -0000)]
Hide a bunch of unimplemented time function prototypes, and
mark them as mjn3's problem. :-)
Eric Andersen [Thu, 7 Oct 2004 02:45:58 +0000 (02:45 -0000)]
Remove ucontext.h. We do not implement any of these functions.
Eric Andersen [Thu, 7 Oct 2004 02:42:34 +0000 (02:42 -0000)]
Remove unimplemented non-SuSv3 function prototypes
Eric Andersen [Thu, 7 Oct 2004 02:18:56 +0000 (02:18 -0000)]
implement SuSv3 required ualarm()
Eric Andersen [Thu, 7 Oct 2004 01:53:04 +0000 (01:53 -0000)]
uClibc does not support getutent_r, getutid_r, and getutline_r,
and SuSv3 does not require r specify them. So kill the prototypes.
Eric Andersen [Wed, 6 Oct 2004 19:13:06 +0000 (19:13 -0000)]
Remove empty file
Joakim Tjernlund [Wed, 6 Oct 2004 13:23:13 +0000 (13:23 -0000)]
Peter S. Mazinger writes:
Corrects libpthread_db name (I do not know why libpthread_db.so uses
libpthread_db.so.1 instead of libpthread_db.so.$(MAJOR_VERSION) as soname)
Note by Jocke:
I don't known either but until then this is the right thing to do.
Joakim Tjernlund [Wed, 6 Oct 2004 13:08:47 +0000 (13:08 -0000)]
Don't complain if ld.so.cache is missing.
Joakim Tjernlund [Wed, 6 Oct 2004 12:51:12 +0000 (12:51 -0000)]
Add type libc0 to cache_print().
Always strip trailing slaches(/) from paths read from ld.so.conf.
Joakim Tjernlund [Wed, 6 Oct 2004 11:45:22 +0000 (11:45 -0000)]
Peter S. Mazinger writes:
The attached patches make iconv use XXFLAGS and adapts ldd.host to cvs.
Joakim Tjernlund [Wed, 6 Oct 2004 11:34:32 +0000 (11:34 -0000)]
Peter S. Mazinger writes:
Hello!
Here is the modified unsecvars patch that applies to cvs.
Joakim Tjernlund [Wed, 6 Oct 2004 07:34:17 +0000 (07:34 -0000)]
Puts common defines into dl-defs.h (in ldso/include) from dl-elf.h and
dl-cache.h and make use of it. Also disables the lib-path-redundancy check
for the case the cache is not used. Makes use of _PRELOAD_FILE_SUPPORT.
From Peter Mazinger.
Joakim Tjernlund [Wed, 6 Oct 2004 06:59:57 +0000 (06:59 -0000)]
Remove unneeded -D<somedefine>, and use instead #ifdef __somedefine__
From Peter Mazinger.
Joakim Tjernlund [Wed, 6 Oct 2004 06:51:37 +0000 (06:51 -0000)]
PIE option correction for Config.in. From Peter Mazinger.
Joakim Tjernlund [Tue, 5 Oct 2004 12:06:40 +0000 (12:06 -0000)]
Peter S. Mazinger writes:
Hello!
The attached patches remove unneeded -D<somedefine>, and uses instead
#ifdef __somedefine__
Joakim Tjernlund [Tue, 5 Oct 2004 11:51:59 +0000 (11:51 -0000)]
Peter Kjellerstedt writes:
After the addition of a configuration option for
enabling the support of /etc/ld.so.cache, I thought
it might be a good idea to add one for the support
of the /etc/ld.so.preload file too. So here it is.
While doing this, I also noticed that the dynamic
linker would hang indefinitely if either LD_PRELOAD
or /etc/ld.so.preload contained a library which was
already loaded, so I made a patch for that too.
And of course, I could not resist from doing a little
clean up of comments and indentation, so here is a
patch for that too.
Eric Andersen [Sun, 3 Oct 2004 07:53:52 +0000 (07:53 -0000)]
This patch from Mike Frysinger, extended from an earlier patch from Peter S.
Mazinger implements the changes suggested by me on the uclibc list.
On Tuesday 28 September 2004 02:24 pm, Erik Andersen wrote:
> What I think should be done is
>
> *) Someone that cares about USE_CACHE should fix that option
> up to be sure it works, and give it a proper config entry
> in extra/Configs/Config.in, and rename it to something
> more appropriate such as LDSO_CACHE_SUPPORT.
>
> *) When LDSO_CACHE_SUPPORT=n, UCLIBC_RUNTIME_PREFIX /usr/X11R6/lib
> should be included in the default library search path in
> dl-elf.c, ldd, and ldconfig.
>
> *) When LDSO_CACHE_SUPPORT=y, UCLIBC_RUNTIME_PREFIX /usr/X11R6/lib
> should be excluded from the default library search path in
> dl-elf.c, ldd, and ldconfig, and those wishing to include
> X11 stuff should add that into /etc/ld.so.conf and re-run
> ldconfig.
>
> *) At present, LDSO_CONF and LDSO_CACHE use the same names
> and same structure as glibc. This precludes
> LDSO_CACHE_SUPPORT being uses in any sane fashion on a
> dial glibc and uClibc system. Just as it was necessary
> for use to use a different name for 'libuClibc' rather
> than 'libc', and 'ld-uClibc.so.0' rather than
> 'ld-linux.so.2' it seems that these configuration files
> really ought to be given different names.
>
Joakim Tjernlund [Tue, 28 Sep 2004 13:13:44 +0000 (13:13 -0000)]
Atsushi Nemoto writes:
Hi. I found a mismatch between uClibc and kernel in semctl definition.
In uClibc/libc/misc/sysvipc/sem.c:
static inline _syscall4(int, __semctl, int, semid, int, semnum, int, cmd, union semun *, arg);
...
int semctl(int semid, int semnum, int cmd, ...)
...
arg = va_arg (ap, union semun);
...
return __semctl(semid, semnum, cmd, &arg);
But kernel's semctl is:
asmlinkage long sys_semctl (int semid, int semnum, int cmd, union semun arg)
The last argument is an union semun itself, not a pointer to the
union.
Here is a patch.
Joakim Tjernlund [Tue, 28 Sep 2004 08:55:06 +0000 (08:55 -0000)]
Oops, typo.
Thanks to Peter Kjellerstedt.
Joakim Tjernlund [Tue, 28 Sep 2004 07:56:49 +0000 (07:56 -0000)]
Remove /usr/X11R6/lib from search path.
Search in UCLIBC_RUNTIME_PREFIX"lib" before
UCLIBC_RUNTIME_PREFIX"usr/lib".
X11 users should enable USE_CACHE in Rules.mak, add
/usr/X11R6/lib to /etc/ld.so.conf and run ldconfig.
Joakim Tjernlund [Tue, 28 Sep 2004 07:29:13 +0000 (07:29 -0000)]
Make ldd work for ET_DYN executables. From Peter Mazinger.
Joakim Tjernlund [Mon, 27 Sep 2004 09:40:55 +0000 (09:40 -0000)]
Remove /usr/X11R6/lib from default list.
Move /lib and /usr/lib first in ld.so.cache.
Ignore duplicate /lib and /usr/lib in ld.so.conf
Joakim Tjernlund [Thu, 23 Sep 2004 07:23:26 +0000 (07:23 -0000)]
Add bswap_64 macro and uClibc_page.h. From Peter Kjellerstedt.
Joakim Tjernlund [Thu, 23 Sep 2004 07:15:24 +0000 (07:15 -0000)]
Don't allow undefined global symbols to pass.
Move COPY relocs back to _dl_do_reloc().
White space cleanup.
Joakim Tjernlund [Thu, 23 Sep 2004 07:08:41 +0000 (07:08 -0000)]
White space and printouts cleanup. From Peter Kjellerstedt.
Joakim Tjernlund [Thu, 23 Sep 2004 07:05:40 +0000 (07:05 -0000)]
Make do_rem() safe. From Peter Kjellerstedt.
Joakim Tjernlund [Thu, 23 Sep 2004 07:00:45 +0000 (07:00 -0000)]
Don't allow undefined global symbols to pass.
Move COPY relocs back to _dl_do_reloc().
Joakim Tjernlund [Thu, 23 Sep 2004 06:56:59 +0000 (06:56 -0000)]
Make powerpc look more like the other archs.
Joakim Tjernlund [Fri, 17 Sep 2004 15:57:21 +0000 (15:57 -0000)]
Added back dl_iterate_phdr in ldso(with some small changes).
Someone needs to test if it works to build and run gcj.
Joakim Tjernlund [Fri, 17 Sep 2004 12:41:36 +0000 (12:41 -0000)]
Formatting cleanups from Peter Kellerstedt.
Joakim Tjernlund [Fri, 17 Sep 2004 12:19:35 +0000 (12:19 -0000)]
Bugfix: Add r_addend to final address. The r_addend is mostly zero
but can be nonzero for JMP relocs as well.
All Rela arches need to do this, test and send a patch :)
Remove unneeded test in R_PPC_COPY.
Joakim Tjernlund [Fri, 17 Sep 2004 09:11:53 +0000 (09:11 -0000)]
Don't allow undefined global symbols to pass(all archs needs fixing,
but powerpc).
If you are using buildroot and soft floating point, you may have to
rebuild the libm.so library, copy it to staging_dir/lib and rebuild
your application.
Move handling of R_386_COPY back into _dl_do_reloc(all archs should
do this). Adjust the first argument to _dl_memcpy as it looks wrong
to have symtab[symtab_index].st_value as destination for the mem copy.
Joakim Tjernlund [Thu, 16 Sep 2004 13:07:01 +0000 (13:07 -0000)]
Don't allow undefined global symbols to pass(all archs needs fixing).
If you are using buildroot and soft floating point, you may have to
rebuild the libm.so library, copy it to staging_dir/lib and rebuild
your application.
Cleanups as well.
Manuel Novoa III [Fri, 10 Sep 2004 21:30:26 +0000 (21:30 -0000)]
Hide some x86-specific devel asserts.
Eric Andersen [Wed, 8 Sep 2004 20:13:05 +0000 (20:13 -0000)]
Fixup URL
Joakim Tjernlund [Wed, 8 Sep 2004 09:43:25 +0000 (09:43 -0000)]
Second attempt to fix the INIT/FINI order. This time I think I got it right :)
This needs testing with apps that have complex dependencies.
Eric Andersen [Wed, 8 Sep 2004 03:07:17 +0000 (03:07 -0000)]
Doh! As noted by Mike Frysinger I was too agressive at culling stuff
Eric Andersen [Tue, 7 Sep 2004 11:24:45 +0000 (11:24 -0000)]
Disable prototypes for unimplemented functions
Eric Andersen [Tue, 7 Sep 2004 11:13:06 +0000 (11:13 -0000)]
Yet another bit of joy for mjn3
Eric Andersen [Tue, 7 Sep 2004 10:37:36 +0000 (10:37 -0000)]
Audit and disable unimplemented stuff
Eric Andersen [Tue, 7 Sep 2004 10:34:35 +0000 (10:34 -0000)]
Implement gethostent_r
Eric Andersen [Tue, 7 Sep 2004 10:34:09 +0000 (10:34 -0000)]
Remove stale leftovers
Eric Andersen [Tue, 7 Sep 2004 09:17:17 +0000 (09:17 -0000)]
Audit and scrub malloc.h, which was a mess
Eric Andersen [Tue, 7 Sep 2004 09:04:01 +0000 (09:04 -0000)]
We do not use dl_iterate_phdr, so no need to define it
Eric Andersen [Tue, 7 Sep 2004 08:53:33 +0000 (08:53 -0000)]
uClibc gettext support is under development and really shouldn't
be used by the unsuspecting masses quite yet.
Eric Andersen [Tue, 7 Sep 2004 08:44:19 +0000 (08:44 -0000)]
The 'Somebody Else's Problem Field' was just activated
Eric Andersen [Tue, 7 Sep 2004 08:40:43 +0000 (08:40 -0000)]
First pass prototype removals from auditing header files:
a.out.h to libgen.h (omitting complex.h for a later separate
effort for the math stuff)
Eric Andersen [Tue, 7 Sep 2004 08:36:25 +0000 (08:36 -0000)]
Use a more appealing name, matching the function prototype
Eric Andersen [Tue, 7 Sep 2004 08:30:56 +0000 (08:30 -0000)]
Add missing imaxdiv and lldiv needed for SuSv3. Adjust ldiv to
match glibc's quotient truncation behavior.
Joakim Tjernlund [Fri, 3 Sep 2004 21:17:10 +0000 (21:17 -0000)]
First attempt to fix the INIT/FINI ordering. Fingers crossed :)
Manuel Novoa III [Thu, 2 Sep 2004 14:39:38 +0000 (14:39 -0000)]
Add a couple of mips-specific string funcs.
Port the generic optimized string funcs from glibc, with some tweaks
to cut their size a little. The main change is making memmove
call memcpy for forward copying to trim redundant code.
Make use of both the generic and arch-specific speed-optimized string
funcs configurable. Arch-specific take precedence over generic,
and generic takes precedence over basic size-optimized uClibc funcs.
Manuel Novoa III [Thu, 2 Sep 2004 14:34:53 +0000 (14:34 -0000)]
Fix a couple of symbol name issues.
Joakim Tjernlund [Thu, 2 Sep 2004 07:12:10 +0000 (07:12 -0000)]
Remove unused variables. From Peter Mazinger.
Eric Andersen [Tue, 31 Aug 2004 08:49:06 +0000 (08:49 -0000)]
Restore item I erronenously removed, mention mips string funcs
Eric Andersen [Tue, 31 Aug 2004 08:45:03 +0000 (08:45 -0000)]
Dont mess with __curbrk in ldso
Joakim Tjernlund [Mon, 30 Aug 2004 11:37:47 +0000 (11:37 -0000)]
Typo fix from Peter Mazinger.
Eric Andersen [Mon, 30 Aug 2004 07:40:15 +0000 (07:40 -0000)]
Mention kernel abi selection
Manuel Novoa III [Sat, 28 Aug 2004 21:09:16 +0000 (21:09 -0000)]
solar asked that this bit be reverted.
Joakim Tjernlund [Fri, 27 Aug 2004 15:14:55 +0000 (15:14 -0000)]
Preliminary PIE support for powerpc, i386 was used as template.
Requested by Peter Mazinger. Testing wanted.
Joakim Tjernlund [Fri, 27 Aug 2004 11:08:35 +0000 (11:08 -0000)]
#include "dl-startup.c into ldso.c, making ldso one compilation unit.
Now all functions and vaiables can be made static to reduce relocs.
Basicly, all variables should be merged into one struct variable
and then export that struct. Exported functions should be exported
as functions pointers in the above struct. This will reduce the
number of relocs inside ldso to a handful.
Add -Bsymbolic to linker for ldso. This will resolve all functions
(all JMP_SLOT goes away) and the remaining relocs are transformed into
RELATIVE relocs.
Joakim Tjernlund [Fri, 27 Aug 2004 09:15:11 +0000 (09:15 -0000)]
Forgot to commit this file. Patch from Stefan Allius.
Joakim Tjernlund [Fri, 27 Aug 2004 08:46:19 +0000 (08:46 -0000)]
As Mike Frysinger notes, this code is still needed. I
misread this code and removed it, sorry.
I printed the values of _dl_brkp and _dl_envp in ldso and
got this when executing:
ls:
__curbrk: 0x300c16e0
__environ: 0x1008372c
ldd:
__curbrk: 0x300776e0
__environ: 0x3007759c
why is__environ in the app when executing ls but not ldd?
Eric Andersen [Thu, 26 Aug 2004 23:39:02 +0000 (23:39 -0000)]
Partial patch from Alexandre Oliva to update the frv port
Eric Andersen [Thu, 26 Aug 2004 23:37:48 +0000 (23:37 -0000)]
Patch from Alexandre Oliva to update the frv default config
Eric Andersen [Thu, 26 Aug 2004 23:36:04 +0000 (23:36 -0000)]
Partial patch from Alexandre Oliva:
- adjust licensing terms of sources for crt*.o
- change the stat ABI to speed it up, matching changes in the kernel
- assorted bug-fixes, improvements and updates in the FR-V port
etc.
Eric Andersen [Thu, 26 Aug 2004 22:08:19 +0000 (22:08 -0000)]
Mention FunctionCheck
Eric Andersen [Thu, 26 Aug 2004 22:07:56 +0000 (22:07 -0000)]
Update TODO list a bit
Eric Andersen [Thu, 26 Aug 2004 20:43:25 +0000 (20:43 -0000)]
Only print debug stuff when asked
Eric Andersen [Thu, 26 Aug 2004 18:38:19 +0000 (18:38 -0000)]
Fixup a couple of warnings
Eric Andersen [Thu, 26 Aug 2004 18:36:23 +0000 (18:36 -0000)]
Avoid multiple passes to perform mips GOT relocations, and do
the whole lot in a single pass.
-Erik
Manuel Novoa III [Thu, 26 Aug 2004 17:03:09 +0000 (17:03 -0000)]
Fixes from gentoo.
Joakim Tjernlund [Thu, 26 Aug 2004 14:17:10 +0000 (14:17 -0000)]
Let ldso find libc's malloc function and set _dl_malloc_function.
This removes some crap in libdl.c(and future libs which needs
to access ldso functions).
What do you think?
Joakim Tjernlund [Thu, 26 Aug 2004 14:00:04 +0000 (14:00 -0000)]
Added test for RTLD_GLOBAL flag in _dl_find_hash().
Fixed a bug in libdl.c where the RTLD_GLOBAL was assigned
wronly.
Eric Andersen [Thu, 26 Aug 2004 11:30:48 +0000 (11:30 -0000)]
Relocations of the application's global GOT entries were not being run, and
only the global GOT entry relocations for the loaded shared libs were being
handled. This made applications segfault when using un-fixedup symbols. After
many hours debugging to track down the problem, this patch makes the mips port
happy again.
-Erik