I'm getting the adb... on both the Opteron and my Pentium, both with typedef unsigned int uint32
So I wonder if we have an endianness issue, too... I've got a Sparc at school, I'll give it a whirl on that machine, too. And my Alpha is out of reach again, so I can't double check the results on it :-( Aaron ""Leif Jackson"" <[EMAIL PROTECTED]> said: > odd, just checked with your same chars pasted into the test app: > > ------------ > jsdf;kljasdf > asdf > > ------------ > sun sparc 64 (no change to header) > dc0778f4e49bd14622a016e705cbdb15 > changed header: > 0988915eac85ce5fed09f29252b0cc7f > sun sparc 32 bit (no header change) > 0988915eac85ce5fed09f29252b0cc7f > linux 32 bit > adb3013a42bdec7987a807bc750b47d5 > linux 32 bit md5sum command on file with only the 2 lines plus the blank > line: > adb3013a42bdec7987a807bc750b47d5 > > I would say this askes the question is any md5 value we are getting from > other archs valid? what did you get from your alpha for the sum? I guess > this needs to be a str array to make sure.. I will write it up. thx. > > Thanks, > Leif > > > > > well that makes sence. I belive solaris figures out the uint32 as it is > > really emulating 32bits on the 64bit kernel. I did some reading and it > > seems that dbmail as a whole may not benifit much from accualy being > > compiled 64bit, in fact it may make it slower. What is your test showing? > > I am glad at least we figured it out. I guess we could agree on some test > > data and compile it into testmd5.c instead of using stdin and then we can > > make sure the md5 is correct on the diff arch and 64bit vs 32bit? > > > > -leif > > > > > >> Fixed. Turned out to be quite simple: > >> > >> In md5.h, find the #ifdef __alpha and change it to this: > >> > >> #if (defined(__alpha) || defined(__x86_64__)) > >> typedef unsigned int uint32; > >> #else > >> typedef unsigned long uint32; > >> #endif > >> > >> For whatever reason, the Sparc is still using a 32-bit int? Or perhaps > >> it > >> is > >> not crashing but still giving wrong results? Being a big endian machine, > >> there > >> is an additional byte order reversing routine that kicks in on the > >> Sparc; > >> perhaps the side effect of which is not crashing? Also, clearly, we now > >> know > >> why my Alpha produced proper results... it was already hacked to work > >> ;-) > >> > >> The correct way to handle this is with a sizeof test from configure, and > >> an > >> appropriate entry in config.h to give hints to word-size sensitive code. > >> I'll > >> make the appropriate changes this weekend :-) > >> > >> Aaron > >> > >> > >> "Aaron Stone" <[EMAIL PROTECTED]> said: > >> > >>> Works in 32 bit mode. Also, the resulting md5 is different... > >>> > >>> There are a couple of compiler warnings in header.c regarding size_t > >>> arguments to printf; basically, there's a different size_t size in > >>> effect, > >>> and of course a different pointer size, too. So either GCC is > >>> generating > >>> faulty 64-bit code on the Opteron, or there's just a simple > >>> 64-bit-unclean > >>> portion of the md5 code that isn't generating any warnings but sure is > >>> mucking up the output. > >>> > >>> Aaron > >>> > >>> > >>> [EMAIL PROTECTED]:~/dbmail-2.0rc3> gcc -g -O2 -I . -m32 -o testmd5 > >>> testmd5.c *o > >>> [EMAIL PROTECTED]:~/dbmail-2.0rc3> file *o testmd5 > >>> dbmd5.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), > >>> not > >> stripped > >>> debug.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), > >>> not > >> stripped > >>> header.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), > >>> not > >> stripped > >>> md5.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), > >>> not > >> stripped > >>> testmd5: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), > >>> dynamically linked (uses shared libs), not stripped > >>> [EMAIL PROTECTED]:~/dbmail-2.0rc3> ./testmd5 > >>> ;lkajsdf;kljasdf > >>> asdf > >>> > >>> 0a8c8e4fd15849ec600d9aac8e53bf93 > >>> [EMAIL PROTECTED]:~/dbmail-2.0rc3> > >>> > >>> > >>> "Leif Jackson" <[EMAIL PROTECTED]> said: > >>> > >>> > > >>> > Humm well it isn't our code that's not 64bit clean, as I emailed in > >>> the > >>> > previous message, try compiling just thouse objects with -m32 or the > >>> equiv > >>> > if you can and see what happens. > >>> > > >>> > -leif > >>> > > >>> > > Looks like 64 bit by default on the Opteron... > >>> > > > >>> > > [EMAIL PROTECTED]:~/dbmail-2.0rc3> file *o testmd5 > >>> > > dbmd5.o: ELF 64-bit LSB relocatable, AMD x86-64, version 1 (SYSV), > >>> not > >>> > > stripped > >>> > > debug.o: ELF 64-bit LSB relocatable, AMD x86-64, version 1 (SYSV), > >>> not > >>> > > stripped > >>> > > header.o: ELF 64-bit LSB relocatable, AMD x86-64, version 1 (SYSV), > >>> not > >>> > > stripped > >>> > > md5.o: ELF 64-bit LSB relocatable, AMD x86-64, version 1 (SYSV), > >>> not > >>> > > stripped > >>> > > testmd5: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), > >>> > > dynamically > >>> > > linked (uses shared libs), not stripped > >>> > > > >>> > > > >>> > > ""Leif Jackson"" <[EMAIL PROTECTED]> said: > >>> > > > >>> > >> > Valgrind emulates a Pentium instruction set, so it's not useful > >>> on an > >>> > >> > x86-64 > >>> > >> > processor. They have gdb 5.3 installed, and I just compiled gdb > >>> 6.0 > >>> > >> for > >>> > >> > myself, both of which give me this when I try to read the > >>> backtrace: > >>> > >> > > >>> > >> > >>> > >> Make sence on valgrind... hey does the gcc on an operton default > >>> to > >>> a > >>> > >> 64bit linking or do you have to do something like -64 for all the > >>> > >> objects? > >>> > >> I am thinking about sun and gcc for example where you cannot > >>> compile 64 > >>> > >> bit without explicity telling the linker to link the 64 bit libs. > >>> Just a > >>> > >> thought I know sun solaris is totaly diffrent than linux on > >>> operton. If > >>> > >> it > >>> > >> is accessing a 64bit NULL value, but only after completing the > >>> output > >>> > >> from > >>> > >> md5. very odd... I will check this on a sun after compiling 64bit. > >>> will > >>> > >> let you know in a sec. on sun 32bit it works just find. > >>> > >> > >>> > >> -leif > >>> > >> > >>> > >> > >>> > >> > [EMAIL PROTECTED]:~/gdb-6.0> ./gdb/gdb > >>> > >> > GNU gdb 6.0 > >>> > >> > Copyright 2003 Free Software Foundation, Inc. > >>> > >> > GDB is free software, covered by the GNU General Public License, > >>> and > >>> > >> you > >>> > >> > are > >>> > >> > welcome to change it and/or distribute copies of it under > >>> certain > >>> > >> > conditions. > >>> > >> > Type "show copying" to see the conditions. > >>> > >> > There is absolutely no warranty for GDB. Type "show warranty" > >>> for > >>> > >> > details. > >>> > >> > This GDB was configured as "x86_64-unknown-linux-gnu". > >>> > >> > (gdb) file ../dbmail-2.0rc3/testmd5 > >>> > >> > Reading symbols from ../dbmail-2.0rc3/testmd5...done. > >>> > >> > (gdb) run > >>> > >> > Starting program: > >>> /home/users/s/so/sodabrew/dbmail-2.0rc3/testmd5 > >>> > >> > ;lkajsdf;kljasdf > >>> > >> > asdf > >>> > >> > > >>> > >> > b3dd95bad20e039aa898a75cdab51a4d > >>> > >> > > >>> > >> > Program received signal SIGSEGV, Segmentation fault. > >>> > >> > 0x0000000000000000 in ?? () > >>> > >> > > >>> > >> > > >>> > >> > ""Leif Jackson"" <[EMAIL PROTECTED]> said: > >>> > >> > > >>> > >> >> Aaron, > >>> > >> >> > >>> > >> >> I would try valgrind, they should have it installed. It does > >>> well on > >>> > >> >> all > >>> > >> >> kinds of bounds checking, as well as memory and cache checks. > >>> > >> >> > >>> > >> >> -Leif > >>> > >> >> > >>> > >> >> > > >>> > >> >> > Hey, > >>> > >> >> > > >>> > >> >> > So I whipped up a little wrapper program around read_header() > >>> and > >>> > >> >> > makemd5() > >>> > >> >> > that crashes on the Opteron server at SourceForge, but works > >>> > >> properly > >>> > >> >> on > >>> > >> >> > my > >>> > >> >> > Pentium. > >>> > >> >> > > >>> > >> >> > Just one problem: what tools can I use to debug this thing on > >>> > >> >> Opteron!? > >>> > >> >> > > >>> > >> >> > I've attached my test program. It compiles in the dbmail > >>> build > >>> > >> tree, > >>> > >> >> like > >>> > >> >> > so: > >>> > >> >> > > >>> > >> >> > gcc -g -O -I. -o testmd5 testmd5.c header.o dbmd5.o md5.o > >>> debug.o > >>> > >> >> > > >>> > >> >> > Aaron > >>> > >> >> > > >>> > >> >> > >>> > >> >> _______________________________________________ > >>> > >> >> Dbmail-dev mailing list > >>> > >> >> [email protected] > >>> > >> >> http://twister.fastxs.net/mailman/listinfo/dbmail-dev > >>> > >> >> > >>> > >> > > >>> > >> > > >>> > >> > > >>> > >> > -- > >>> > >> > > >>> > >> > > >>> > >> > > >>> > >> > _______________________________________________ > >>> > >> > Dbmail-dev mailing list > >>> > >> > [email protected] > >>> > >> > http://twister.fastxs.net/mailman/listinfo/dbmail-dev > >>> > >> > > >>> > >> > >>> > >> _______________________________________________ > >>> > >> Dbmail-dev mailing list > >>> > >> [email protected] > >>> > >> http://twister.fastxs.net/mailman/listinfo/dbmail-dev > >>> > >> > >>> > > > >>> > > > >>> > > > >>> > > -- > >>> > > > >>> > > > >>> > > > >>> > > _______________________________________________ > >>> > > Dbmail-dev mailing list > >>> > > [email protected] > >>> > > http://twister.fastxs.net/mailman/listinfo/dbmail-dev > >>> > > > >>> > > >>> > _______________________________________________ > >>> > Dbmail-dev mailing list > >>> > [email protected] > >>> > http://twister.fastxs.net/mailman/listinfo/dbmail-dev > >>> > > >>> > >>> > >>> > >>> -- > >>> > >>> > >>> > >>> _______________________________________________ > >>> Dbmail-dev mailing list > >>> [email protected] > >>> http://twister.fastxs.net/mailman/listinfo/dbmail-dev > >>> > >> > >> > >> > >> -- > >> > >> > >> > >> _______________________________________________ > >> Dbmail-dev mailing list > >> [email protected] > >> http://twister.fastxs.net/mailman/listinfo/dbmail-dev > >> > > > > _______________________________________________ > > Dbmail-dev mailing list > > [email protected] > > http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > > > _______________________________________________ > Dbmail-dev mailing list > [email protected] > http://twister.fastxs.net/mailman/listinfo/dbmail-dev > --
