Recently, Somebody Somewhere wrote these words
>
> >
> > DRM drivers:
> >
> > CC [M]
> > /usr/src/extras/Mesa-6.4.1/radeon-20051220-linux.i386/drm/linux-core/drm_context.o
> > /usr/src/extras/Mesa-6.4.1/radeon-20051220-linux.i386/drm/linux-core/drm_context.c:
> > In function `drm_ctxbitmap_next':
> > include/asm/bitops.h:289: error: can't find a register in class
> > `BREG' while reloading `asm'
> This is an obvious problem. This happens because we are using uClibc,
> and uClibc (and me as well) think asm code is bad. Long story short,
> asm code generate problems. I believe we need a patch here for pic
> support or something similar. I remember an almost identical problem
> with zip and unzip.
>
> You may be able to avoid this problem by disabling the uClibc config
> option that says to allow only PIC based files.
>
>
> > make[3]: ***
> > [/usr/src/extras/Mesa-6.4.1/radeon-20051220-linux.i386/drm/linux-core/drm_context.o]
> > Error 1
> > make[2]: ***
> > [_module_/usr/src/extras/Mesa-6.4.1/radeon-20051220-linux.i386/drm/linux-core]
> > Error 2
> > make[2]: Leaving directory `/usr/src/linux-2.6.14.3'
> > make[1]: *** [modules] Error 2
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > Kernel compile (2.6.14.3), SVN-20051221 book instructions.
> >
> > CHK include/linux/version.h
> > CC init/main.o
> > init/main.c: In function `unknown_bootoption':
> > init/main.c:249: warning: asm operand 1 probably doesn't match
> > constraints
> > init/main.c:249: error: impossible constraint in `asm'
> > make[1]: *** [init/main.o] Error 1
> > make: *** [init] Error 2
> >
> > This bit of init/main.c - Line 249 is 'BUG();'
> >
> > /* Change NUL term back to "=", to make "param" the whole
> > * string. */
> > if (val) {
> > /* param=val or param="val"? */
> > if (val == param+strlen(param)+1)
> > val[-1] = '=';
> > else if (val == param+strlen(param)+2) {
> > val[-2] = '=';
> > memmove(val-1, val, strlen(val)+1);
> > val--;
> > } else
> > BUG();
> > }
> >
>
> I will look into that function. It is probably some form of exit/error
> command in which at worst case, we can make a hack that will kill the
> program or something similar. (though potentially dangerous..)
Sorry for slow reply, only returning from a battle with death over
some loathsome flu here. I'm on glibc these days. I started on
uClibc, but couldn't get past gcc in Ch 6. - the one that really
has to work. So I went with the ALFS profile, which was glibc.
--
With best Regards,
Declan Moriarty.
--
http://linuxfromscratch.org/mailman/listinfo/hlfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page