[patch #7319] EDK: Fix CryptoPP on mips64 abi n32

spiralvoice <[email protected]>
Newsgroups gmane.network.mldonkey.user
Message-ID <[email protected]>
URL:
  <http://savannah.nongnu.org/patch/?7319>

                 Summary: EDK: Fix CryptoPP on mips64 abi n32
                 Project: mldonkey, a multi-networks file-sharing client
            Submitted by: viric
            Submitted on: So 19 Sep 2010 12:10:54 CEST
                Category: None
                Severity: 3 - Normal
              Item Group: None
                  Status: None
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 
                 Release: None
        Operating System: None
         Binaries Origin: None
                CPU type: None

    _______________________________________________________

Details:

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.




    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/patch/?7319>

_______________________________________________
  Nachricht geschickt von/durch Savannah
  http://savannah.nongnu.org/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.