Forum: ARM programming with GCC/GNU tools LD error message

von Dan (Guest)

Rate this post
0 useful
not useful

I installed the newest yagarto. Downloaded the AT91bootstrap v1.14 from 
the Atmel site: 

CD to C:\Bootstrap-v1.14\board\at91sam9g20\nandflash

I get the following error:
.eh_frame [00200e64 -> 002010db] overlaps section .data [00200e64 -> 
collect2: ld returned 1 exit status
make: *** [nandflash_at91sam9g20ek] Error 1

What did I do wrong? How can I fix this?

Thank you,

von Clifford S. (clifford)

Rate this post
0 useful
not useful
You have omitted the part of the log that shows the linker invocation, 
which would have been useful.

Are you sure that the linker script is correct for your target. You 
appear to have two sections at the same location.

I believe that the eh_frame is related to C++ exception handling, but 
are you using C++? Even if you are, are you using exception handling? If 
not use the -fno-exceptions compiler option.

von Tom Swiedler (Guest)

Rate this post
0 useful
not useful
If you are using a linker script (and you should be) you need to add a 
section for the exception handlers. This can be in uninitialized RAM 

  . = ALIGN(4);
  .eh_frame :
       KEEP (*(.eh_frame))
  } > ram

In the MEMORY section you should have a definition for the "ram" area 
similar to the following:

  ram  : ORIGIN = 0x40000200, LENGTH = 32513


Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.