bFLT relocation problems when running busybox/uclibc
David McCullough
david_mccullough at au.securecomputing.com
Thu Oct 19 19:48:55 PDT 2006
Jivin Rick Garcia lays it down ...
> David McCullough wrote:
> >Jivin Rick Garcia lays it down ...
> >> I'm attempting to run busybox compiled against uClibc in bFLT format
> >>- busybox starts up, the kernel does the relocation, but it appears to
> >>be incomplete. During debug, I can observe it performing a few hundred
> >>relocations, but I can identify more than a few places where it's using
> >>an invalid non-relocated address, and these all seem to be internal
> >>uClibc symbols. As far as I can tell, all the busybox symbols are
> >>correctly relocated.
> >> Are there any flags that need to be passed to the uClibc build to
> >>get it to work with flat binary format? I'm using the -Wl,-elf2flt when
> >>building busybox, but I built uClibc without any extra flags - my
> >>understanding was that they wouldn't be necessary when building a
> >>library like uClibc - I can't even identify a point in the build where
> >>they might be used. Anyone have any ideas what could be causing this?
> >
> >It depends on how you have built your uClibc I guess. Compare the build
> >lines for each and check for differing "-m..." options.
>
> The only -m.. option is -msep_data.
Then both the lib and the app need to be built with that option.
> >What kernel/arch/compilers are you using ?
>
> It's an m68k clone - kernel is uClinux 2.4.(30?), and the compiler
> is 3.4.4
>
> >Also it's probably better to ask on the uClinux-dev list :-)
>
> Will do :)
>
> One question - are you aware of any way to verify that elf2flt has
> relocated all the relevant symbols in an image? I know there isn't
> exactly a plethora of utilities for examining the bFLT format right now,
> but I need to find a way to check this.
> Right now, the flthdr is telling me that there are 322 relocations
I think elf2flt has a -v:
-Wl,-elf2flt=-v
> - the make output logs and some quick checks I slapped into the kernel
> agree, so I'll concede that that much is working. But 322 relocations
> for a program like busybox? Every example I've seen online has had
> something on the order of 3000 relocations. I have a minimal config
> going, but still... that's not a lot of symbols.
msep-data reduces the number of relocations to just the data segment and
the GOT. Don't have one to compare at the moment though,
Cheers,
Davidm
--
David McCullough, david_mccullough at securecomputing.com, Ph:+61 734352815
Secure Computing - SnapGear http://www.uCdot.org http://www.cyberguard.com
More information about the uClibc
mailing list