Hi,

I've encountered another BFD problem, similar to the one reported by Eric a
few months back (2015-03-25 13:43:23).
I am currently using GCC 4.9.3 and binutils 2.25.1 on a gentoo machine
(which include the fix by Alan Modra), and I'm getting the following error:

  /usr/libexec/gcc/msp430-elf/ld: BFD (Gentoo 2.25.1 p1.0) 2.25.1 internal
error, aborting at
/var/tmp/portage/cross-msp430-elf/binutils-2.25.1/work/binutils-2.25.1/bfd/elf-eh-frame.c
line 1732 in _bfd_elf_write_section_eh_frame

Here is the code snippet:

    /* We don't align the section to its section alignment since the
       runtime library only expects all CIE/FDE records aligned at
       the pointer size. _bfd_elf_discard_section_eh_frame should
       have padded CIE/FDE records to multiple of pointer size with
       size_of_output_cie_fde.  */
    sec_size = sec->size;
    if (sec_info->count != 0
        && sec_info->entry[sec_info->count - 1].size == 4)
      sec_size -= 4;
    if ((sec_size % ptr_size) != 0)
      abort (); */* this is line 1732 */*

I've narrowed it down to an [.eh_frame] in one of the object files, which
has a size of 74 (0x4a) while ptr_size is 4.

Here is the complete output of objdump:

  $ msp430-elf-objdump -h /tmp/1.o

  /tmp/1.o:     file format elf32-msp430

  Sections:
  Idx Name          Size      VMA       LMA       File off  Algn
    0 .text         00000000  00000000  00000000  00000034  2**0
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
    1 .data         00000000  00000000  00000000  00000034  2**0
                    CONTENTS, ALLOC, LOAD, DATA
    2 .bss          00000000  00000000  00000000  00000034  2**0
                    ALLOC
    3 .text.startup.main 00000026  00000000  00000000  00000034  2**1
                    CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
*    4 .eh_frame     0000004a  00000000  00000000  0000005a  2**1*
*                    CONTENTS, ALLOC, LOAD, RELOC, DATA*
    5 .comment      0000002b  00000000  00000000  000000a4  2**0
                    CONTENTS, READONLY
    6 .MSP430.attributes 00000017  00000000  00000000  000000cf  2**0
                    CONTENTS, READONLY

I've tried replacing both msp43-elf-g++ and msp430-elf-ld with ones I built
from source obtained from TI's site (
http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/latest/exports/msp430-gcc-source.tar.bz2)
but received the same results.

HAs anyone else encountered this problem?
Is the problem in the linker or compiler:
Should LD be able to handle this eh_frame?
Or should GCC have created an eh_frame with correct (i.e. aligned) size ?

Thank you very much for your help,
------------------------------------------------------------------------------
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to