Hello Danny!

On Sat, 6 Oct 2007, Danny Backx wrote:

> On Fri, 2007-10-05 at 22:26 +0200, Vitus Jensen wrote:

>>
>> I'm trying to port a small testprogramm from embedded Visual C 4 to
>> mingw32ce (cegcc-mingw32ce-0.50-1.i586.rpm).  It's text mode, 2 threads,
>> some printf, some files, nothing fancy but ... it has to use 2 object
>> libraries (3rd party) and a DLL (my own).
>>
>> I'm able to compile and link this programm but when I call the 3rd party
>> library an important call fails.  It's the only call with several
>> parameters so I suspect different calling conventions.
>>
>> Goes like this:
>>
>> extern int libconfig(int hd, int subfct, void * parameter);
>>
>> test()
>> {
>>       hd = libopen();
>>       res = libconfig(hd, 1, (void *)0815);
>>       res = libconfig(hd, 2, (void *)15);
>>       ...
>>       libclose(hd);
>> }
>>
>> Result code indicates "invalid subfunction" :-(
>>
>> The prototype shows no "__syscall" or the like, the object library works
>> when used with eVC.  I've looked at the produced assembler code in the eVC
>> debugger and it seems parameters are transfered via r0, r1 and r2.  Isn't
>> this the same as in mingw32ce?  In my opinion all this indicates that the
>> program should work.  It doesn't :-(
>
> This is probably a silly remark but "0815" is an invalid number. The GNU
> C compiler will treat any number that starts with a 0 as octal. In
> octal, there's no 8, so the compiler issues an error :
>  tt.c:8:33: error: invalid digit "8" in octal constant

Well, as you might have suspected, that code has never seen a compiler :-)

It was typed directly into the mail.  And function names a little 
different, but type and count of arguments are exactly the same.  Only 4 
functions are available: open(), set(), get() and close().

> In case that that isn't your problem, I've attached a source and
> assembler file generated by arm-wince-mingw32ce-gcc . Which assembler
> instructions does eVC generate for this file ?

I will have a look via eVC on monday when I'm back at work.  I will be 
using the debugger and cut'n waste, as I find it hard to go through all 
those menues to find an option to generate assembler output.

Thank you for your mail!
    Vitus

-- 
Vitus Jensen, Hannover, Germany, ICQ 122355880
pgp public key available from keyservers

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to