[uClibc] ARM shared libs segfault

Erik Andersen andersen at codepoet.org
Wed May 19 23:01:37 UTC 2004


On Wed May 19, 2004 at 11:54:50AM -0600, Ray Lehtiniemi wrote:
> On Mon, May 17, 2004 at 06:36:27AM -0600, Erik Andersen wrote:
> > On Mon May 17, 2004 at 10:41:20AM +0400, roman wrote:
> > > Hello List,
> > > 
> > > I also have troubles with ARM shared libs loader, it segfaults. AFAIK this topic
> > > was already discussed a week ago. Anyone has a patch? My system is
> > > ARM920T, uClibc-0.9.26, gcc-3.3.3, binutils 2.14.0.90.7. The toolchain was
> > > built with Eric's toolchain script.
> > 
> > I have reproduced the failure, but I have not yet had a change
> > to address it,
> 
> any idea when you might have a chance to look at this?  i'm hitting
> this issue (or a very similar one) as well, and it's really holding
> me up at the moment.

I spent several hours on it last night, trying to revert uClibc
to where things last worked....  No luck last night, even when
reverting uClibc to configurations which I _know_ work perfectly.
I've just now found a setup where uClibc 0.9.26 works on arm, so
I'm working forward from that to determine when and where things
broke for arm.

> i'm seeing this on a cirrus cs89712 (arm720-based SoC).  i cannot even
> get my init process to start up :-(  my dynamic linker is generating
> a huge stream of user faults while trying to fix up an R_ARM_PC24
> reloc in _dl_linux_resolve.  if i edit the resolve.S file to add a
> '(PLT)' to the call, it gets a bit further, crapping out while trying
> to resolve an R_ARM_ABS32 reference to 'errno' in several
> sysdeps/linux/arm/*.S files.  i can make those go away by adding a
> '(GOT)' to the .S files, but now i'm hitting R_ARM_ABS32 relocs in C
> code (tables of function pointers, etc).
> 
> am i on the right track here, or is this not the correct approach
> to fix the problem?  touching up .S files is something i can do, but
> changing how gcc builds tables of function pointers is (probably)
> a bit beyond my current grasp...

When I build a uClibc root_fs for arm and attempt to chroot into
it on my netwinder, I immediately get a segfault.  Until that is
resolved there is little hope of getting i.e. /sbin/init to run,
or getting a system to boot.

 -Erik

--
Erik B. Andersen             http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--



More information about the uClibc mailing list