This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: binutils problem
- From: "H. J. Lu" <hjl at lucon dot org>
- To: Richard Zidlicky <rz at linux-m68k dot org>
- Cc: binutils at sources dot redhat dot com
- Date: Fri, 23 Aug 2002 22:07:32 -0700
- Subject: Re: binutils problem
- References: <20020824004405.B302@linux-m68k.org>
I don't know much about m68k. Does anyone have any ideas?
H.J.
---
On Sat, Aug 24, 2002 at 12:44:05AM +0200, Richard Zidlicky wrote:
> Hi,
>
> binutils 2.13.90.0.3 with gcc-3.2 on m68k-linux, appears not new
> to this version.
>
> Assembler generates wrong relocation information for
> pea .LC88+10
>
> Important lines marked with '<<<<'
>
>
>
> === assembler source:
> 7380 .section .rodata.str1.1
> .......
> 7463 .LC88: <<<<
> 7464 05d6 5F5F 6275 .string "__builtin_memcpy"
> 7464 696C 7469
> 7464 6E5F 6D65
> 7464 6D63 7079
> 7464 00
> .......
> 10355 4b56 203C 0000 move.l #.LC88,%d0 <<<<<<<<<
> 10355 0000
> 10356 4b5c 672C jbeq .L2229
> 10357 .LBB295:
> 10358 4b5e 42A7 clr.l -(%sp)
> 10359 .LCFI1090:
> 10360 4b60 42A7 clr.l -(%sp)
> 10361 .LCFI1091:
> 10362 4b62 4878 0001 pea 1.w
> 10363 .LCFI1092:
> 10364 4b66 4878 0003 pea 3.w
> 10365 .LCFI1093:
> 10366 4b6a 4878 001C pea 28.w
> 10367 .LCFI1094:
> 10368 4b6e 2F2F 0130 move.l 304(%sp),-(%sp)
> 10369 .LCFI1095:
> 10370 4b72 2F2F 0134 move.l 308(%sp),-(%sp)
> 10371 .LCFI1096:
> 10372 4b76 4879 0000 pea .LC88+10 <<<<<<<<<
> 10372 0000
> 10373 .LCFI1097:
> 10374 4b7c 2F00 move.l %d0,-(%sp)
> 10375 .LCFI1098:
> 10376 .LCFI1099:
> 10377 4b7e 4E92 jbsr (%a2)
>
> ============ objdump -S
>
> 4b50: 23c8 0000 0000 movel %a0,0 <finish_fname_decls>
> 4b56: 203c 0000 0000 movel #0,%d0 <<<<
> 4b5c: 672c beqs 4b8a <c_common_nodes_and_builtins+0x1494>
> 4b5e: 42a7 clrl %sp@-
> 4b60: 42a7 clrl %sp@-
> 4b62: 4878 0001 pea 1 <finish_fname_decls+0x1>
> 4b66: 4878 0003 pea 3 <finish_fname_decls+0x3>
> 4b6a: 4878 001c pea 1c <finish_fname_decls+0x1c>
> 4b6e: 2f2f 0130 movel %sp@(304),%sp@-
> 4b72: 2f2f 0134 movel %sp@(308),%sp@-
> 4b76: 4879 0000 0000 pea 0 <finish_fname_decls> <<<<
> 4b7c: 2f00 movel %d0,%sp@-
> 4b7e: 4e92 jsr %a2@
>
> ============ objdump -x
>
> 00004b1c R_68K_32 built_in_decls+0x00000068
> 00004b22 R_68K_32 .rodata.str1.1+0x000005c5
> 00004b52 R_68K_32 built_in_decls+0x0000006c
> 00004b58 R_68K_32 .rodata.str1.1+0x000005d6 <<<<
> 00004b86 R_68K_32 built_in_decls+0x00000070
> 00004b8c R_68K_32 .rodata.str1.1+0x000005e7
> 00004bba R_68K_32 built_in_decls+0x00000074
>
> ......
> ......
> 00004b0e R_68K_32 .LC86+0x000005bf
> 00004b44 R_68K_32 .LC87+0x000005cf
> 00004b78 R_68K_32 .LC88+0x000005e0 <<<< !!!
>
> should be either '.LC88+0xa', or '.rodata.str1.1+0x000005e0'
>
>
> ============== gdb disassembly of resulting program
>
> 0x80020e46 <c_common_nodes_and_builtins+5216>: movel #-2145702935,%d0 <<<<LC88
> 0x80020e4c <c_common_nodes_and_builtins+5222>:
> beqs 0x80020e7a <c_common_nodes_and_builtins+5268>
> 0x80020e4e <c_common_nodes_and_builtins+5224>: clrl %sp@-
> 0x80020e50 <c_common_nodes_and_builtins+5226>: clrl %sp@-
> 0x80020e52 <c_common_nodes_and_builtins+5228>: pea 0x1
> 0x80020e56 <c_common_nodes_and_builtins+5232>: pea 0x3
> 0x80020e5a <c_common_nodes_and_builtins+5236>: pea 0x1c
> 0x80020e5e <c_common_nodes_and_builtins+5240>: movel %sp@(304),%sp@-
> 0x80020e62 <c_common_nodes_and_builtins+5244>: movel %sp@(308),%sp@-
> 0x80020e66 <c_common_nodes_and_builtins+5248>:
> pea 0x801b31c9 <c_tree_code_name+2901> <<<<LC88+10 WRONG
> 0x80020e6c <c_common_nodes_and_builtins+5254>: movel %d0,%sp@-
> 0x80020e6e <c_common_nodes_and_builtins+5256>: jsr %a2@
>
>
> Regards
> Richard