9
0
Fork 0

Fix objcopy problem with newer toolchains

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@1746 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2009-04-29 23:17:39 +00:00
parent 57690cd483
commit dbeac4fe3b
10 changed files with 56 additions and 13 deletions

View File

@ -707,3 +707,8 @@
* SPI: Add a method to set the number of bits per word. Also add an
alternative interface for so that (eventually) I can phase the sndblock
and recvblock methods and replace them with a single exchange method
* Build: objcopy fails with toolchains that use newer GCC and binutils. The
following arguments need to be included in the objcopy command line "-R .note
-R .note.gnu.build-id -R .comment" This has bin fixed in arch/arm/src/Makefile,
but other architectures may have the same problem. Thanks to Dave Marples
for verifying this.

View File

@ -1393,6 +1393,11 @@ nuttx-0.4.6 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
* SPI: Add a method to set the number of bits per word. Also add an
alternative interface for so that (eventually) I can phase the sndblock
and recvblock methods and replace them with a single exchange method
* Build: objcopy fails with toolchains that use newer GCC and binutils. The
following arguments need to be included in the objcopy command line "-R .note
-R .note.gnu.build-id -R .comment" This has bin fixed in arch/arm/src/Makefile,
but other architectures may have the same problem. Thanks to Dave Marples
for verifying this.
pascal-0.1.3 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>

View File

@ -245,13 +245,13 @@ ifeq ($(CONFIG_RRLOAD_BINARY),y)
fi
endif
ifeq ($(CONFIG_INTELHEX_BINARY),y)
@$(OBJCOPY) -O ihex $(TOPDIR)/$@ $(TOPDIR)/$@.ihx
@$(OBJCOPY) $(OBJCOPYARGS) -O ihex $(TOPDIR)/$@ $(TOPDIR)/$@.ihx
endif
ifeq ($(CONFIG_MOTOROLA_SREC),y)
@$(OBJCOPY) -O srec $(TOPDIR)/$@ $(TOPDIR)/$@.srec
@$(OBJCOPY) $(OBJCOPYARGS) -O srec $(TOPDIR)/$@ $(TOPDIR)/$@.srec
endif
ifeq ($(CONFIG_RAW_BINARY),y)
@$(OBJCOPY) -O binary $(TOPDIR)/$@ $(TOPDIR)/$@.bin
@$(OBJCOPY) $(OBJCOPYARGS) -O binary $(TOPDIR)/$@ $(TOPDIR)/$@.bin
endif
depend:

View File

@ -366,13 +366,6 @@ o Build system
Status: Open
Priority: Medium-low
Descripton I am having trouble using the newer gcc 4.2.4 + binutils 2.19
toolchain for ARM. The problem is in arch/arm/src/Makefile:
In the call to objcopy to relocate the .data section, arm-elf-objcopy
dies with a 'Floating point exception' No clue to the cause yet.
Status: Open
Priority: Medium-Low -- workaroung, stick with the 3.4.6 toolchain
o NuttShell (NSH) (examples/nsh)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -85,7 +85,7 @@ nuttx: $(HEAD_AOBJ) board/libboard$(LIBEXT)
--start-group $(LDLIBS) -lboard --end-group $(EXTRA_LIBS) $(LIBGCC)
ifeq ($(CONFIG_BOOT_RUNFROMFLASH),y)
@export flashloc=`$(OBJDUMP) --all-headers $(TOPDIR)/$@ | grep _eronly | cut -d' ' -f1`; \
$(OBJCOPY) --adjust-section-vma=.data=0x$$flashloc $(TOPDIR)/$@ $(TOPDIR)/$@.flashimage
$(OBJCOPY) $(OBJCOPYARGS) --adjust-section-vma=.data=0x$$flashloc $(TOPDIR)/$@ $(TOPDIR)/$@.flashimage
@mv $(TOPDIR)/$@.flashimage $(TOPDIR)/$@
endif
@$(NM) $(TOPDIR)/$@ | \
@ -93,7 +93,7 @@ endif
sort > $(TOPDIR)/System.map
@export vflashstart=`$(OBJDUMP) --all-headers $(TOPDIR)/$@ | grep _vflashstart | cut -d' ' -f1`; \
if [ ! -z "$$vflashstart" ]; then \
$(OBJCOPY) --adjust-section-vma=.vector=0x$$vflashstart $(TOPDIR)/$@ $(TOPDIR)/$@.flashimage; \
$(OBJCOPY) $(OBJCOPYARGS) --adjust-section-vma=.vector=0x$$vflashstart $(TOPDIR)/$@ $(TOPDIR)/$@.flashimage; \
mv $(TOPDIR)/$@.flashimage $(TOPDIR)/$@; \
fi

View File

@ -44,9 +44,17 @@ NM = $(CROSSDEV)nm
OBJCOPY = $(CROSSDEV)objcopy
OBJDUMP = $(CROSSDEV)objdump
HOSTOS = ${shell uname -o}
ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
ifeq ($(ARCHCCMAJOR),4)
ifneq ($(HOSTOS),Cygwin)
OBJCOPYARGS = -R .note -R .note.gnu.build-id -R .comment
endif
endif
ifeq ("${CONFIG_DEBUG}","y")
ARCHOPTIMIZATION = -g
else

View File

@ -44,9 +44,17 @@ NM = $(CROSSDEV)nm
OBJCOPY = $(CROSSDEV)objcopy
OBJDUMP = $(CROSSDEV)objdump
HOSTOS = ${shell uname -o}
ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
ifeq ($(ARCHCCMAJOR),4)
ifneq ($(HOSTOS),Cygwin)
OBJCOPYARGS = -R .note -R .note.gnu.build-id -R .comment
endif
endif
ifeq ("${CONFIG_DEBUG}","y")
ARCHOPTIMIZATION = -g
else

View File

@ -44,9 +44,17 @@ NM = $(CROSSDEV)nm
OBJCOPY = $(CROSSDEV)objcopy
OBJDUMP = $(CROSSDEV)objdump
HOSTOS = ${shell uname -o}
ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
ifeq ($(ARCHCCMAJOR),4)
ifneq ($(HOSTOS),Cygwin)
OBJCOPYARGS = -R .note -R .note.gnu.build-id -R .comment
endif
endif
ifeq ("${CONFIG_DEBUG}","y")
ARCHOPTIMIZATION = -g
else

View File

@ -44,9 +44,17 @@ NM = $(CROSSDEV)nm
OBJCOPY = $(CROSSDEV)objcopy
OBJDUMP = $(CROSSDEV)objdump
HOSTOS = ${shell uname -o}
ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
ifeq ($(ARCHCCMAJOR),4)
ifneq ($(HOSTOS),Cygwin)
OBJCOPYARGS = -R .note -R .note.gnu.build-id -R .comment
endif
endif
ifeq ("${CONFIG_DEBUG}","y")
ARCHOPTIMIZATION = -g
else

View File

@ -1,7 +1,7 @@
##############################################################################
# configs/olimex-strp711/ostest/Make.defs
#
# Copyright (C) 2008 Gregory Nutt. All rights reserved.
# Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
@ -44,9 +44,17 @@ NM = $(CROSSDEV)nm
OBJCOPY = $(CROSSDEV)objcopy
OBJDUMP = $(CROSSDEV)objdump
HOSTOS = ${shell uname -o}
ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
ifeq ($(ARCHCCMAJOR),4)
ifneq ($(HOSTOS),Cygwin)
OBJCOPYARGS = -R .note -R .note.gnu.build-id -R .comment
endif
endif
ifeq ("${CONFIG_DEBUG}","y")
ARCHOPTIMIZATION = -g
else