On Thu, Sep 11, 2008 at 07:32:09PM +0800, JACOB BENJAMIN-VGH684 wrote: >Hello ppl,
>and ran the resultant a.out on a monta vista box >I got an error saying something to the effect of "Can't modify text >section. Use GCC option -fPIC for shared objects, please". > >I looked into the config files and echo-ed out stuff in the makefiles >(esp Makefile.in in uClibc/librt) only to find out the CC variable is >set to arm_v6_be_uclibc-gcc only. Using this compile the os files are >created. >I hardcoded "CC:= arm_v6_be_uclibc-gcc -fPIC" >and then re-compiled uClibc and the program as well and it ran perfectly >well. > >Now how and where do i make the config files to have fPIC set for the >cross compiler?? I was under the impression that we already use pic for the shared objects, but ok. $ grep FLAGS .config UCLIBC_EXTRA_CFLAGS="" i.e. run 'make menuconfig' go to the "uClibc development/debugging options" menu and set the "Enter any extra CFLAGS to use to build uClibc" according to your needs. Of course you can pass UCLIBC_EXTRA_{C,LD}FLAGS down via make if you do not want or need to keep them in your .config. Just as a sidenote, you should not hardcode anything in any makefile, that's what .config is for, or a wrapper-script that passes down the desired flags, if you really need (you shouldn't). > >All help appreciated. HTH, _______________________________________________ uClibc mailing list uClibc@uclibc.org http://busybox.net/cgi-bin/mailman/listinfo/uclibc