debug/7310: "inline" with "-g -gdwarf -O" for PowerPC fails to be linked
fshvaige@cisco.com
fshvaige@cisco.com
Mon Jul 15 04:57:00 GMT 2002
>Number: 7310
>Category: debug
>Synopsis: "inline" with "-g -gdwarf -O" for PowerPC fails to be linked
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: rejects-legal
>Submitter-Id: net
>Arrival-Date: Mon Jul 15 04:46:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Felix Shvaiger
>Release: 3.1.1 20020617 (prerelease)
>Organization:
>Environment:
Configured with: ../gcc-20020617/configure --with-newlib --enable-target-optspace --target=ppc-eabi --prefix=/home/crossGCC/ppc-eabi --with-local-prefix=/home/crossGCC/ppc-eabi --program-prefix=ppc-eabi- --enable-languages=c,c++ -v
>Description:
File test6.c:
inline extern
int fff () {
return 0;
}
int main (void) {
return fff ();
}
When compiled with options "-g -gdwarf -O" produces link error:
test6.o(.debug+0xa2): undefined reference to `.L_E327'
Notes:
Compiled OK with -gdwarf-2
Compiled OK with -Os
Compiled OK with -O2
Compiled OK without "inline extern"
>How-To-Repeat:
Command line:
ppc-eabi-gcc test6.c -msim -O -g -gdwarf
ppc-eabi-gcc test6.c -msim -O -g -gdwarf+
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="test6.s"
Content-Disposition: inline; filename="test6.s"
.file "test6.c"
.section .text
.L_text_b:
.previous
.section .data
.L_data_b:
.previous
.section .rodata
.L_rodata_b:
.previous
.section .bss
.L_bss_b:
.previous
.section .line
.L_line_b:
.4byte .L_line_e-.L_line_b
.4byte .L_text_b
.previous
.section .debug_pubnames
.4byte .L_debug_b
.previous
.section .debug_aranges
.4byte .L_debug_aranges_end-.L_debug_aranges_begin
.L_debug_aranges_begin:
.byte 0x1
.4byte .L_debug_b
.previous
.section .debug
.L_debug_b:
.L_D1:
.4byte .L_D1_e-.L_D1
.2byte 0x11
.2byte 0x12
.4byte .L_D2
.2byte 0x38
.string "test6.c"
.2byte 0x258
.string "GNU C 3.1.1 20020617 (prerelease)"
.2byte 0x136
.4byte 0x1
.2byte 0x111
.4byte .L_text_b
.2byte 0x121
.4byte .L_text_e
.2byte 0x106
.4byte .L_line_b
.2byte 0x1b8
.string "/home/felix/tmp/ppc_tests"
.L_D1_e:
.previous
.globl __eabi
.section ".text"
.align 2
.globl main
.type main,@function
main:
.L_LC1:
.section .line
.4byte 0x5
.2byte 0xffff
.4byte .L_LC1-.L_text_b
.previous
stwu 1,-8(1)
mflr 0
stw 0,12(1)
bl __eabi
.L_LC2:
.section .line
.4byte 0x2
.2byte 0xffff
.4byte .L_LC2-.L_text_b
.previous
.L_B2:
.L_LC3:
.section .line
.4byte 0x3
.2byte 0xffff
.4byte .L_LC3-.L_text_b
.previous
.L_B2_e:
.L_LC4:
.section .line
.4byte 0x2
.2byte 0xffff
.4byte .L_LC4-.L_text_b
.previous
.L_LC5:
.section .line
.4byte 0x7
.2byte 0xffff
.4byte .L_LC5-.L_text_b
.previous
li 3,0
lwz 0,12(1)
mtlr 0
addi 1,1,8
blr
.L_f1_e:
.Lfe1:
.size main,.Lfe1-main
.section .debug_pubnames
.4byte .L_P0
.string "main"
.previous
.section .debug
.L_P0:
.L_D3:
.4byte .L_D3_e-.L_D3
.2byte 0x6
.2byte 0x12
.4byte .L_D4
.2byte 0x38
.string "main"
.2byte 0x278
.string ""
.2byte 0x55
.2byte 0x7
.2byte 0x111
.4byte main
.2byte 0x121
.4byte .L_f1_e
.L_D3_e:
.L_D5:
.4byte .L_D5_e-.L_D5
.2byte 0x1d
.2byte 0x12
.4byte .L_D6
.2byte 0x2b2
.4byte .L_E327
.2byte 0x111
.4byte .L_B2
.2byte 0x121
.4byte .L_B2_e
.L_D5_e:
.L_D7:
.4byte 0x4
.L_D6:
.4byte 0x4
.previous
.section .debug
.L_D4:
.4byte .L_D4_e-.L_D4
.2byte 0x13
.2byte 0x12
.4byte .L_D8
.set .L_T43,.L_D4
.2byte 0x38
.string "__va_list_tag"
.2byte 0xb6
.4byte 0xc
.L_D4_e:
.L_D9:
.4byte .L_D9_e-.L_D9
.2byte 0xd
.2byte 0x12
.4byte .L_D10
.2byte 0x38
.string "gpr"
.2byte 0x142
.4byte .L_T43
.2byte 0x55
.2byte 0x3
.2byte 0x23
.2byte .L_l9_e-.L_l9
.L_l9:
.byte 0x4
.4byte 0x0
.byte 0x7
.L_l9_e:
.L_D9_e:
.L_D10:
.4byte .L_D10_e-.L_D10
.2byte 0xd
.2byte 0x12
.4byte .L_D11
.2byte 0x38
.string "fpr"
.2byte 0x142
.4byte .L_T43
.2byte 0x55
.2byte 0x3
.2byte 0x23
.2byte .L_l10_e-.L_l10
.L_l10:
.byte 0x4
.4byte 0x1
.byte 0x7
.L_l10_e:
.L_D10_e:
.L_D11:
.4byte .L_D11_e-.L_D11
.2byte 0xd
.2byte 0x12
.4byte .L_D12
.2byte 0x38
.string "overflow_arg_area"
.2byte 0x142
.4byte .L_T43
.2byte 0x63
.2byte .L_t11_e-.L_t11
.L_t11:
.byte 0x1
.2byte 0x14
.L_t11_e:
.2byte 0x23
.2byte .L_l11_e-.L_l11
.L_l11:
.byte 0x4
.4byte 0x4
.byte 0x7
.L_l11_e:
.L_D11_e:
.L_D12:
.4byte .L_D12_e-.L_D12
.2byte 0xd
.2byte 0x12
.4byte .L_D13
.2byte 0x38
.string "reg_save_area"
.2byte 0x142
.4byte .L_T43
.2byte 0x63
.2byte .L_t12_e-.L_t12
.L_t12:
.byte 0x1
.2byte 0x14
.L_t12_e:
.2byte 0x23
.2byte .L_l12_e-.L_l12
.L_l12:
.byte 0x4
.4byte 0x8
.byte 0x7
.L_l12_e:
.L_D12_e:
.L_D13:
.4byte 0x4
.L_D8:
.4byte .L_D8_e-.L_D8
.2byte 0x1
.2byte 0x12
.4byte .L_D14
.set .L_T46,.L_D8
.2byte 0xa3
.2byte .L_s8_e-.L_s8
.L_s8:
.byte 0x0
.2byte 0x7
.4byte 0x0
.4byte 0x0
.byte 0x8
.2byte 0x72
.4byte .L_T43
.L_s8_e:
.L_D8_e:
.L_D14:
.4byte .L_D14_e-.L_D14
.2byte 0x16
.2byte 0x12
.4byte .L_D15
.2byte 0x38
.string "__builtin_va_list"
.2byte 0x72
.4byte .L_T46
.L_D14_e:
.previous
.section .debug
.L_D15:
.4byte .L_D15_e-.L_D15
.align 2
.L_D15_e:
.L_D2:
.previous
.section .text
.L_text_e:
.previous
.section .data
.L_data_e:
.previous
.section .rodata
.L_rodata_e:
.previous
.section .bss
.L_bss_e:
.previous
.section .line
.L_line_last:
.4byte 0x0
.2byte 0xffff
.4byte .L_text_e-.L_text_b
.L_line_e:
.previous
.section .debug_pubnames
.4byte 0x0
.string ""
.previous
.section .debug_aranges
.4byte .L_text_b
.4byte .L_text_e-.L_text_b
.4byte .L_data_b
.4byte .L_data_e-.L_data_b
.4byte .L_rodata_b
.4byte .L_rodata_e-.L_rodata_b
.4byte .L_bss_b
.4byte .L_bss_e-.L_bss_b
.4byte 0x0
.4byte 0x0
.L_debug_aranges_end:
.previous
.ident "GCC: (GNU) 3.1.1 20020617 (prerelease)"
More information about the Gcc-bugs
mailing list