bugmldonkey, a multi-networks file-sharing client - Bugs: bug #31063, Reassigned to another tracker...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #31063: Reassigned to another tracker [was: EDK: Fix CryptoPP on mips64 abi n32]

Submitted by:  Lluís Batlle <viric>
Submitted on:  Sat 18 Sep 2010 04:23:49 PM UTC  
 
Category: CoreSeverity: 3 - Normal
Item Group: Compilation problemStatus: None
Assigned to: NoneOpen/Closed: Closed
Release: Release: 3.0.4
Operating System: LinuxBinaries Origin: CVS / Self compiled
CPU type: None

Sun 19 Sep 2010 10:10:54 AM UTC, comment #3:

THIS ITEM WAS REASSIGNED TO PATCH #7319


Please, do not post any new comments to this item.

spiralvoice <spiralvoice>
Project Administrator
Sat 18 Sep 2010 11:54:41 PM UTC, comment #2:

I compared the files, and I narrowed down the trouble to lack of templated BitPrecision() function.

The mldonkey code had them for 'unsigned long' data type (32-bits in mips64), while words were 64bits long. Using a templated BitPrecision function made the assertion check go fine.

With this patch I attach (gcc44mips64.patch), mldonkey starts fine. I included also some refinements over the first patch I posted, thanks to a review by Zhang Le in the loongson-dev mailing list.

(The first incomplete patch had the sufix _2; this may look confusing. The complete patch sits in gcc44mips64.patch, not gcc44mips64_2.patch).

Just to note, this works with gcc 4.5.1 for abi n32. I haven't tried other configurations.

(file #21490)

Lluís Batlle <viric>
Sat 18 Sep 2010 08:06:03 PM UTC, comment #1:

Try comparing integer.cpp from cryptopp561.zip (http://www.cryptopp.com/#download) with src/utils/lib/CryptoPP.cc.

spiralvoice <spiralvoice>
Project Administrator
Sat 18 Sep 2010 04:23:49 PM UTC, original submission:

THIS ITEM WAS REASSIGNED TO PATCH #7319
Hello,

I had problems building mldonkey for mips64, and I came up with a patch I attach for review. The problem was in the CryptoPP.cc file, related to multiplication of double words.
Since gcc 4.4, the asm constraint 'h' is not there, and I was using gcc 4.5.1.

Once I could build mldonkey, I tried to run it, and some division code in CryptoPP.cc failed an assertion:

mlnet: src/utils/lib/CryptoPP.cc:3745: void CryptoPP::Divide(CryptoPP::word, CryptoPP::word, CryptoPP::word, const CryptoPP::word, unsigned int, const CryptoPP::word*, unsigned int): Assertion `shiftBits < WORD_BITS' failed.

The gdb session:
(gdb) f 3
#3 0x100983cc in CryptoPP::Divide (R=0x1022ba30, Q=0x1022bac0, T=0x1022bae8, A=0x1022ba78,
NA=6, B=0x1022b910, NB=4) at src/utils/lib/CryptoPP.cc:3745
3745 assert(shiftBits < WORD_BITS);
(gdb) print shiftBits
$1 = 64
(gdb) print WORD_BITS
$2 = 64

Any idea of what can be wrong in that code? I can debug further if you need.

Lluís Batlle <viric>

 

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 spiralvoice (Posted a comment)
  • -unavailable- added by viric (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
    Sun 19 Sep 2010 10:10:54 AM UTCspiralvoiceSummaryProblems running on mips64 abi n32=>EDK: Fix CryptoPP on mips64 abi n32
      Reassign Itemmldonkey, a multi-networks file-sharing client, bug #31063=>mldonkey, a multi-networks file-sharing client, patch #7319
    Sun 19 Sep 2010 10:10:13 AM UTCspiralvoiceAttached File#21486=>Removed
    Sat 18 Sep 2010 11:54:41 PM UTCviricAttached File-=>Added gcc44mips64.patch, #21490
    Sat 18 Sep 2010 04:23:50 PM UTCviricAttached File-=>Added gcc44mips64_2.patch, #21486

    Back to the top


    Powered by Savane 3.1-cleanup1