[U-Boot] Build error with the master branch

Hi, There,
I met an error when building on the latest master branch of uboot, the error as the following,
arm-none-linux-gnueabi-gcc -g -Os -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x97800000 -I/home/r64343/work_space/u-boot-upstream /u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/freescale/usr/local/ gcc-4.3.3-glibc-2.8-cs2009q1-203/gcc-4.3.3-glibc-2.8-cs2009q1-203/arm-none-linux-gnueabi/bin /../lib/gcc/arm-none-linux-gnueabi/4.3.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o stubs.o stubs.c -c arm-none-linux-gnueabi-ld -pie -r -o libstubs.o stubs.o arm-none-linux-gnueabi-ld: -r and -shared may not be used together make[2]: *** [libstubs.o] Error 1 make[2]: Leaving directory `/home/r64343/work_space/u-boot-upstream/u-boot/examples/standalone' make[1]: *** [examples/standalone] Error 2 make[1]: Leaving directory `/home/r64343/work_space/u-boot-upstream/u-boot' make: *** [mx51evk] Error 2
I found this error is related with the following commit:
commit 8aba9dceebb14144e07d19593111ee3a999c37fc
Are you aware of that?
BR, Jason Liu

On Thu, Jan 27, 2011, Jason Liu wrote:
arm-none-linux-gnueabi-ld -pie -r -o libstubs.o stubs.o arm-none-linux-gnueabi-ld: -r and -shared may not be used together
I found this error is related with the following commit: commit 8aba9dceebb14144e07d19593111ee3a999c37fc
I've noticed the same thing, this seems to break all ARM configs for me
[ full build logs at: http://hudson.dooz.org/job/u-boot_master/63/ ]

Dear Jason Liu,
In message AANLkTin=qFp8gBwHupjX77uj3CaXD4Ocndgae257n7Ly@mail.gmail.com you wrote:
Hi, There,
I met an error when building on the latest master branch of uboot, the error as the following,
arm-none-linux-gnueabi-gcc -g -Os -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x97800000 -I/home/r64343/work_space/u-boot-upstream /u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/freescale/usr/local/ gcc-4.3.3-glibc-2.8-cs2009q1-203/gcc-4.3.3-glibc-2.8-cs2009q1-203/arm-none-linux-gnueabi/bin /../lib/gcc/arm-none-linux-gnueabi/4.3.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o stubs.o stubs.c -c arm-none-linux-gnueabi-ld -pie -r -o libstubs.o stubs.o arm-none-linux-gnueabi-ld: -r and -shared may not be used together make[2]: *** [libstubs.o] Error 1 make[2]: Leaving directory `/home/r64343/work_space/u-boot-upstream/u-boot/examples/standalone' make[1]: *** [examples/standalone] Error 2 make[1]: Leaving directory `/home/r64343/work_space/u-boot-upstream/u-boot' make: *** [mx51evk] Error 2
I found this error is related with the following commit:
commit 8aba9dceebb14144e07d19593111ee3a999c37fc
Are you aware of that?
Thanks for reporting.
Added the author of this commit on Cc:
Best regards,
Wolfgang Denk

On 01/27/2011 08:42 AM, Jason Liu wrote:
Hi, There,
Hi Jason,
I found this error is related with the following commit:
commit 8aba9dceebb14144e07d19593111ee3a999c37fc
Are you aware of that?
I can confirm this problem, and it is relevant for arm only. As far I can understand at the moment, it is due to the -pie settings in arch/arm/config.mk.
However, it is not to me clear because -pie is added to PLATFORM_LDFLAGS and not to LDFLAGS_u-boot. Also before the patch the -pie option is used only for linking u-boot at the end of the build process and not for partial linking. Probably does it come when we used libraries instead of objects ?
Setting LDFLAGS_u-boot in arch/arm/config.mk to -pie and removing it from PLATFORM_LDFLAGS removes the build error. Not yet tested, anyway.
Best regards, Stefano Babic

Le 27/01/2011 12:12, Stefano Babic a écrit :
On 01/27/2011 08:42 AM, Jason Liu wrote:
Hi, There,
Hi Jason,
I found this error is related with the following commit:
commit 8aba9dceebb14144e07d19593111ee3a999c37fc
Are you aware of that?
I can confirm this problem, and it is relevant for arm only. As far I can understand at the moment, it is due to the -pie settings in arch/arm/config.mk.
However, it is not to me clear because -pie is added to PLATFORM_LDFLAGS and not to LDFLAGS_u-boot. Also before the patch the -pie option is used only for linking u-boot at the end of the build process and not for partial linking. Probably does it come when we used libraries instead of objects ?
Setting LDFLAGS_u-boot in arch/arm/config.mk to -pie and removing it from PLATFORM_LDFLAGS removes the build error. Not yet tested, anyway.
Best regards, Stefano Babic
-pie is used to generate the ARM ELF relocation tables in U-Boot, and should indeed be used only for the final stage linking; so moving it to LDFLAGS_u-boot is sensible.
Amicalement,
participants (5)
-
Albert ARIBAUD
-
Jason Liu
-
Loïc Minier
-
Stefano Babic
-
Wolfgang Denk