I didn't have this problems using gcc-3.4.2 When I try to compile the file, gcc-4.0.0 reports error which is not reported by gcc-3.4.2 Info follows: version of GCC: sparc-sun-solaris2.8-gcc-4.0.0 (GCC) 4.1.0 20050309 (experimental) system type: SunOS 5.8 GCC configure options: ./configure --prefix=/usr/local/toolchain-4.0.0 --with-gnu-as --with-gnu-l d --enable-languages=c,c++ command line: g++ -v -save-temps -gstabs+ -fPIC -c -o -DUNIX -DUSING_STLPORT -I/home/lib/S TLport/stlport sugarconverter.o sugarconverter.cpp compiler output: home/lib/STLport/stlport sugarconverter.o sugarconverter.cpp Using built-in specs. Target: sparc-sun-solaris2.8 Configured with: ../gcc/configure --prefix=/usr/local/toolchain-4.0.0 --with-gnu-as --with-gn u-ld --enable-languages=c,c++ Thread model: posix gcc version 4.1.0 20050309 (experimental) /space/home/usr.local/toolchain-4.0.0/bin/../libexec/gcc/sparc-sun-solaris2. 8/4.1.0/cc1plus -E -quiet -v -I/home/lib/STLport/stlport -iprefix /space/home/usr.local/toolchain-4.0.0/bin/../lib/gcc/sparc-sun-solaris2.8/4. 1.0/ -DUSING_STLPORT sugarconverter.cpp -mcpu=v7 -fPIC -fworking-directory -fpch-preprocess -o sugarconverter.ii ignoring nonexistent directory "/space/home/usr.local/toolchain-4.0.0/bin/../lib/gcc/sparc-sun-solaris2.8/4 .1.0/../../../../sparc-sun-solaris2.8/include" ignoring duplicate directory "/usr/local/toolchain-4.0.0/lib/gcc/sparc-sun-solaris2.8/4.1.0/../../../../i nclude/c++/4.1.0" ignoring duplicate directory "/usr/local/toolchain-4.0.0/lib/gcc/sparc-sun-solaris2.8/4.1.0/../../../../i nclude/c++/4.1.0/sparc-sun-solaris2.8" ignoring duplicate directory "/usr/local/toolchain-4.0.0/lib/gcc/sparc-sun-solaris2.8/4.1.0/../../../../i nclude/c++/4.1.0/backward" ignoring duplicate directory "/usr/local/toolchain-4.0.0/lib/gcc/sparc-sun-solaris2.8/4.1.0/include" ignoring nonexistent directory "/usr/local/toolchain-4.0.0/lib/gcc/sparc-sun-solaris2.8/4.1.0/../../../../s parc-sun-solaris2.8/include" #include "..." search starts here: #include <...> search starts here: /home/lib/STLport/stlport /space/home/usr.local/toolchain-4.0.0/bin/../lib/gcc/sparc-sun-solaris2.8/4. 1.0/../../../../include/c++/4.1.0 /space/home/usr.local/toolchain-4.0.0/bin/../lib/gcc/sparc-sun-solaris2.8/4. 1.0/../../../../include/c++/4.1.0/sparc-sun-solaris2.8 /space/home/usr.local/toolchain-4.0.0/bin/../lib/gcc/sparc-sun-solaris2.8/4. 1.0/../../../../include/c++/4.1.0/backward /space/home/usr.local/toolchain-4.0.0/bin/../lib/gcc/sparc-sun-solaris2.8/4. 1.0/include /usr/local/include /usr/local/toolchain-4.0.0/include /usr/include End of search list. sugarconverter.cpp:4:10: warning: #pragma once in main file /space/home/usr.local/toolchain-4.0.0/bin/../libexec/gcc/sparc-sun-solaris2. 8/4.1.0/cc1plus -fpreprocessed sugarconverter.ii -quiet -dumpbase sugarconverter.cpp -mcpu=v7 -auxbase-strip -DUNIX -gstabs+ -version -fPIC -o sugarconverter.s GNU C++ version 4.1.0 20050309 (experimental) (sparc-sun-solaris2.8) compiled by GNU C version 4.0.0 20050221 (experimental). GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 /space/home/usr.local/toolchain-4.0.0/bin/../lib/gcc/sparc-sun-solaris2.8/4. 1.0/../../../../sparc-sun-solaris2.8/bin/as -V -Qy -s -K PIC -xarch=v8 -o -DUNIX sugarconverter.s GNU assembler version 2.14 (sparc-sun-solaris2.8) using BFD version 2.14 20030612 sugarconverter.s: Assembler messages: sugarconverter.s:888: Error: can't resolve `.text' {.text section} - `_ZThn4_N15TSugarConverter5VisitEPK1A' {.gnu.linkonce.t._ZThn4_N15TSugarConverter5VisitEPK1A section} distcc[3959] ERROR: compile (NULL) on localhost failed
Is there a reason why you are using stabs+, the default debuging format on solaris is dwarf-2 which provides more information.
Created attachment 8377 [details] preprocessed and assembler file for sugarconverter.cpp untar and apply this command: g++ -v -save-temps -gstabs+ -fPIC -c -o -DUNIX -DUSING_STLPORT -I/home/lib/S TLport/stlport sugarconverter.o sugarconverter.ii
It's 4.1.0 if I read correctly.
This is most likely the same problem as PR 18170, the error messages are similar.
(In reply to comment #3) > It's 4.1.0 if I read correctly. Yes, actually it's 4.1.0 20050309
(In reply to comment #1) > Is there a reason why you are using stabs+, the default debuging format on solaris is dwarf-2 which > provides more information. yes, file compiles with default format but doesn't with stabs+
(In reply to comment #1) > Is there a reason why you are using stabs+, the default debuging format on solaris is dwarf-2 which > provides more information. stabs+ is used for compatibility issues with Wine
(In reply to comment #7) > stabs+ is used for compatibility issues with Wine So, even mywin (and cygwin) have both moved over to dwarf2.
Subject: Re: invalid assembly with -gstabs+ Hi, If I switch to default debug format, I get an internal compiler error in another file that I guess would have to report as a different bug. I'll need some time though to narrow down the file to something smaller. Ivan ----- Original Message ----- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> To: <ivanr@syncad.com> Sent: Monday, March 14, 2005 9:27 AM Subject: [Bug debug/20446] invalid assembly with -gstabs+ > > ------- Additional Comments From pinskia at gcc dot gnu dot org 2005-03-14 14:27 ------- > (In reply to comment #7) > > stabs+ is used for compatibility issues with Wine > > So, even mywin (and cygwin) have both moved over to dwarf2. > > > -- > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20446 > > ------- You are receiving this mail because: ------- > You reported the bug, or are watching the reporter. > >
With Sun as, I get as: "sugarconverter.s", line 873: error: can't compute difference between symbols in different segments for the same function (which is slightly more descriptive).
Investigating, but STABS+ is crippled in GCC 4.x.
Workaround: -fdelayed-branch (enabled at -O and above).
Recategorizing.
Subject: Bug 20446 CVSROOT: /cvs/gcc Module name: gcc Changes by: ebotcazou@gcc.gnu.org 2005-04-04 15:29:12 Modified files: gcc : ChangeLog gcc/config/sparc: linux.h linux64.h sparc.c sparc.h Log message: PR target/20446 * config/sparc/sparc.h (NEED_INDICATE_EXEC_STACK): Define to 0. * config/sparc/linux.h (TARGET_ASM_FILE_END): Delete. (NEED_INDICATE_EXEC_STACK): Define to 1. * config/sparc/linux64.h (TARGET_ASM_FILE_END): Delete. (NEED_INDICATE_EXEC_STACK): Define to 1. * config/sparc/sparc.c (TARGET_ASM_FILE_END): Set to sparc_file_end. (add_pc_to_pic_symbol): Rename into pic_helper_symbol. (add_pc_to_pic_symbol_name): Rename into pic_helper_symbol_name. (pic_helper_emitted_p): New global. (emit_pic_helper): New function extracted from... (load_pic_register): ...here. Add 'delay_pic_helper' parameter. Do not call emit_pic_helper if delay_pic_helper is true. (sparc_expand_prologue): Pass 'false' to load_pic_register. (sparc_output_mi_thunk): Pass 'true' to load_pic_register. (sparc_file_end): New function. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.8118&r2=2.8119 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/linux.h.diff?cvsroot=gcc&r1=1.68&r2=1.69 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/linux64.h.diff?cvsroot=gcc&r1=1.91&r2=1.92 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.c.diff?cvsroot=gcc&r1=1.358&r2=1.359 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.h.diff?cvsroot=gcc&r1=1.273&r2=1.274
Subject: Bug 20446 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-4_0-branch Changes by: ebotcazou@gcc.gnu.org 2005-04-04 15:32:03 Modified files: gcc : ChangeLog gcc/config/sparc: linux.h linux64.h sparc.c sparc.h Log message: PR target/20446 * config/sparc/sparc.h (NEED_INDICATE_EXEC_STACK): Define to 0. * config/sparc/linux.h (TARGET_ASM_FILE_END): Delete. (NEED_INDICATE_EXEC_STACK): Define to 1. * config/sparc/linux64.h (TARGET_ASM_FILE_END): Delete. (NEED_INDICATE_EXEC_STACK): Define to 1. * config/sparc/sparc.c (TARGET_ASM_FILE_END): Set to sparc_file_end. (add_pc_to_pic_symbol): Rename into pic_helper_symbol. (add_pc_to_pic_symbol_name): Rename into pic_helper_symbol_name. (pic_helper_emitted_p): New global. (emit_pic_helper): New function extracted from... (load_pic_register): ...here. Add 'delay_pic_helper' parameter. Do not call emit_pic_helper if delay_pic_helper is true. (sparc_expand_prologue): Pass 'false' to load_pic_register. (sparc_output_mi_thunk): Pass 'true' to load_pic_register. (sparc_file_end): New function. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.120&r2=2.7592.2.121 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/linux.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.68&r2=1.68.8.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/linux64.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.91&r2=1.91.8.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.354&r2=1.354.8.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.273&r2=1.273.8.1
See http://gcc.gnu.org/ml/gcc-patches/2005-04/msg00359.html
Subject: Re: [4.0/4.1 Regression] invalid assembly with -gstabs+ patch tested. works fine. thanks!
Thanks for confirming.
Reopened ...
... to close as FIXED.