On Wednesday November 21 2007 08:51:16 pm Heiko Zuerker wrote: > Hey, > > The section of the gcc-4.1.2-fpie-1.patch I copied at the end of the > email, seems to cause problems with some packages (beyond the standard > HLFS build). > The most recent one I had trouble with is open-vm-tools ( > http://sourceforge.net/project/showfiles.php?group_id=204462&package_id=244 >023&release_id=555776 ). > Unfortunately right now I don't recall the other packages which had the > same problem. > > This is the error: > checkvm.c: In function `getVersion': > checkvm.c:80: error: can't find a register in class `BREG' while reloading > `asm' > make[1]: *** [checkvm.o] Error 1
The 'BREG' is from non-pic assembly code. Often these packages have patches, or there's a ./configure option to disable some of the assembly (mmx is the most common problem). If I remember correctly, the nasm assembler also causes the 'BREG'. > You'll have to compile it with > ./configure --prefix=/usr --without-x > make CC="gcc -U_FORTIFY_SOURCE" LDFLAGS=-liconv I don't know why you would need the -U_FORTIFY_SOURCE here. > What does this part of the patch do? > > -- > > Regards > Heiko Zuerker > http://www.devil-linux.org > > --- gcc-4.1.2.orig/gcc/common.opt 2006-05-17 18:38:58.000000000 +0000 > +++ gcc-4.1.2/gcc/common.opt 2007-06-10 12:52:38.000000000 +0000 > @@ -639,7 +639,7 @@ > Generate position-independent code if possible (large mode) > > fPIE > -Common Report Var(flag_pie,2) > +Common Report Var(flag_pie,2) Init(2) > Generate position-independent code for executables if possible (large > mode) > > fpic This enables default -fPIE. The gcc specs replace it with -fPIC for libraries. This is what is causing your error. You can disable it with -fno-PIE. robert
pgp31iR6ZfLkg.pgp
Description: PGP signature
-- http://linuxfromscratch.org/mailman/listinfo/hlfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
