Hi,
i think this an assembler specific problem. Seems to hgave something to do with 
'rep'...
Maybe you have more luck with the never version of 'ven38a' i found in 7.5 which does 
not use
the 'repeat while equal':

&if  $MACH = I386 and $OSSPEC = LINUX 
        .file   "ven38a"
        .version        "01.01"

        .text
        .align 4

 /*                                                                 */
 /*  EXTERN_C LONG __stdcall sql38aVdcomCall( IUnknown *lpIUnknown, */
 /*                                           PROC  pProc,          */  
 /*                                           void* pBufAddr,       */
 /*                                           long  BufLen,         */
 /*                                           long  StackSize );    */
 /*                                                                 */

        .globl          sql38aVdcomCall
        .type           sql38aVdcomCall,@function
sql38aVdcomCall:

        pushl %ebp                                                      
        movl %esp,%ebp

 /* Save All Registers */
        pushf
        pushl %esi
        pushl %edi
        pushl %edx
        pushl %ecx
        pushl %ebx

 /* Save stack pointer for stack recovery after return from call */
        movl  %esp,%ebx 
 /* Reserve StackSizeInByte */
        subl 24(%ebp),%esp
        addl $4,%esp
 /* Load counter register with number of stack items (16B-sized) */
        movl 20(%ebp),%ecx
        shrl $4,%ecx
 /* Get source address */
        movl 16(%ebp),%esi
 /* Get destination address */
        movl %esp,%edi
 /* Move onto stack */
        cld
        test %ecx, %ecx
        jz .L1
.L0:
        movsl (%esi),%es:(%edi)
        add $12, %esi
        loop .L0
.L1:

 /* push this pointer */
        movl 8(%ebp),%edx
        pushl %edx
 /* Get procedure address */
        movl 12(%ebp),%edx
 /* Call it */ 
        call *%edx
 /*; Get former stack pointer independend of call 'result' */
        movl %ebx,%esp
 /* Always return OK */
        movl $0,%eax
 /* Get registers back */
        popl %ebx
        popl %ecx
        popl %edx
        popl %edi
        popl %esi
        popf
        movl -4(%ebp),%ebx
        leave
        ret
.Lfe1:
        .size    sql38aVdcomCall,.Lfe1-sql38aVdcomCall
;       .ident  ""
&endif

CU
jrg

> -----Original Message-----
> From: "D�hr, Markus ICC-H" [mailto:[EMAIL PROTECTED]
> Sent: Freitag, 5. M�rz 2004 17:14
> To: '[EMAIL PROTECTED]'
> Subject: [Porting] - ven38a.s on Solaris/Intel
> 
> 
> Hey,
> 
> I hope someone from SAP can (and would like to) help me. I 
> have decided to
> give Solaris/Intel another try, I'm quite far by now but I'm stuck in
> en/ven38a.s. The Solaris assembler does not like some statements and
> assembler in general is greek to me...
> 
> That's my build log:
> 
> !$TOOLSHELL -S ifaconf.pl $INSTRUNTIME
> /home/doehrm/sapdb/V74_03_31/SAPDB_ORG/usr/runtime/7403 -> 
> 7.4.3.0,/home\
> /doehrm/sapdb/V74_03_31/SAPDB_ORG/usr registered.
> !cp $TOOL/pgm/idl2xml $INSTROOT/pgm/idl2xml
> !cp $TOOL/pgm/xml2ispc $INSTROOT/pgm/xml2ispc
> ven38a    fast 
> Assembler: ven38a
>         "ven38a.s", line 37 : Syntax error
> cc: assembler failed for ven38a.s
> Error while executing "cc -DDEVELOPMENT -c ven38a.s"
> message: Ung�ltige Positionierung
> COMMAND error 2 
> 'enklib.lib' not made because of dependency errors 
> 'kernel-omstst.shm' not made because of dependency errors 
> 
> 
> So looking at the produced code of the pascal file I see this:
> 
> 
> /* Load counter register with number of int's (bytes / 4) */
>         movl 24(%ebp),%eax
>         sarl $2,%eax
>         movl %eax,%ecx
>  /* Get source address */
>         movl 16(%ebp),%esi
>  /* Get destination address */
>         movl %esp,%edi
>         rep
>         movsl (%esi),%es:(%edi)
> 37------^^^^^^^^^^^^^^^^^^^^^^^
> 
>  /* push this pointer */
>     movl 8(%ebp),%edx
>     pushl %edx
>  /* Get procedure address */
> 
> 
> Is my build environment outdated or is this an assembler 
> specific problem
> here?
> 
> bash-2.05$ CC -V
> CC: Sun WorkShop 6 update 2 C++ 5.3 Patch 111686-19 2003/12/18
> 
> bash-2.05$ uname -a
> SunOS plonk 5.9 Generic_112234-11 i86pc i386 i86pc
> 
> bash-2.05$ as -V
> as: Sun Compiler Common 7.1 Patch 115114-01 IA32-iteam 2003/09/16
> Usage: as [-V] [-Q{y,n}] [-s]
>           [-S[aAbBcClL]] [-K {pic,PIC}] [-o objfile] [-L] [-T]
>           [-P [[-Ipath] [-Dname] [-Dname=def] [-Uname]]...]
>           [-m [-Ym,path]] [-n] [-xF] [-F] [-b] [-i] file.s ...
> 
> 
> I had some problems with other assembler files but they 
> compiled fine after
> I removed the '#' comment style. 
> 
> I need the symbol sql38aVdcomCall, it's used in veo38.cpp. 
> This assembler
> file is valid for all architechtures but Reliant so it should 
> be compilable.
> 
> Does someone have an idea on what I can do?
> 
> Thanx alot!
> 
> 
> Greetz,
> 
> 
> 
> SIEGENIA-AUBI KG
> Informationswesen
>  
> i.A.
>  
> Markus D�hr
> SAP-CC/BC, SAPDB-DBA
> 
> Tel.:  +49 6503 917-152
> Fax:   +49 6503 917-7152
> E-Mail: [EMAIL PROTECTED]
> Internet: http://www.siegenia-aubi.com 
>  
> 
> -- 
> MaxDB Discussion Mailing List
> For list archives: http://lists.mysql.com/maxdb
> To unsubscribe:    
> http://lists.mysql.com/[EMAIL PROTECTED]
> 

--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to