[Aboriginal] [musl] microblaze port committed

Rob Landley rob at landley.net
Fri Oct 26 23:51:52 PDT 2012


My email was broken forever, but I've built a new one out of duck tape 
and am attempting to deal with the backlog:

On 09/30/2012 02:01:41 AM, Isaac Dunham wrote:
> On Sat, 29 Sep 2012 01:41:57 -0400
> Rich Felker <dalias at aerifal.cx> wrote:
> 
> > Hi all,
> > 
> > I've committed the initial (and seemingly fully-working) version of
> > the microblaze port. Several caveats:
> > 
> > 1. Upstream binutils has a serious bug in gas whereby the
> relocations
> >    it generates for symbols with local weak definitions cannot be
> >    resolved by the linker. Patch at:
> >    http://permalink.gmane.org/gmane.linux.uclinux.microblaze/11155

My current understanding is this bug was introduced _after_ 2.17, so 
doesn't hit my frozen toolchain?

> > 2. The toolchain binaries from Xilinx seem to produce .o files
> >    incompatible with standard binutils, and vice versa. Pick one or
> >    the other; don't mix them.
> For Landley's sake, I'll mention what we discussed on IRC (+ some
> details):
> -The Xilinx toolchain is binutils 2.16 + gcc 4.1.2 (GPLv2); binutils
> support was merged upstream in 2009, so Aboriginal would need the
> Xilinx EDK toolchain (see http://git.xilinx.com/?
> p=mb_gnu.git;a=summary
> ofor source)

I've had a xylinx toolchain of approximately that vintage in my todo 
heap for a couple years, the problem is their changes broke arm. (If 
you build an arm toolchain from those sources, it didn't work.)

I can try refreshing from xylinx git, but getting basic musl support in 
is comes first. (Maybe 1/3 through ccwrap.c rewrite, I'm doing the new 
one to be a reasonable base for later qcc and distcc replacement work.)

> -Rich says that on microblaze, due to the way relocations are 
> handled,
> using -Bsymbolic instead of -Bsymbolic-functions gives a libc.so that
> is either minimally broken or fully operational.
> (Mips also works with -Bsymbolic.)

I already updated binutils to the new version musl needs. I can build 
musl, it's just my ccwrap is full of uClibc baked-in assumptions that 
need to go away, and the code's brittle enough I'm just writing a fresh 
one.

> -The possibility of using mapfiles instead of -Bsymbolic-functions 
> was
> mentioned, but Rich doubts that they were supported in older 
> binutils.
>  
> > 3. Threads are untested because qemu is broken, at least my version
> of
> >    qemu (app-level emu) has a bug where clone() does not advance 
> the
> >    program counter properly in the child, so it starts a
> forkbomb-like
> >    cascade of clone syscalls (thankfully just linear growth rather
> >    than exponential).
> Ow.
> 
> Rob, any thoughts on an Aboriginal port?

I want to do one, but I want to start with x86, then arm, then the 
other existing platforms I can compare against a known working version 
of.

Rob


More information about the Aboriginal mailing list