[Bug target/39186] Configury incorrect for 64-bit Targets on Solaris

2011-07-18 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39186

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ro at gcc dot gnu.org
 Resolution||DUPLICATE
   Target Milestone|--- |4.7.0

--- Comment #12 from Rainer Orth ro at gcc dot gnu.org 2011-07-18 16:36:37 
UTC ---
gcc 4.7.0 will have a x86_64-pc-solaris2.1? configuration for real.

  Rainer

*** This bug has been marked as a duplicate of bug 39150 ***


[Bug target/39186] Configury incorrect for 64-bit Targets on Solaris

2009-02-16 Thread rob1weld at aol dot com


--- Comment #11 from rob1weld at aol dot com  2009-02-16 13:12 ---
Results for 4.4.0 20090215 (experimental) [trunk revision 144190] (GCC)
testsuite on x86_64-pc-solaris2.11
http://gcc.gnu.org/ml/gcc-testresults/2009-02/msg01526.html

Rob


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39186



[Bug target/39186] Configury incorrect for 64-bit Targets on Solaris

2009-02-15 Thread rob1weld at aol dot com


--- Comment #10 from rob1weld at aol dot com  2009-02-15 08:40 ---
Getting this working depended on re-fixing this Bug that is closed 
(for other x86_64-* Targets) but affects this new Target:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31868


The Testsuite Results (NOT mailed) show some work is still needed:
# gmake -i -k check
...
FAIL: gcc.c-torture/compile/limits-exprparen.c  -Os  (test for excess errors)
FAIL: gcc.c-torture/compile/limits-structnest.c  -O2  (test for excess errors)
...
Running
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
...
FAIL: gcc.c-torture/execute/builtins/20010124-1.c compilation,  -O0 
(Probably _ALL_ Builtins FAILed)
FAIL: gcc.c-torture/execute/builtins/vsprintf-chk.c compilation,  -Os 
Running
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.c-torture/execute/execute.exp ...
(Probably _ALL_ execute.exp's FAILed)
FAIL: gcc.c-torture/execute/ieee/unsafe-fp-assoc.c compilation,  -Os 
Running
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/autopar/autopar.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/charset/charset.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/compat/compat.exp ...
FAIL: gcc.dg/compat/fnptr-by-value-1 c_compat_x_tst.o-c_compat_y_tst.o link
(Probably _ALL_ compat_y_tst.o's FAILed to link)
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/cpp/cpp.exp ...
FAIL: gcc.dg/cpp/19990407-1.c -fno-show-column (test for excess errors)
WARNING: gcc.dg/cpp/19990407-1.c -fno-show-column compilation failed to produce
executable
(Thousands more, but some good results too)
FAIL: gcc.dg/tree-ssa/vrp45.c (test for excess errors)
Running
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp
...
Running
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp
...
Running
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp
...
Running
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp
...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/vect/vect.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/vmx/vmx.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/vxworks/vxworks.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/weak/weak.exp ...
FAIL: gcc.dg/weak/weak-14.c (test for excess errors)
WARNING: gcc.dg/weak/weak-14.c compilation failed to produce executable
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/acker1.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/arm-isr.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/bprob.exp ...
FAIL: gcc.misc-tests/bprob-1.c compilation,  -fprofile-arcs
FAIL: gcc.misc-tests/bprob-2.c compilation,  -fprofile-arcs
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/dectest.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/dhry.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/gcov.exp ...
FAIL: gcc.misc-tests/gcov-1.c (test for excess errors)
WARNING: gcc.misc-tests/gcov-1.c compilation failed to produce executable
FAIL: 14:is #:should be 11
FAIL: 15:is #:should be 10
FAIL: 17:is #:should be 1
FAIL: gcc.misc-tests/gcov-1.c gcov: 3 failures in line counts, 0 in branch
percentages, 0 in return percentages
FAIL: gcc.misc-tests/gcov-10.c (test for excess errors)
FAIL: gcc.misc-tests/gcov-9.c gcov: 1 failures in line counts, 0 in branch
percentages, 0 in return percentages
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/i386-prefetch.exp
...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/linkage.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/matrix1.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/mg-2.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/mg.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/options.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/sieve.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.misc-tests/sort2.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.target/alpha/alpha.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.target/arm/arm.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.target/arm/neon/neon.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.target/avr/avr.exp ...
Running
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp
...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.target/bfin/bfin.exp ...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.target/cris/cris.exp ...
Running
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.target/cris/torture/cris-torture.exp
...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.target/frv/frv.exp ...
Running 

[Bug target/39186] Configury incorrect for 64-bit Targets on Solaris

2009-02-14 Thread rob1weld at aol dot com


--- Comment #9 from rob1weld at aol dot com  2009-02-14 14:36 ---
The Beast raises it's head (just C only):

# x86_64-pc-solaris2.11-gcc -v
Using built-in specs.
Target: x86_64-pc-solaris2.11
Configured with: ../gcc_trunk/configure --build=i386-pc-solaris2.11
--target=x86_64-pc-solaris2.11
--enable-languages=ada,c,c++,fortran,java,objc,obj-c++ --enable-shared
--disable-static --enable-multilib --enable-decimal-float
--with-long-double-128 --with-included-gettext --enable-stage1-checking
--enable-checking=release --with-tune=k8 --with-cpu=k8 --with-arch=k8
--with-gnu-as --with-as=/usr/local/bin/as --with-gnu-ld
--with-ld=/usr/local/bin/ld --with-gmp=/usr/local --with-mpfr=/usr/local
--without-ppl
Thread model: posix
gcc version 4.4.0 20090214 (experimental) [trunk revision 144177] (GCC) 

Tada,
Rob


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39186



[Bug target/39186] Configury incorrect for 64-bit Targets on Solaris

2009-02-13 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2009-02-13 23:54 ---
the -X86_64 option is not being passed to as which is a bug in the specs.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|bootstrap   |target


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39186



[Bug target/39186] Configury incorrect for 64-bit Targets on Solaris

2009-02-13 Thread rob1weld at aol dot com


--- Comment #2 from rob1weld at aol dot com  2009-02-14 01:19 ---
A quick hack in ../gcc_trunk/libgcc/configure (line 2065) to
add -m64 to the 'ac_compile' and 'ac_link' lines will allow
the build to proceed through libgcc to libgcov where it then
fails due to an issue unrelated to this Bug.

Once I get the 'Build Path' constructed I'll go back and
make correct patches to the correct files.


 Andrew: the -X86_64 option is not being passed to as which is a bug in the 
 specs.

I am glad I am not the only one who sees there is something needing
fixing in order for all (most) Platforms to compile with a 'similar 
logic method' (to the extent possible). 

I don't like to see parts of the Build getting skipped when they 
could easily work the same as they do on another Platform. A big 
part of Porting is to get a 'similar' program on different Platforms.
Some Software Manufacturers make 'nearly identical versions' on
quite different Platforms will well received results.

I can appreciate that we are not striving for identical but we 
ought to avoid having 100 dozen ways of building gcc as a result of 
having a half dozen ways of asking how it is to be built (for
each HTB).

Rob


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39186



[Bug target/39186] Configury incorrect for 64-bit Targets on Solaris

2009-02-13 Thread rob1weld at aol dot com


--- Comment #3 from rob1weld at aol dot com  2009-02-14 02:06 ---
The next issue is here:

../gcc_trunk/gcc/unwind-dw2.c and ../gcc_trunk/gcc/unwind-dw2-fde.c, etc ...


../../../../gcc_trunk/libgcc/../gcc/gthr-posix.h:44:21: error: pthread.h: No
such file or directory
../../../../gcc_trunk/libgcc/../gcc/gthr-posix.h:45:20: error: unistd.h: No
such file or directory
In file included from ../../.././gcc/gthr-default.h:1,
 from ../../../../gcc_trunk/libgcc/../gcc/gthr.h:165,
 from ../../../../gcc_trunk/libgcc/../gcc/unwind-dw2.c:42:
../../../../gcc_trunk/libgcc/../gcc/gthr-posix.h:47: error: expected ‘=’, ‘,’,
‘;’, ‘asm’ or ‘__attribute__’ before ‘__gthread_t’


I built that one file manually by adding -I/usr/include to the
list of include directories, that allowed it to find pthread.h
and unistd.h.


I tried adding -I/usr/include into the Makefile in
../gcc_build/x86_64-pc-solaris2.11/amd64/libgcc like this:

# Specify the directories to be searched for header files.
# Both . and srcdir are used, in that order,
# so that *config.h will be found in the compilation
# subdirectory rather than in the source directory.
# -I$(@D) and -I$(srcdir)/$(@D) cause the subdirectory of the file
# currently being compiled, in both source trees, to be examined as well.
INCLUDES = -I. -I$(@D) -I$(gcc_objdir) \
   -I$(srcdir) -I$(srcdir)/$(@D) -I$(srcdir)/../gcc \
   -I$(srcdir)/../include $(DECNUMINC) -I/usr/include


That works for a while but when I get here:

/usr/share/src/gcc_build/./gcc/xgcc -v -B/usr/share/src/gcc_build/./gcc/
-B/usr/local/x86_64-pc-solaris2.11/bin/ -B/usr/local/x86_64-pc-solaris2.11/lib/
-isystem /usr/local/x86_64-pc-solaris2.11/include -isystem
/usr/local/x86_64-pc-solaris2.11/sys-include -O2 -g -O2 -DIN_GCC
-DCROSS_DIRECTORY_STRUCTURE -DNATIVE_CROSS  -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition 
-isystem ./include  -I.
-I/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc
-I../../gcc_trunk/gcc
-I../../gcc_trunk/gcc//usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc
-I../../gcc_trunk/gcc/../include -I./../intl
-I../../gcc_trunk/gcc/../libcpp/include -I/usr/local/include
-I/usr/local/include -I../../gcc_trunk/gcc/../libdecnumber
-I../../gcc_trunk/gcc/../libdecnumber/dpd -I../libdecnumber   -g -O2 -m64 -g0
-finhibit-size-directive -fno-inline-functions -fno-exceptions
-fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize
-Dinhibit_libc -c ../../gcc_trunk/gcc/crtstuff.c -DCRT_BEGIN --save-temps -o
/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc/crtbegin.o

I get this:

...
 /usr/local/bin/as -v -I.
-I/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc
-I../../gcc_trunk/gcc
-I../../gcc_trunk/gcc//usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc
-I../../gcc_trunk/gcc/../include -I./../intl
-I../../gcc_trunk/gcc/../libcpp/include -I/usr/local/include
-I/usr/local/include -I../../gcc_trunk/gcc/../libdecnumber
-I../../gcc_trunk/gcc/../libdecnumber/dpd -I../libdecnumber -V -Qy --64 -s -o
/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc/crtbegin.o
crtstuff.s
GNU assembler version 2.19.1 (i386-pc-solaris2.11) using BFD version (GNU
Binutils) 2.19.1
crtstuff.s: Assembler messages:
crtstuff.s:91: Error: suffix or operands invalid for `pop'
crtstuff.s:92: Error: Incorrect register `%rdx' used with `l' suffix


.p2align 4,,15
.type   frame_dummy, @function
frame_dummy:
.LFB4:
.cfi_startproc
pushq   %rbp
.cfi_def_cfa_offset 16
movl$__register_frame_info_bases, %eax
/APP
/ 354 ../../gcc_trunk/gcc/crtstuff.c 1
call.LPR53
.LPR53:
popl%rdx
addl$_GLOBAL_OFFSET_TABLE_+[.-.LPR53],%rdx
/ 0  2
/NO_APP


Line 91:popl%rdx
Line 92:addl$_GLOBAL_OFFSET_TABLE_+[.-.LPR53],%rdx

Tossing an -m32 into the end of the xgcc ... command will
compile without errors. Thus, I conclude that the -m32 for
gcc (which does produce an --64 for the assembler) is somehow
giving us 32 bit code instead of 64 bit. Investigating ...

Rob


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39186



[Bug target/39186] Configury incorrect for 64-bit Targets on Solaris

2009-02-13 Thread rob1weld at aol dot com


--- Comment #4 from rob1weld at aol dot com  2009-02-14 02:08 ---
Correction, should have said:

-Thus, I conclude that the -m32 for
+Thus, I conclude that the -m64 for


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39186



[Bug target/39186] Configury incorrect for 64-bit Targets on Solaris

2009-02-13 Thread rob1weld at aol dot com


--- Comment #5 from rob1weld at aol dot com  2009-02-14 02:48 ---
I forced that 32 bit and continued, failing here:

T=`${PWDCMD-pwd}`/ \
 cd ../../.././gcc \
 gmake GCC_FOR_TARGET=/usr/share/src/gcc_build/./gcc/xgcc
-B/usr/share/src/gcc_build/./gcc/ -B/usr/local/x86_64-pc-solaris2.11/bin/
-B/usr/local/x86_64-pc-solaris2.11/lib/ -isystem
/usr/local/x86_64-pc-solaris2.11/include -isystem
/usr/local/x86_64-pc-solaris2.11/sys-include \
  MULTILIB_CFLAGS=-g -O2 -m64 \
  T=$T \
  T_TARGET=${T}crtbegin.o ${T}crtend.o ${T}gmon.o \
  T_TARGET
gmake[5]: Entering directory `/usr/share/src/gcc_build/gcc'
/usr/share/src/gcc_build/./gcc/xgcc -B/usr/share/src/gcc_build/./gcc/
-B/usr/local/x86_64-pc-solaris2.11/bin/ -B/usr/local/x86_64-pc-solaris2.11/lib/
-isystem /usr/local/x86_64-pc-solaris2.11/include -isystem
/usr/local/x86_64-pc-solaris2.11/sys-include -O2 -g -O2 -DIN_GCC
-DCROSS_DIRECTORY_STRUCTURE -DNATIVE_CROSS  -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition 
-isystem ./include  -I.
-I/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc
-I../../gcc_trunk/gcc
-I../../gcc_trunk/gcc//usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc
-I../../gcc_trunk/gcc/../include -I./../intl
-I../../gcc_trunk/gcc/../libcpp/include -I/usr/local/include
-I/usr/local/include -I../../gcc_trunk/gcc/../libdecnumber
-I../../gcc_trunk/gcc/../libdecnumber/dpd -I../libdecnumber   -g -O2 -m64 -g0
-finhibit-size-directive -fno-inline-functions -fno-exceptions
-fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize
-Dinhibit_libc  \
  -c ../../gcc_trunk/gcc/crtstuff.c -DCRT_END \
  -o /usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc/crtend.o
gmake[5]: *** No rule to make target
`/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc/gmon.o', needed by
`T_TARGET'.  Stop.
gmake[5]: Leaving directory `/usr/share/src/gcc_build/gcc'
gmake[4]: *** [gcc-extra-parts] Error 2
gmake[4]: Leaving directory
`/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc'
gmake[3]: *** [multi-do] Error 1
gmake[3]: Leaving directory
`/usr/share/src/gcc_build/x86_64-pc-solaris2.11/libgcc'
gmake[2]: *** [all-multi] Error 2
gmake[2]: Leaving directory
`/usr/share/src/gcc_build/x86_64-pc-solaris2.11/libgcc'
gmake[1]: *** [all-target-libgcc] Error 2
gmake[1]: Leaving directory `/usr/share/src/gcc_build'
gmake: *** [all] Error 2


If I run locate this is the partial output:

# slocate gmon.o
...
/usr/local/lib/gcc/i386-pc-solaris2.11/4.4.0/amd64/gmon.o
/usr/local/lib/gcc/i386-pc-solaris2.11/4.4.0/gmon.o
/usr/share/src/gcc_build/gcc/amd64/gmon.o
/usr/share/src/gcc_build/gcc/gmon.o
/usr/share/src/gcc_build/i386-pc-solaris2.11/amd64/libgcc/gmon.o
/usr/share/src/gcc_build/i386-pc-solaris2.11/libgcc/gmon.o
/usr/share/src/gcc_build/prev-gcc/amd64/gmon.o
/usr/share/src/gcc_build/prev-gcc/gmon.o
/usr/share/src/gcc_build/prev-i386-pc-solaris2.11/amd64/libgcc/gmon.o
/usr/share/src/gcc_build/prev-i386-pc-solaris2.11/libgcc/gmon.o
/usr/share/src/gcc_build/stage1-gcc/amd64/gmon.o
/usr/share/src/gcc_build/stage1-gcc/gmon.o
/usr/share/src/gcc_build/stage1-i386-pc-solaris2.11/amd64/libgcc/gmon.o
/usr/share/src/gcc_build/stage1-i386-pc-solaris2.11/libgcc/gmon.o


Fortunately I am not _really_ cross compiling so I can cheat and 
simply copy a 'gmon.o' where I need it. IF someone were actually 
cross-compiling the scripts would be too broken to work for them.

Rob


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39186



[Bug target/39186] Configury incorrect for 64-bit Targets on Solaris

2009-02-13 Thread rob1weld at aol dot com


--- Comment #6 from rob1weld at aol dot com  2009-02-14 03:39 ---
I wonder if I discovered a regression ...

If I compile with gcc version 4.4.0 20090213 (experimental) [trunk revision
144149] it produces a little of 32-bit code that is not going to get
compiled with all the -m64 and --64's on the command lines (and
NO '32' stuff). I end up with this error:

/usr/local/bin/as -v -I.
-I/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc
-I../../gcc_trunk/gcc
-I../../gcc_trunk/gcc//usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc
-I../../gcc_trunk/gcc/../include -I./../intl
-I../../gcc_trunk/gcc/../libcpp/include -I/usr/local/include
-I/usr/local/include -V -Qy --64 -s -o
/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc/crtbegin.o
crtstuff.s
GNU assembler version 2.19.1 (i386-pc-solaris2.11) using BFD version (GNU
Binutils) 2.19.1
crtstuff.s: Assembler messages:
crtstuff.s:106: Error: suffix or operands invalid for `pop'
crtstuff.s:107: Error: Incorrect register `%rdx' used with `l' suffix


If I compile with gcc version 4.0.2 it says this:

../../gcc_trunk/gcc/crtstuff.c:0: sorry, unimplemented: 64-bit mode not
compiled in


That is a more helpful error message, now to investigate if it is true.


# /opt/csw/gcc4/bin/gcc -v
Reading specs from /opt/csw/gcc4/lib/gcc/i386-pc-solaris2.8/4.0.2/specs
Target: i386-pc-solaris2.8
Configured with: ../sources/gcc-4.0.2/configure --prefix=/opt/csw/gcc4
--with-local-prefix=/opt/csw --with-gnu-as --with-as=/opt/csw/bin/gas
--without-gnu-ld --with-ld=/usr/ccs/bin/ld --enable-threads=posix
--enable-shared --enable-multilib --enable-nls --with-included-gettext
--with-libiconv-prefix=/opt/csw --with-x --enable-java-awt=xlib
--with-system-zlib --enable-languages=c,c++,f95,java,objc,ada
Thread model: posix
gcc version 4.0.2

Rob


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39186



[Bug target/39186] Configury incorrect for 64-bit Targets on Solaris

2009-02-13 Thread rob1weld at aol dot com


--- Comment #7 from rob1weld at aol dot com  2009-02-14 04:17 ---
I grepped for CRT_GET_RFIB_DATA and found a definition at the tail of: 
/usr/share/src/gcc_trunk/gcc/config/frv/frv.h .


Here is ../gcc_trunk/gcc/crtstuff.c :
static void __attribute__((used))
frame_dummy (void)
{ ...

and the error:

/usr/local/bin/as -v -I.
-I/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc
-I../../gcc_trunk/gcc
-I../../gcc_trunk/gcc//usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc
-I../../gcc_trunk/gcc/../include -I./../intl
-I../../gcc_trunk/gcc/../libcpp/include -I/usr/local/include
-I/usr/local/include -I../../gcc_trunk/gcc/../libdecnumber
-I../../gcc_trunk/gcc/../libdecnumber/dpd -I../libdecnumber -V -Qy --64 -s -o
/usr/share/src/gcc_build/x86_64-pc-solaris2.11/amd64/libgcc/crtbegin.o
crtstuff.s
GNU assembler version 2.19.1 (i386-pc-solaris2.11) using BFD version (GNU
Binutils) 2.19.1
crtstuff.s: Assembler messages:
crtstuff.s:91: Error: suffix or operands invalid for `pop'
crtstuff.s:92: Error: Incorrect register `%rdx' used with `l' suffix


Here is a (likely incorrect) modification:

#define CRT_GET_RFIB_DATA(dbase) \
  ({ extern void *_GLOBAL_OFFSET_TABLE_; (dbase) = _GLOBAL_OFFSET_TABLE_; })
static void __attribute__((used))
frame_dummy (void)
{ ...


but no error messages ... So the existing definition (if I can locate it)
is borked and hardwired 32 bit. It could be a file created by a script
or a static (non-created) file. Slowly I inch forward ...

Rob


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39186



[Bug target/39186] Configury incorrect for 64-bit Targets on Solaris

2009-02-13 Thread rob1weld at aol dot com


--- Comment #8 from rob1weld at aol dot com  2009-02-14 04:36 ---
(In reply to comment #7)
 ...
 Slowly I inch forward ...
and go back ...

/usr/local/bin/ld: /usr/share/src/gcc_build/./gcc/amd64/crtbegin.o: relocation
R_X86_64_32 against `__DTOR_END__' can not be used when making a shared object;
recompile with -fPIC

We need to build 'crtbegin.o' using '-fPIC' - works.

Rob


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39186