Hi Joshua,
Joshua Kinard wrote,

> On 10/23/2016 23:55, Waldemar Brodkorb wrote:
> > Hi Joshua,
> > Joshua Kinard wrote,
> > 
> >> I think I've run into a rather odd bug on a big-endian MIPS platform while
> >> trying to hand-assemble a MIPS-II ISA netboot image built from a uclibc-ng
> >> chroot.  In my netboot, I need to include xfsprogs, but this has a 
> >> dependency
> >> on the 'valloc' function call.  So in uclibc-ng, I enabled
> >> CONFIG_UCLIBC_SUSV2_LEGACY to enable that function, and rebuilt uclibc-ng.
> >> This fixes the xfsprogs build, but it very subtly breaks busybox's ash 
> >> shell.
> >>
> >> After rebuilding uclibc-ng, then rebuilding busybox statically/multicall, 
> >> if
> >> you run /bin/ash with a malformed argument or give it a script to execute 
> >> that
> >> doesn't have the execute bit set, you get a SIGSEGV:
> >>
> >> Fudging up the argument syntax to /bin/ash:
> >> octane / # /bin/ash "-c"
> >> /bin/ash: -c requires an argument
> >> Segmentation fault
> >>
> >> Via a non-executable script "x.sh", we start with this sample:
> >> octane / # cat ./x.sh
> >> #!/bin/ash
> >> echo "foo!"
> >>
> >> If "x.sh" has the executable bit set, we're all good:
> >> octane / # ls -l ./x.sh
> >> -rwxr-xr-x 1 root root 24 Oct 12 01:57 ./x.sh
> >> octane / # /bin/ash -c ./x.sh
> >> foo!
> >>
> >> But if we turn off the executable bit...
> >> octane / # chmod -x ./x.sh
> >> octane / # ls -l ./x.sh
> >> -rw-r--r-- 1 root root 24 Oct 12 01:57 ./x.sh
> >> octane / # /bin/ash -c ./x.sh
> >> /bin/ash: ./x.sh: Permission denied
> >> Segmentation fault
> > 
> > After sorting out my last bootup problems (missing N32/O32 binary
> > support in the kernel), I can confirm that the bug is fixed in
> > uCLibc-ng 1.0.19:
> > 
> > root@openadk:/root # ash -c /tmp/c.sh 
> > ash: /tmp/c.sh: Permission denied
> > root@openadk:/root # chmod 755 .
> > root@openadk:/root # chmod 755 /tmp/c.sh 
> > root@openadk:/root # ash -c /tmp/c.sh 
> > foo!
> > root@openadk:/root # ash -c
> > ash: -c requires an argument
> > root@openadk:/root # ls /lib
> > 
> > Please update to 1.0.19, thanks
> >  Waldemar
> 
> Sorry for the delay, got tied up with things.
> 
> I'd already switched the busybox build to a shared library from a static
> one, which worked around the issue for me, but I am building 1.0.19 now.
> I'll let you know if any additional issues crop up.
> 
> And for the record, on your last e-mail, an RM52XX O2 needs -march=rm5200 to
> gcc.  Stock -mips4 or -march=r5000 won't hurt, either.

Okay.
 
> Now to just figure out the libtirpc bit...

Buildroot or OpenADK is always a good source for cross-compile
issues. Take a look at the patches.

Another possibility would be to ty the internal ipv4 only RPC
implementation in uClibc-ng, but I have'nt used it for a long time.

Not sure if rpcbind works with it. I think last time I sed it was
with good old portmap.

best regards
 Waldemar
_______________________________________________
devel mailing list
devel@uclibc-ng.org
http://mailman.uclibc-ng.org/cgi-bin/mailman/listinfo/devel

Reply via email to