A .byte expression should generate an R_ARC_8 and not an R_ARC_32 as is generated currently.Similary .2byte and .3byte directives should generate R_ARC_16 and R_ARC_24 directives and not R_ARC_32 as is generated currently. The .byte , .2byte and .3byte directives work in spaces less than 4 bytes so generating a R_ARC_32 is incorrect in such a case.
.section .data . = 0x10 .byte .L1 ;; .2byte .L2 .3byte .L3 .L1: .4byte 0 .L2: .4byte 1 .L3: .4byte 2 .section .text start : mov r0,0 generates a reloc of the following format. RELOCATION RECORDS FOR [.data]: OFFSET TYPE VALUE 00000010 R_ARC_32 .data 00000011 R_ARC_32 .data With the .2byte directive the assembler gives an internal error. /home/ramana/tmp/try.s: Assembler messages: /home/ramana/tmp/try.s:4: Error: internal error: can't export reloc type 5 (`BFD_RELOC_16') -- Summary: Incorrect generation of relocs for .byte , .2byte and .3byte directives. Product: binutils Version: 2.17 (HEAD) Status: NEW Severity: normal Priority: P2 Component: gas AssignedTo: ramana dot radhakrishnan at codito dot com ReportedBy: ramana dot radhakrishnan at codito dot com CC: bug-binutils at gnu dot org,nickc at redhat dot com GCC host triplet: i686-linux GCC target triplet: arc-elf32 http://sources.redhat.com/bugzilla/show_bug.cgi?id=873 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils