buglibffcall - foreign function call libraries - Bugs: bug #22083, mips64: make check fails on...

 
 

bug #22083: mips64: make check fails on sgi-irix6.5 & Linux

Submitted by:  Sam Steingold <sds>
Submitted on:  Tue 22 Jan 2008 08:10:48 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Item Group: regressionStatus: Fixed
Privacy: PublicAssigned to: Bruno Haible <haible>
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Sat 11 Feb 2017 02:52:17 PM UTC, comment #6:

Some fixes have been delivered.

For mips with "32" ABI:

http://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=commit;h=ef48a1bd5176a0e1c8936ecd53b982e3b28286d5

http://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=commit;h=196e52c80f369dad5fa036674ce428727a50c0d8

http://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=commit;h=afc7a5ae6665be0681ffd122ecd76e3000aeaaf7

For mips with "n32" ABI:

http://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=commit;h=20cf24899cfa259c79b7b0e1b1321a9ee148d7e9

http://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=commit;h=5a2263a47ae194e2ad9db923678b6a681d1ae775

For mips64 with "64" ABI (tested on Linux only):

http://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=commit;h=20cf24899cfa259c79b7b0e1b1321a9ee148d7e9

http://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=commit;h=c9ebfec2e5d9b6891206cc4edf91a8c5c81748c6

Bruno Haible <haible>
Project AdministratorIn charge of this item.
Fri 13 Nov 2009 03:15:33 PM UTC, comment #5:

the same gcc51 with "gcc -mabi=32":
cd vacall && make check
make[1]: Entering directory `/home/sds/top/src/ffcall/build-Linux-mips64-32/vacall'
gcc -mabi=32 -g -O2 -I. -I../../vacall -c ../../vacall/minitests.c
gcc -mabi=32 -g -O2 -x none minitests.o libvacall.a -o minitests
./minitests > minitests.out
/bin/sh: line 1: 20944 Segmentation fault ./minitests > minitests.out
make[1]: *** [check] Error 139
make[1]: Leaving directory `/home/sds/top/src/ffcall/build-Linux-mips64-32/vacall'
$ gdb minitests
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "mipsel-linux-gnu"...
(gdb) run
Starting program: /home/sds/top/src/ffcall/build-Linux-mips64-32/vacall/minitests
void f(void):

Program received signal SIGSEGV, Segmentation fault.
0x00040004 in ?? ()
(gdb) where
#0 0x00040004 in ?? ()
#1 0x0040757c in __vacall ()
#2 0x00402420 in main () at ../../vacall/tests.c:835
(gdb)

Sam Steingold <sds>
Project Administrator
Fri 13 Nov 2009 03:06:00 PM UTC, comment #4:

the same gcc51 with "gcc -mabi=n32":

cd avcall && make check
make[1]: Entering directory `/home/sds/top/src/ffcall/build-Linux-mips64-n32/avcall'
gcc -mabi=n32 -g -O2 -I. -I../../avcall -c ../../avcall/minitests.c
In file included from ../../avcall/minitests.c:2:
../../avcall/tests.c: In function 'pointer_tests':
../../avcall/tests.c:729: warning: cast from pointer to integer of different size
../../avcall/tests.c:730: warning: cast from pointer to integer of different size
../../avcall/tests.c:731: warning: cast from pointer to integer of different size
../../avcall/tests.c:732: warning: cast from pointer to integer of different size
../../avcall/tests.c: In function 'structure_tests':
../../avcall/tests.c:755: warning: cast from pointer to integer of different size
../../avcall/tests.c:756: warning: cast from pointer to integer of different size
../../avcall/tests.c:756: warning: cast to pointer from integer of different size
../../avcall/tests.c:756: warning: cast from pointer to integer of different size
../../avcall/tests.c:756: warning: cast to pointer from integer of different size
../../avcall/tests.c:756: warning: cast from pointer to integer of different size
../../avcall/tests.c:756: warning: cast to pointer from integer of different size
../../avcall/tests.c:756: warning: cast from pointer to integer of different size
../../avcall/tests.c:756: warning: cast to pointer from integer of different size
../../avcall/tests.c:756: warning: cast from pointer to integer of different size
../../avcall/tests.c:756: warning: cast to pointer from integer of different size
../../avcall/tests.c:757: warning: cast from pointer to integer of different size
../../avcall/tests.c:757: warning: cast to pointer from integer of different size
../../avcall/tests.c:757: warning: cast from pointer to integer of different size
../../avcall/tests.c:757: warning: cast to pointer from integer of different size
../../avcall/tests.c:757: warning: cast from pointer to integer of different size
../../avcall/tests.c:757: warning: cast to pointer from integer of different size
../../avcall/tests.c:757: warning: cast from pointer to integer of different size
../../avcall/tests.c:757: warning: cast to pointer from integer of different size
../../avcall/tests.c:757: warning: cast from pointer to integer of different size
../../avcall/tests.c:757: warning: cast to pointer from integer of different size
../../avcall/tests.c:758: warning: cast from pointer to integer of different size
../../avcall/tests.c:758: warning: cast to pointer from integer of different size
../../avcall/tests.c:758: warning: cast from pointer to integer of different size
../../avcall/tests.c:758: warning: cast to pointer from integer of different size
../../avcall/tests.c:758: warning: cast from pointer to integer of different size
../../avcall/tests.c:758: warning: cast to pointer from integer of different size
../../avcall/tests.c:758: warning: cast from pointer to integer of different size
../../avcall/tests.c:758: warning: cast to pointer from integer of different size
../../avcall/tests.c:758: warning: cast from pointer to integer of different size
../../avcall/tests.c:758: warning: cast to pointer from integer of different size
../../avcall/tests.c:805: warning: cast from pointer to integer of different size
../../avcall/tests.c:806: warning: cast from pointer to integer of different size
../../avcall/tests.c:806: warning: cast to pointer from integer of different size
../../avcall/tests.c:806: warning: cast from pointer to integer of different size
../../avcall/tests.c:806: warning: cast to pointer from integer of different size
../../avcall/tests.c:806: warning: cast from pointer to integer of different size
../../avcall/tests.c:806: warning: cast to pointer from integer of different size
../../avcall/tests.c:806: warning: cast from pointer to integer of different size
../../avcall/tests.c:806: warning: cast to pointer from integer of different size
../../avcall/tests.c:806: warning: cast from pointer to integer of different size
../../avcall/tests.c:806: warning: cast to pointer from integer of different size
../../avcall/tests.c:808: warning: cast from pointer to integer of different size
../../avcall/tests.c:808: warning: cast to pointer from integer of different size
../../avcall/tests.c:808: warning: cast from pointer to integer of different size
../../avcall/tests.c:808: warning: cast to pointer from integer of different size
../../avcall/tests.c:808: warning: cast from pointer to integer of different size
../../avcall/tests.c:808: warning: cast to pointer from integer of different size
../../avcall/tests.c:808: warning: cast from pointer to integer of different size
../../avcall/tests.c:808: warning: cast to pointer from integer of different size
../../avcall/tests.c:808: warning: cast from pointer to integer of different size
../../avcall/tests.c:808: warning: cast to pointer from integer of different size
/bin/sh ./libtool --mode=link gcc -mabi=n32 -g -O2 -x none minitests.o libavcall.la -o minitests
gcc -mabi=n32 -g -O2 -x none minitests.o -o minitests ./.libs/libavcall.a
./minitests > minitests.out
LC_ALL=C uniq -u < minitests.out > minitests.output.mips64el-unknown-linux-gnu
test '!' -s minitests.output.mips64el-unknown-linux-gnu
make[1]: *** [check] Error 1
make[1]: Leaving directory `/home/sds/top/src/ffcall/build-Linux-mips64-n32/avcall'
make: *** [check] Error 2
$ cat avcall/minitests.output.mips64el-unknown-linux-gnu
Int f(Int,Int,Int):({1},{2},{3})->{6}
Int f(Int,Int,Int):({0},{14},{-1717986918})->{-1717986904}

Sam Steingold <sds>
Project Administrator
Fri 13 Nov 2009 02:57:53 PM UTC, comment #3:

the same gcc51 with "gcc -mabi=64":
$ cat avcall/minitests.output.mips64el-unknown-linux-gnu
Int f(Int,Int,Int):({1},{2},{3})->{6}
Int f(Int,Int,Int):({1068708659},{-4760},{4})->{1068703903}
J f(J,int,J):({47,11},2,{73,55})->{120,68}
J f(J,int,J):({1099511622808,47},11,{2,73})->{0,0}

Sam Steingold <sds>
Project Administrator
Tue 10 Nov 2009 10:32:55 PM UTC, comment #2:

on gcc51 (http://gcc.gnu.org/wiki/CompileFarm)
Linux gcc51 2.6.27.1-libre-medan #1 PREEMPT Thu Feb 12 08:21:37 CST 2009 mips64 GNU/Linux

$ cat vacall/minitests.output.mips64el-unknown-linux-gnu
uchar f(uchar,ushort,uint,ulong):(97,2,3,4)->255
uchar f(uchar,ushort,uint,ulong):(0,0,3,4)->255
ushort f(char,double,char,double):('a',0.2,'�',0.4)->65506
ushort f(char,double,char,double):('',0.2,'�',0.4)->0

Sam Steingold <sds>
Project Administrator
Fri 26 Sep 2008 08:22:55 PM UTC, comment #1:

this might be fixed now that mips64 support has been merged in

Sam Steingold <sds>
Project Administrator
Tue 22 Jan 2008 08:10:48 PM UTC, original submission:

http://sourceforge.net/tracker/index.php?func=detail&aid=1664722&group_id=1355&atid=101355

vacall/minitests.output.mips-sgi-irix6.5 says:

int f(16*int):(1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17)->143
int
f(16*int):(1,2,3,4,5,6,7,8,0,263627196,1,268449984,0,-21336,0,0)->532055881

float
f(16*float):(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,1.2,1.3,1.4,1.5,1.6,1.
7)->14.3
float f(16*float):(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0,0,0,0,0,0,0,0)->3.6
double
f(16*double):(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,1.2,1.3,1.4,1.5,1.6,1
.7)->14.3
double
f(16*double):(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0,1.30249e-315,4.94066e-324,1
.32632e-315,0,5.43231e-312,0,0)->3.6

I'm using MIPSpro as the compiler with the 64 bit ABI.

Sam Steingold <sds>
Project Administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by haible (Posted a comment)
  • -unavailable- added by sds (the original sf bug submitter)
  • -unavailable- added by sds (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 11 Feb 2017 02:52:17 PM UTChaibleStatusNone=>Fixed
      Open/ClosedOpen=>Closed
    Fri 13 Nov 2009 03:17:29 PM UTCsdsSummarymake check fails on .mips-sgi-irix6.5=>mips64: make check fails on sgi-irix6.5 & Linux
    Tue 28 Apr 2009 05:39:36 PM UTCsdsItem GroupNone=>regression
    Fri 26 Sep 2008 08:22:55 PM UTCsdsCarbon-Copy-=>Added -unavailable-

    Back to the top


    Powered by Savane 3.1-cleanup1