[oe] [vdr] TARGET_CXXFLAGS do not include CXX_FLAGS from Makefile

Khem Raj raj.khem at gmail.com
Wed Jan 13 11:02:57 UTC 2010


On (13/01/10 11:44), Paul Menzel wrote:
> > > I also get the same error which I did not get before with GCC 4.1.1.
> > 
> > Older versions of binutils/ld can not detect MOVT/MOVW relocations which
> > are absolute and cant be used in PIC code.
> > hence even if the error was there it remained latent.
> 
> Sorry for the noob question. In earlier versions would the resulting
> binaries/packages have been buggy?

Could be

> 
> > > 
> > >         /oe/tangstrom-dev/cross/armv7a/lib/gcc/arm-angstrom-linux-gnueabi/4.4.2/../../../../arm-angstrom-linux-gnueabi/bin/ld: hello.o: relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
> > >         hello.o: could not read symbols: Bad value
> > >         collect2: ld returned 1 exit status
> > >         make[1]: *** [libvdr-hello.so] Error 1
> > >         make[1]: Leaving directory `/oe/tangstrom-dev/work/armv7a-angstrom-linux-gnueabi/vdr-1.7.10-r3/vdr-1.7.10/PLUGINS/src/hello'
> > >         
> > >         [… same for all other plugins]
> > > 
> > > The thing that puzzles me is, that in the plugin’s Makefile [4] `-fPIC`
> > > is specified
> > > 
> > >         CXX      ?= g++
> > >         CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
> > >         LIBS     ?= ${LDFLAGS}
> > > 
> > > but in the above command it is not included.
> > 
> > These are conditional so may be you already have defined CXXFLAGS in
> > your environment infact bitbake will do it for you.
> 
> I did not define any CXXFLAGS. It looks like BitBake is setting them and
> not respecting those in the Makefile.

could be bitbake set it up.

> 
> > >         arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -isystem/oe/tangstrom-dev/staging/armv7a-angstrom-linux-gnueabi/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -ggdb3 -fpermissive -fvisibility-inlines-hidden -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"hello"' -I../../../include hello.c
> > > 
> > > Looking at `run.do_install.28829` I cannot see find the `-fPIC` in
> > > there. So my question is, why is it not included. Is it because of »?=«?
> > > How do I get it included?
> > 
> > you could do CXXFLAGS_append = ... in the recipe.
> 
> Is that the recommended behavior? 

yes.

Is `oe_runmake` maybe not the correct
> command to use? As written above, it is very strange for me, that
> BitBake does not respect the flags in the Makefile automatically,
> because I think it is common in upstream Makefiles to use »?=«, is not
> is?
> 

Well bitbake provides/constructs and environment where cross builds can
happen and it has to do so much more to cater to the Makefiles sometimes
which do not understand cross build. 

> Or is that the default behavior running `oe_runmake` in `do_install`?
> 
> 
> Thanks,
> 
> Paul



> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel





More information about the Openembedded-devel mailing list