public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug inline-asm/39048]  New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
@ 2009-01-31 17:48 rob1weld at aol dot com
  2009-01-31 22:28 ` [Bug inline-asm/39048] " ubizjak at gmail dot com
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: rob1weld at aol dot com @ 2009-01-31 17:48 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 7972 bytes --]

I looked for a "Component" for 'libgcc' but there is no such category so I
chose 'inline-asm' as this is an "extra underscore issue" with '.s' files.

# gcc/xgcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: ../gcc_trunk/configure
--enable-languages=ada,c,c++,fortran,java,objc,obj-c++ --enable-shared
--disable-static --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
Thread model: posix
gcc version 4.4.0 20090131 (experimental) [trunk revision 143817] (GCC) 

Note: I use GNU's 'ld' on OpenSolaris.


When I run "make -i check" I get this:
...
Running /usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/torture/dg-torture.exp
...
FAIL: gcc.dg/torture/fp-int-convert-float128.c  -O0  (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -O0  compilation failed to
produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c  -O1  (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -O1  compilation failed to
produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c  -O2  (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -O2  compilation failed to
produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c  -O3 -fomit-frame-pointer  (test
for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -O3 -fomit-frame-pointer 
compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c  -O3 -g  (test for excess
errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -O3 -g  compilation failed
to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c  -Os  (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -Os  compilation failed to
produce executable
...


I tried to compile the Testsuite case "gcc.dg/torture/fp-int-convert-float.c"
by hand to investigate these errors:

Executing on host: /usr/share/src/gcc_build/gcc/xgcc
-B/usr/share/src/gcc_build/gcc/
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/torture/fp-int-convert-float128.c
  -O0    -lm   -o ./fp-int-convert-float128.exe    (timeout = 300)
/var/tmp//cc_XaqHO.o: In function `main':


fp-int-convert-float128.c:(.text+0x3a): undefined reference to `__floatsitf'


fp-int-convert-float128.c:(.text+0x5a): undefined reference to `__fixtfsi'


fp-int-convert-float128.c:(.text+0xa1): undefined reference to `__netf2'
...
fp-int-convert-float128.c:(.text+0xa5f3): undefined reference to `__netf2'


collect2: ld returned 1 exit status


FAIL: gcc.dg/torture/fp-int-convert-float128.c  -O3 -fomit-frame-pointer  (test
for excess errors)
Excess errors:
...
fp-int-convert-float128.c:(.text+0xa4f8): undefined reference to
`__floatunditf'
fp-int-convert-float128.c:(.text+0xa516): undefined reference to `__fixunstfdi'
fp-int-convert-float128.c:(.text+0xa598): undefined reference to `__netf2'
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -O3 -fomit-frame-pointer 
compilation failed to produce executable


Where are those functions and what are they called:

# find /usr/share/src/gcc_build/i386-pc-solaris2.11/ -name *floatunditf*
/usr/share/src/gcc_build/i386-pc-solaris2.11/amd64/libgcc/_floatunditf_s.o
/usr/share/src/gcc_build/i386-pc-solaris2.11/amd64/libgcc/_floatunditf.o
/usr/share/src/gcc_build/i386-pc-solaris2.11/amd64/libgcc/_floatunditf.dep
/usr/share/src/gcc_build/i386-pc-solaris2.11/amd64/libgcc/_floatunditf_s.dep
/usr/share/src/gcc_build/i386-pc-solaris2.11/libgcc/_floatunditf.dep
/usr/share/src/gcc_build/i386-pc-solaris2.11/libgcc/_floatunditf.o
/usr/share/src/gcc_build/i386-pc-solaris2.11/libgcc/_floatunditf_s.dep
/usr/share/src/gcc_build/i386-pc-solaris2.11/libgcc/_floatunditf_s.o


Failing Command:

/usr/share/src/gcc_build/gcc/xgcc -B/usr/share/src/gcc_build/gcc/
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/torture/fp-int-convert-float128.c
  -O3 -g    -lm   -o ./fp-int-convert-float128.exe


Working Command (Note that I add -lgcc to provoke the linker):

# /usr/share/src/gcc_build/gcc/xgcc -B/usr/share/src/gcc_build/gcc/
/usr/share/src/gcc_trunk/gcc/testsuite/gcc.dg/torture/fp-int-convert-float128.c
/usr/share/src/gcc_trunk/gcc/config/soft-fp/floatunditf.c
/usr/share/src/gcc_trunk/gcc/config/soft-fp/floatunsitf.c
/usr/share/src/gcc_trunk/gcc/config/soft-fp/floatsitf.c
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixunstfdi.c
/usr/share/src/gcc_trunk/gcc/config/soft-fp/floatditf.c
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixtfsi.c
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixunstfsi.c
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixtfdi.c
/usr/share/src/gcc_trunk/gcc/config/soft-fp/eqtf2.c
-I/usr/share/src/gcc_trunk/gcc/config/i386/ -I/usr/share/src/gcc_trunk/libgcc/
-I/usr/share/src/gcc_trunk/gcc/  -O0 -lm -lgcc -o ./fp-int-convert-float128.exe
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixtfsi.c: In function ‘__fixtfsi’:
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixtfsi.c:42: warning: left shift
count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixtfsi.c:42: warning: left shift
count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixtfsi.c:42: warning: left shift
count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixtfsi.c:42: warning: left shift
count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixtfsi.c:42: warning: left shift
count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixtfsi.c:42: warning: left shift
count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixtfsi.c:42: warning: left shift
count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixtfsi.c:42: warning: left shift
count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixunstfsi.c: In function
‘__fixunstfsi’:
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixunstfsi.c:42: warning: left
shift count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixunstfsi.c:42: warning: left
shift count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixunstfsi.c:42: warning: left
shift count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixunstfsi.c:42: warning: left
shift count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixunstfsi.c:42: warning: left
shift count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixunstfsi.c:42: warning: left
shift count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixunstfsi.c:42: warning: left
shift count >= width of type
/usr/share/src/gcc_trunk/gcc/config/soft-fp/fixunstfsi.c:42: warning: left
shift count >= width of type
#

# ./fp-int-convert-float128.exe
#


Works. Even though I used "-lgcc" there was no 'collision' between the 
various "conversion functions". The unwanted underscores hide them.

I used the soft-fp "C" source files instead of relying on the double
underscored versions of these functions that are in libgcc and was
able to hand-compile and run ./fp-int-convert-float128.exe .

The Testsuite tests for these "conversion functions" could work
if they were fixed. These files might have first been discussed here:
http://gcc.gnu.org/ml/gcc-patches/2006-05/msg00968.html .

Rob


-- 
           Summary: gcc 4.4.0 20090131 - Extra underscore hides libgcc's
                    soft-fp functions from Testsuite causing FAILs + naming
                    error in libgcc
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: inline-asm
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rob1weld at aol dot com
 GCC build triplet: i386-pc-solaris2.11
  GCC host triplet: i386-pc-solaris2.11
GCC target triplet: i386-pc-solaris2.11


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
@ 2009-01-31 22:28 ` ubizjak at gmail dot com
  2009-02-05  3:43 ` rob1weld at aol dot com
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: ubizjak at gmail dot com @ 2009-01-31 22:28 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from ubizjak at gmail dot com  2009-01-31 22:28 -------
You can use following (slightly wrapped...) patch to enable 128bit soft-fp on
Solaris:

--cut here--
Index: config.gcc
===================================================================
--- config.gcc  (revision 143833)
+++ config.gcc  (working copy)
@@ -3058,6 +3058,9 @@
        i[34567]86-*-linux* | x86_64-*-linux*)
                tmake_file="${tmake_file} i386/t-fprules-softfp
soft-fp/t-softfp i386/t-linux"
                ;;
+       i[34567]86-*-solaris2*)
+               tmake_file="${tmake_file} i386/t-fprules-softfp
soft-fp/t-softfp"
+               ;;

        mips*-*-*)
                if test x$gnu_ld = xyes
--cut here--

Probably, it works out-of-the-box, otherwise please look into configuration
files in libgcc/config/i386/{32,64}.


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
  2009-01-31 22:28 ` [Bug inline-asm/39048] " ubizjak at gmail dot com
@ 2009-02-05  3:43 ` rob1weld at aol dot com
  2009-02-06 14:12 ` rob1weld at aol dot com
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rob1weld at aol dot com @ 2009-02-05  3:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from rob1weld at aol dot com  2009-02-05 03:43 -------
(In reply to comment #1)
> You can use following (slightly wrapped...) patch to enable 128bit soft-fp on
> Solaris:
> 
Thanks, I'll try that this week (working on a P1).

Please read the ChangeLog:

../gcc_trunk/ChangeLog: * configure.ac: Recognize GNU/kOpenSolaris
(*-*-kopensolaris*-gnu).

../gcc_trunk/ChangeLog: * libtool.m4: Add kfreebsd*-gnu and knetbsd*-gnu.



You might want to change that to allow for the new Targets k*bsd and
kopensolaris ("OpenSolaris Kernel with *BSD" and "OpenSolaris Kernel with 
GNU Libc"):

@@ -3058,6 +3058,9 @@
-        i[34567]86-*-linux* | x86_64-*-linux*)
+        i[34567]86-*-linux* | x86_64-*-linux* *-*-kopensolaris*-gnu
kfreebsd*-gnu* knetbsd*-gnu* x86_64-*kfreebsd*-gnu)


Thanks for the Tip,
Rob


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
  2009-01-31 22:28 ` [Bug inline-asm/39048] " ubizjak at gmail dot com
  2009-02-05  3:43 ` rob1weld at aol dot com
@ 2009-02-06 14:12 ` rob1weld at aol dot com
  2009-02-06 14:40 ` rob1weld at aol dot com
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rob1weld at aol dot com @ 2009-02-06 14:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from rob1weld at aol dot com  2009-02-06 14:11 -------
I tossed in that patch and it cause gcc's build to fail here:

../../../gcc_trunk/libgcc/../gcc/config/soft-fp/floatditf.c:35: warning: no
previous prototype for '__floatditf'
/usr/share/src/gcc_build/./gcc/xgcc -B/usr/share/src/gcc_build/./gcc/
-B/usr/local/i386-pc-solaris2.11/bin/ -B/usr/local/i386-pc-solaris2.11/lib/
-isystem /usr/local/i386-pc-solaris2.11/include -isystem
/usr/local/i386-pc-solaris2.11/sys-include -g -O2 -O2  -g -O2 -DIN_GCC   -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../.././gcc
-I../../../gcc_trunk/libgcc -I../../../gcc_trunk/libgcc/.
-I../../../gcc_trunk/libgcc/../gcc -I../../../gcc_trunk/libgcc/../include
-I../../../gcc_trunk/libgcc/../libdecnumber/dpd
-I../../../gcc_trunk/libgcc/../libdecnumber -DHAVE_CC_TLS -o floatunditf.o -MT
floatunditf.o -MD -MP -MF floatunditf.dep -fexceptions -c
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/floatunditf.c
-fvisibility=hidden -DHIDE_EXPORTS
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/floatunditf.c:36: warning: no
previous prototype for '__floatunditf'
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/floatunditf.c: In function
'__floatunditf':
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/floatunditf.c:42: warning:
comparison of unsigned expression < 0 is always false
/usr/share/src/gcc_build/./gcc/xgcc -B/usr/share/src/gcc_build/./gcc/
-B/usr/local/i386-pc-solaris2.11/bin/ -B/usr/local/i386-pc-solaris2.11/lib/
-isystem /usr/local/i386-pc-solaris2.11/include -isystem
/usr/local/i386-pc-solaris2.11/sys-include -g -O2 -O2  -g -O2 -DIN_GCC   -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../.././gcc
-I../../../gcc_trunk/libgcc -I../../../gcc_trunk/libgcc/.
-I../../../gcc_trunk/libgcc/../gcc -I../../../gcc_trunk/libgcc/../include
-I../../../gcc_trunk/libgcc/../libdecnumber/dpd
-I../../../gcc_trunk/libgcc/../libdecnumber -DHAVE_CC_TLS -o fixtfti.o -MT
fixtfti.o -MD -MP -MF fixtfti.dep -fexceptions -c
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c -fvisibility=hidden
-DHIDE_EXPORTS
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:34: error: expected
'=', ',', ';', 'asm' or '__attribute__' before '__fixtfti'
gmake[3]: *** [fixtfti.o] Error 1
gmake[3]: Leaving directory
`/usr/share/src/gcc_build/i386-pc-solaris2.11/libgcc'
gmake[2]: *** [all-stage1-target-libgcc] Error 2
gmake[2]: Leaving directory `/usr/share/src/gcc_build'
gmake[1]: *** [stage1-bubble] Error 2
gmake[1]: Leaving directory `/usr/share/src/gcc_build'
gmake: *** [all] Error 2


I guess that it is missing an Include file or the included files
have generated portions that missed TMODES inclusions ...


When I add these lines to the top of fixtfti.c it complains about TI_BITS:

typedef int TItype __attribute__ ((mode (TI)));
typedef unsigned int UTItype __attribute__ ((mode (TI)));

# gmake
...
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:36: error: unable to
emulate 'TI'
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:37: error: unable to
emulate 'TI'
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:40: warning: no
previous prototype for '__fixtfti'
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c: In function
'__fixtfti':
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: error: 'TI_BITS'
undeclared (first use in this function)
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: error: (Each
undeclared identifier is reported only once
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: error: for each
function it appears in.)
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left
shift count >= width of type
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left
shift count >= width of type
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left
shift count >= width of type
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left
shift count >= width of type
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left
shift count >= width of type
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left
shift count >= width of type
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left
shift count >= width of type
../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left
shift count >= width of type


I'll play with it some more while I await the help from an expert (or
succeed in Googling my own help).


Thanks,
Rob


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
                   ` (2 preceding siblings ...)
  2009-02-06 14:12 ` rob1weld at aol dot com
@ 2009-02-06 14:40 ` rob1weld at aol dot com
  2009-02-06 16:31 ` ubizjak at gmail dot com
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rob1weld at aol dot com @ 2009-02-06 14:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from rob1weld at aol dot com  2009-02-06 14:40 -------
Do we support TImode arithmetic on many platforms?, See:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17279
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19493

I am booted in 32-bit mode (and building multilib).
Rob


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
                   ` (3 preceding siblings ...)
  2009-02-06 14:40 ` rob1weld at aol dot com
@ 2009-02-06 16:31 ` ubizjak at gmail dot com
  2009-02-06 16:36 ` ubizjak at gmail dot com
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: ubizjak at gmail dot com @ 2009-02-06 16:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from ubizjak at gmail dot com  2009-02-06 16:31 -------
(In reply to comment #3)
> I tossed in that patch and it cause gcc's build to fail here:

> ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:34: error: expected
> '=', ',', ';', 'asm' or '__attribute__' before '__fixtfti'

Sorry, you need to change libgcc/config.host in the same way. Look at the end
of the file.


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
                   ` (4 preceding siblings ...)
  2009-02-06 16:31 ` ubizjak at gmail dot com
@ 2009-02-06 16:36 ` ubizjak at gmail dot com
  2009-02-06 22:29 ` rob1weld at aol dot com
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: ubizjak at gmail dot com @ 2009-02-06 16:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from ubizjak at gmail dot com  2009-02-06 16:35 -------
(In reply to comment #4)
> Do we support TImode arithmetic on many platforms?, See:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17279
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19493
> 
> I am booted in 32-bit mode (and building multilib).

32bit i386 doesn't support TImode.

TImode soft-fp is disabled in libgcc/config/i386/32/t-fprules-softfp. A change
in libgcc/conifg.host is needed to correctly filter these functions out on your
target.


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
                   ` (5 preceding siblings ...)
  2009-02-06 16:36 ` ubizjak at gmail dot com
@ 2009-02-06 22:29 ` rob1weld at aol dot com
  2009-02-07  4:21 ` rob1weld at aol dot com
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rob1weld at aol dot com @ 2009-02-06 22:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from rob1weld at aol dot com  2009-02-06 22:29 -------
(In reply to comment #6)
> (In reply to comment #4)
> > Do we support TImode arithmetic on many platforms?, ...
> > I am booted in 32-bit mode (and building multilib).
> 
> 32bit i386 doesn't support TImode.
> 
> TImode soft-fp is disabled in libgcc/config/i386/32/t-fprules-softfp. A change
> in libgcc/conifg.host is needed to correctly filter these functions out on
> your target.

OK.


The file "libgcc/config.host" says this (so I will use it's code):
# This file bears an obvious resemblance to gcc/config.gcc.  The cases
# should be kept similar, to ease moving library-specific settings
# from config.gcc to this file. 


The (patched) section of "config.gcc" is (now) this:

        i[34567]86-*-darwin* | x86_64-*-darwin*)
                tmake_file="${tmake_file} i386/t-fprules-softfp
soft-fp/t-softfp"
                ;;
        i[34567]86-*-linux* | x86_64-*-linux*)
                tmake_file="${tmake_file} i386/t-fprules-softfp
soft-fp/t-softfp i386/t-linux"
                ;;
        i[34567]86-*-solaris2*)
                tmake_file="${tmake_file} i386/t-fprules-softfp
soft-fp/t-softfp"
                ;;


----------
Hmmm, Let me check something ...
# find /usr/share/src/gcc_trunk/ -name t-fprules-softfp
/usr/share/src/gcc_trunk/libgcc/config/i386/32/t-fprules-softfp
/usr/share/src/gcc_trunk/gcc/config/i386/t-fprules-softfp
/usr/share/src/gcc_trunk/gcc/config/rs6000/t-fprules-softfp


The code is broken (or faILs through) in "libgcc/conifg.host" (since we have no
"64" directory):

        # Provide backward binary compatibility for 64bit Linux/x86.
        if test "${host_address}" = 64; then
                tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
        fi
----------


I am going to add this to the _end_ of "libgcc/config.host" :

case ${host} in
i[34567]86-*-solaris2*)
        if test "${host_address}" = 32; then
                tmake_file="${tmake_file} t-softfp
i386/${host_address}/t-fprules-softfp"
        else
                tmake_file="${tmake_file} i386/t-fprules-softfp
soft-fp/t-softfp"
                ;;

        fi
        ;;
esac



Building now, seems to build without breaking (thus far).
I will keep you informed and report back with the Testsuite.

Thanks,
Rob


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
                   ` (6 preceding siblings ...)
  2009-02-06 22:29 ` rob1weld at aol dot com
@ 2009-02-07  4:21 ` rob1weld at aol dot com
  2009-02-12 13:45 ` rob1weld at aol dot com
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rob1weld at aol dot com @ 2009-02-07  4:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from rob1weld at aol dot com  2009-02-07 04:21 -------
Here is: gcc 4.4.0 20090206 [trunk revision 143992] ./configured with:

../gcc_trunk/configure --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 --without-gnu-ld
--with-ld=/usr/ccs/bin/ld


(Notes: This error no longer occurs when I use your patch, my fix, a different
revision, and a different Linker. It is _likely_ that the error is also fixed
for the revision reported (with GNU's Linker). I needed to switch back to 
Sun's Linker to compile some Sun code that I must work on the next few days.


# gedit gcc/testsuite/gcc.log
...
PASS: gcc.dg/torture/fp-int-convert-float.c  -Os  execution test
UNSUPPORTED: gcc.dg/torture/fp-int-convert-float128-timode.c  -O0 
UNSUPPORTED: gcc.dg/torture/fp-int-convert-float128-timode.c  -O1 
UNSUPPORTED: gcc.dg/torture/fp-int-convert-float128-timode.c  -O2 
UNSUPPORTED: gcc.dg/torture/fp-int-convert-float128-timode.c  -O3
-fomit-frame-pointer 
UNSUPPORTED: gcc.dg/torture/fp-int-convert-float128-timode.c  -O3 -g 
UNSUPPORTED: gcc.dg/torture/fp-int-convert-float128-timode.c  -Os 
Executing on host: /usr/share/src/gcc_build/gcc/xgcc
-B/usr/share/src/gcc_build/gcc/ /usr/share/...
PASS: gcc.dg/torture/fp-int-convert-float128.c  -O0  (test for excess errors)
Setting LD_LIBRARY_PATH to
:/usr/share/src/gcc_build/gcc:/usr/share/src/gcc_build/gcc/amd64::/usr/share/...
PASS: gcc.dg/torture/fp-int-convert-float128.c  -O0  execution test
Executing on host: /usr/share/src/gcc_build/gcc/xgcc
-B/usr/share/src/gcc_build/gcc/ /usr/share/...
PASS: gcc.dg/torture/fp-int-convert-float128.c  -O1  (test for excess errors)
Setting LD_LIBRARY_PATH to
:/usr/share/src/gcc_build/gcc:/usr/share/src/gcc_build/gcc/amd64::/usr/share/...
PASS: gcc.dg/torture/fp-int-convert-float128.c  -O1  execution test
Executing on host: /usr/share/src/gcc_build/gcc/xgcc
-B/usr/share/src/gcc_build/gcc/ /usr/share/...
PASS: gcc.dg/torture/fp-int-convert-float128.c  -O2  (test for excess errors)
Setting LD_LIBRARY_PATH to
:/usr/share/src/gcc_build/gcc:/usr/share/src/gcc_build/gcc/amd64::/usr/share/...
PASS: gcc.dg/torture/fp-int-convert-float128.c  -O2  execution test
Executing on host: /usr/share/src/gcc_build/gcc/xgcc
-B/usr/share/src/gcc_build/gcc/ /usr/share/...
PASS: gcc.dg/torture/fp-int-convert-float128.c  -O3 -fomit-frame-pointer  (test
for excess errors)
Setting LD_LIBRARY_PATH to
:/usr/share/src/gcc_build/gcc:/usr/share/src/gcc_build/gcc/amd64::/usr/share/...
PASS: gcc.dg/torture/fp-int-convert-float128.c  -O3 -fomit-frame-pointer 
execution test
Executing on host: /usr/share/src/gcc_build/gcc/xgcc
-B/usr/share/src/gcc_build/gcc/ /usr/share/...
PASS: gcc.dg/torture/fp-int-convert-float128.c  -O3 -g  (test for excess
errors)
Setting LD_LIBRARY_PATH to
:/usr/share/src/gcc_build/gcc:/usr/share/src/gcc_build/gcc/amd64::/usr/share/...
PASS: gcc.dg/torture/fp-int-convert-float128.c  -O3 -g  execution test
Executing on host: /usr/share/src/gcc_build/gcc/xgcc
-B/usr/share/src/gcc_build/gcc/ /usr/share/...
PASS: gcc.dg/torture/fp-int-convert-float128.c  -Os  (test for excess errors)
Setting LD_LIBRARY_PATH to
:/usr/share/src/gcc_build/gcc:/usr/share/src/gcc_build/gcc/amd64::/usr/share/...
PASS: gcc.dg/torture/fp-int-convert-float128.c  -Os  execution test
...


I searched gcc.log for the words "undefined reference" and they no longer
occur.

This patch is tested for i386-pc-solaris2.11 (OpenSolaris 2008.11 snv_101b)
when booted in 32-bit mode (on VirtualBox, on WinXP) using gcc revision 143992
using Sun's Linker (and GNU assembler version 2.19).


After this patch is tested, approved, applied to trunk, and re-tested, then
this Bug will be fixed.

We all thank us for our help,
Rob


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
                   ` (7 preceding siblings ...)
  2009-02-07  4:21 ` rob1weld at aol dot com
@ 2009-02-12 13:45 ` rob1weld at aol dot com
  2009-02-20  1:14 ` rob1weld at aol dot com
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rob1weld at aol dot com @ 2009-02-12 13:45 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from rob1weld at aol dot com  2009-02-12 13:44 -------
(In reply to comment #8)
> ...
> This patch is tested for i386-pc-solaris2.11 (OpenSolaris 2008.11 snv_101b)
> when booted in 32-bit mode (on VirtualBox, on WinXP) using gcc revision 143992
> using Sun's Linker (and GNU assembler version 2.19).
> 
> After this patch is tested, approved, applied to trunk, and re-tested, then
> this Bug will be fixed.
> 

Adding DEPENDS and trying to test the 'Booted 64-Bit Mode" after fixing: 39150


-- 

rob1weld at aol dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  BugsThisDependsOn|                            |39150


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
                   ` (8 preceding siblings ...)
  2009-02-12 13:45 ` rob1weld at aol dot com
@ 2009-02-20  1:14 ` rob1weld at aol dot com
  2010-03-31  9:04 ` ro at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rob1weld at aol dot com @ 2009-02-20  1:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from rob1weld at aol dot com  2009-02-20 01:13 -------
(In reply to comment #9)
> (In reply to comment #8)
> > using Sun's Linker (and GNU assembler version 2.19).
> > After this patch is tested, approved, applied to trunk, and re-tested, then
> > this Bug will be fixed.
> Adding DEPENDS and trying to test the 'Booted 64-Bit Mode" after fixing: 39150

This is not yet working on _both_ Sun and GNU's Linkers.
Rob


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
                   ` (9 preceding siblings ...)
  2009-02-20  1:14 ` rob1weld at aol dot com
@ 2010-03-31  9:04 ` ro at gcc dot gnu dot org
  2010-03-31  9:05 ` [Bug target/39048] " ro at gcc dot gnu dot org
  2010-03-31  9:07 ` ro at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: ro at gcc dot gnu dot org @ 2010-03-31  9:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from ro at gcc dot gnu dot org  2010-03-31 09:03 -------
Subject: Bug 39048

Author: ro
Date: Wed Mar 31 09:03:29 2010
New Revision: 157854

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157854
Log:
        gcc:
        PR target/39048
        * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
        and soft-fp/t-softfp to tmake_file.
        * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
        (LIBGCC2_TF_CEXT): Define.
        (TF_SIZE): Define.

        libgcc:
        PR target/39048
        * config.host (i[34567]86-*-solaris2): Handle 32-bit Solaris 2/x86
        like other remaining 32-bit x86 OSes.
        * config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
        assembler syntax.
        * config/i386/libgcc-sol2.ver: New file.
        * config/i386/t-sol2 (SHLIB_MAPFILES): Add it.

Added:
    trunk/libgcc/config/i386/libgcc-sol2.ver
Modified:
    trunk/gcc/config.gcc
    trunk/gcc/config/i386/sol2.h
    trunk/libgcc/ChangeLog
    trunk/libgcc/config.host
    trunk/libgcc/config/i386/32/sfp-machine.h
    trunk/libgcc/config/i386/t-sol2


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug target/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
                   ` (10 preceding siblings ...)
  2010-03-31  9:04 ` ro at gcc dot gnu dot org
@ 2010-03-31  9:05 ` ro at gcc dot gnu dot org
  2010-03-31  9:07 ` ro at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: ro at gcc dot gnu dot org @ 2010-03-31  9:05 UTC (permalink / raw)
  To: gcc-bugs



-- 

ro at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |ro at gcc dot gnu dot org
                   |dot org                     |
             Status|UNCONFIRMED                 |ASSIGNED
          Component|inline-asm                  |target
     Ever Confirmed|0                           |1
      Known to fail|                            |4.4.0
      Known to work|                            |4.5.0
   Last reconfirmed|0000-00-00 00:00:00         |2010-03-31 09:05:14
               date|                            |
   Target Milestone|---                         |4.5.0


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug target/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
  2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
                   ` (11 preceding siblings ...)
  2010-03-31  9:05 ` [Bug target/39048] " ro at gcc dot gnu dot org
@ 2010-03-31  9:07 ` ro at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: ro at gcc dot gnu dot org @ 2010-03-31  9:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from ro at gcc dot gnu dot org  2010-03-31 09:07 -------
Fixed for 4.5.0.


-- 

ro at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |http://gcc.gnu.org/ml/gcc-
                   |                            |patches/2010-
                   |                            |03/msg01071.html
             Status|ASSIGNED                    |RESOLVED
           Keywords|                            |patch
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2010-03-31  9:07 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-31 17:48 [Bug inline-asm/39048] New: gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc rob1weld at aol dot com
2009-01-31 22:28 ` [Bug inline-asm/39048] " ubizjak at gmail dot com
2009-02-05  3:43 ` rob1weld at aol dot com
2009-02-06 14:12 ` rob1weld at aol dot com
2009-02-06 14:40 ` rob1weld at aol dot com
2009-02-06 16:31 ` ubizjak at gmail dot com
2009-02-06 16:36 ` ubizjak at gmail dot com
2009-02-06 22:29 ` rob1weld at aol dot com
2009-02-07  4:21 ` rob1weld at aol dot com
2009-02-12 13:45 ` rob1weld at aol dot com
2009-02-20  1:14 ` rob1weld at aol dot com
2010-03-31  9:04 ` ro at gcc dot gnu dot org
2010-03-31  9:05 ` [Bug target/39048] " ro at gcc dot gnu dot org
2010-03-31  9:07 ` ro at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).