[#6081] gcc.c-torture/compile/mangle-1.c test fail

Document created by Aaronwu Employee on Oct 17, 2013
Version 1Show Document
  • View in full screen mode

[#6081] gcc.c-torture/compile/mangle-1.c test fail

Submitted By: Vivi Li

Open Date

2010-07-01 06:06:47    

Priority:

Medium     Assignee:

Steve Kilbane

Board:

N/A     Silicon Revision:

Resolution:

Assigned (Not Started)     Fixed In Release:

N/A

Processor:

ALL     

Host Operating System:

toolchain rev.:

    kernel rev.:

State:

Open     Found In Release:

2010R1

Is this bug repeatable?:

N/A     

Summary: gcc.c-torture/compile/mangle-1.c test fail

Details:

 

test gcc.c-torture/compile/mangle-1.c fail with bfin-elf/bfin-linux-uclibc/bfin-uclinux.

 

The failure always exists, not a regression bug.

 

--

FAIL: gcc.c-torture/compile/mangle-1.c  -O0  (test for excess errors)

FAIL: gcc.c-torture/compile/mangle-1.c  -O1  (test for excess errors)

FAIL: gcc.c-torture/compile/mangle-1.c  -O2  (test for excess errors)

FAIL: gcc.c-torture/compile/mangle-1.c  -O3 -fomit-frame-pointer  (test for excess errors)

FAIL: gcc.c-torture/compile/mangle-1.c  -O3 -g  (test for excess errors)

FAIL: gcc.c-torture/compile/mangle-1.c  -Os  (test for excess errors)

--

 

Bellow is the detail:

--

spawn bfin-uclinux-gcc -O0 -w -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -c -o mangle-1.o /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.c-torture/compile/mangle-1.c

/tmp/ccO2ftuY.s: Assembler messages:

/tmp/ccO2ftuY.s:14: Error: syntax error. Input text was x.

/tmp/ccO2ftuY.s:14: Error:

/tmp/ccO2ftuY.s:15: Error: syntax error. Input text was x.

/tmp/ccO2ftuY.s:15: Error:

/tmp/ccO2ftuY.s:19: Error: syntax error. Input text was x.

/tmp/ccO2ftuY.s:19: Error:

/tmp/ccO2ftuY.s:20: Error: syntax error. Input text was x.

/tmp/ccO2ftuY.s:20: Error:

compiler exited with status 1

 

FAIL: gcc.c-torture/compile/mangle-1.c  -O0  (test for excess errors)

--

 

--

Executing on host: bfin-uclinux-gcc   -O1  -w -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -c  -o mangle-1.o /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.c-torture/compile/mangle-1.c    (timeout = 300)

spawn bfin-uclinux-gcc -O1 -w -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -c -o mangle-1.o /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.c-torture/compile/mangle-1.c

/tmp/ccWRwO27.s: Assembler messages:

/tmp/ccWRwO27.s:8: Error: syntax error. Input text was x.

/tmp/ccWRwO27.s:8: Error:

/tmp/ccWRwO27.s:9: Error: syntax error. Input text was x.

/tmp/ccWRwO27.s:9: Error:

compiler exited with status 1

 

FAIL: gcc.c-torture/compile/mangle-1.c  -O1  (test for excess errors)

--

 

--

Executing on host: bfin-uclinux-gcc   -O2  -w -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -c  -o mangle-1.o /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.c-torture/compile/mangle-1.c    (timeout = 300)

spawn bfin-uclinux-gcc -O2 -w -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -c -o mangle-1.o /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.c-torture/compile/mangle-1.c

/tmp/ccy09VU7.s: Assembler messages:

/tmp/ccy09VU7.s:7: Error: syntax error. Input text was x.

/tmp/ccy09VU7.s:7: Error:

/tmp/ccy09VU7.s:8: Error: syntax error. Input text was x.

/tmp/ccy09VU7.s:8: Error:

compiler exited with status 1

 

FAIL: gcc.c-torture/compile/mangle-1.c  -O2  (test for excess errors)

--

 

--

Executing on host: bfin-uclinux-gcc   -O3 -fomit-frame-pointer  -w -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -c  -o mangle-1.o /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.c-torture/compile/mangle-1.c    (timeout = 300)

spawn bfin-uclinux-gcc -O3 -fomit-frame-pointer -w -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -c -o mangle-1.o /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.c-torture/compile/mangle-1.c

/tmp/ccw04Laa.s: Assembler messages:

/tmp/ccw04Laa.s:7: Error: syntax error. Input text was x.

/tmp/ccw04Laa.s:7: Error:

/tmp/ccw04Laa.s:8: Error: syntax error. Input text was x.

/tmp/ccw04Laa.s:8: Error:

compiler exited with status 1

 

FAIL: gcc.c-torture/compile/mangle-1.c  -O3 -fomit-frame-pointer  (test for excess errors)

--

 

--

Executing on host: bfin-uclinux-gcc   -O3 -g  -w -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -c  -o mangle-1.o /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.c-torture/compile/mangle-1.c    (timeout = 300)

spawn bfin-uclinux-gcc -O3 -g -w -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -c -o mangle-1.o /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.c-torture/compile/mangle-1.c

/tmp/ccuACirc.s: Assembler messages:

/tmp/ccuACirc.s:18: Error: syntax error. Input text was x.

/tmp/ccuACirc.s:18: Error:

/tmp/ccuACirc.s:19: Error: syntax error. Input text was x.

/tmp/ccuACirc.s:19: Error:

compiler exited with status 1

 

FAIL: gcc.c-torture/compile/mangle-1.c  -O3 -g  (test for excess errors)

--

 

--

Executing on host: bfin-uclinux-gcc   -Os  -w -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -c  -o mangle-1.o /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.c-torture/compile/mangle-1.c    (timeout = 300)

spawn bfin-uclinux-gcc -Os -w -DSTACK_SIZE=75000 -DNO_TRAMPOLINES -fno-show-column -c -o mangle-1.o /home/test/work/cruise/checkouts/toolchain/gcc-4.3/gcc/testsuite/gcc.c-torture/compile/mangle-1.c

/tmp/ccCXkBDg.s: Assembler messages:

/tmp/ccCXkBDg.s:7: Error: syntax error. Input text was x.

/tmp/ccCXkBDg.s:7: Error:

/tmp/ccCXkBDg.s:8: Error: syntax error. Input text was x.

/tmp/ccCXkBDg.s:8: Error:

compiler exited with status 1

 

FAIL: gcc.c-torture/compile/mangle-1.c  -Os  (test for excess errors)

--

 

Follow-ups

 

--- Steve Kilbane                                            2010-07-29 07:56:30

Bad test:

  static int x asm ("x") = 3;

Means we get:

        P2.H = x;

and "x" is a keyword in the Blackfin assembler.

 

I propose that the test is changed, rather than changing the assembler to

accept

keywords where symbols might appear.

 

--- Mike Frysinger                                           2010-07-29 11:20:25

while "x" is a keyword in some situations, i dont think it should be

here.  this is a bug in our assembler that it doesnt treat "x" as an

undefined symbol.

 

--- Steve Kilbane                                            2010-07-30 04:41:24

Hmm, yes, I see your point. Trying the same test (with suitable

platform-specific keywords) for i686, ARM and PowerPC didn't throw up any

problems. Most likely, this is because only Blackfin and M68K have Yacc-based

parsers. So yes, relative to other GNU assemblers, this appears to be a bug (the

VDSP++ assembler barfs on it too, though).

 

But the test isn't about that, is it? So I suggest:

- change the test to not use a keyword (s/x/xx/ means it passes happily, for

Blackfin at least).

- open a separate bug for the assembler, with this as a Blackfin-specific test

case.

- treat as P3.

 

--- Mike Frysinger                                           2010-07-30 10:43:14

if we're going to fix the assembler, then having this test case fail isnt a big

deal.  we document it as the problem being in the assembler (because it is), and

eventually we fix it.  since this doesnt appear to have been a problem thus far,

and the test cases in question arent regressions, lowering the priority and

delaying to the next release is fine.

 

--- Steve Kilbane                                            2010-08-17 08:02:51

I've submitted a change which should allow this particular test to pass, but I'm

not at all convinced that the general case is solvable without rewriting the

whole parser without lex/yacc: the majority of tokens in the assembler will

cause a syntax error if used in a symbol context, and for tokens like

"W", it's difficult to deal with both

R0 = W;     // Symbol reference

R0 = W[P0]; // Not a symbol reference

given the mechanisms lex/yacc have for context-specific tokenisation.

 

Either way, I'm dropping down to P3, because I've spent enough time on this to

know that a better fix isn't forthcoming in the near term. I doubt we'd put the

effort into this in the long term, either.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes