From: Andre S. <ahm...@ca...> - 2003-05-02 16:13:36
|
Hi, I try to use gcc as an frontend to an assembler file. This works fine with Linux/FreeBSD but seems to fail on MinGW. If I type '$ gcc -c myfile.s -o myfile.o' on MinGW I get all kind of error messages. Can anyone advise me on this matter? Kind regards, Andre Steenveld. Here is a source file followed by the error messages it generates. (The source file comes from the backend of an compiler I would like to use under windows.) ---8<--- myfile.s --- /* Code derived from beep */ /* VOID _main () */ /* [ start, P0, --, -- ] */ .local G1 /* elan0inputfile */ .comm G1,4,4 .local G2 /* elan0outputfile */ .comm G2,4,4 .local G3 /* mylastconversionok */ .comm G3,4,4 .local G4 /* mylinebuffer */ .comm G4,4,4 .local G5 /* myposx */ .comm G5,4,4 .local G6 /* myposy */ .comm G6,4,4 .text .align 16 .globl main .type main,@function main: pushl %ebp movl %esp,%ebp pushl %ebx pushl %esi pushl %edi pushl 12(%ebp) pushl 8(%ebp) call rts_init addl $8,%esp /* [ undef, --, --, G_elan0inputfile ] */ subl %eax,%eax movl %eax,G1 /* [ undef, --, --, G_elan0outputfile ] */ subl %eax,%eax movl %eax,G2 /* [ undef, --, --, G_mylinebuffer ] */ subl %eax,%eax movl %eax,G4 /* [ det&, G_mylinebuffer, --, -- ] */ leal G4,%ebx subl $4,%esp pushl %ebx call rts_detach addl $8,%esp /* [ :=A, #"", --, G_mylinebuffer ] */ leal CC1,%eax .section .rodata .align 4 .short -1 .short -1 CC1: .asciz "" .text movl %eax,G4 /* [ :=I, #1, --, G_mylastconversionok ] */ movl $1,%eax movl %eax,G3 /* [ pcall, #1, --, -- ] */ subl $4,%esp /* [ lpar, #"Before beep\n", #0, -- ] */ leal CC2,%eax .section .rodata .align 4 .short -1 .short -1 CC2: .asciz "Before beep\n" .text pushl %eax /* [ call, rts_put_text, #1, -- ] */ call rts_put_text addl $8,%esp /* [ pcall, #0, --, -- ] */ /* [ call, P1, #0, -- ] */ call P1 /* [ pcall, #1, --, -- ] */ subl $4,%esp /* [ lpar, #"After beep\n", #0, -- ] */ leal CC3,%eax .section .rodata .align 4 .short -1 .short -1 CC3: .asciz "After beep\n" .text pushl %eax /* [ call, rts_put_text, #1, -- ] */ call rts_put_text addl $8,%esp /* [ end, --, --, -- ] */ call rts_finish popl %edi popl %esi popl %ebx movl %ebp,%esp popl %ebp xorl %eax,%eax ret .Lfe1: .size main,.Lfe1-main /* PROC beep */ /* [ enter, P1, --, -- ] */ .align 16 .type P1,@function P1: pushl %ebp movl %esp,%ebp /* [ pcall, #1, --, -- ] */ subl $4,%esp /* [ lpar, #"\007", #0, -- ] */ leal CC4,%eax .section .rodata .align 4 .short -1 .short -1 CC4: .asciz "\007" .text pushl %eax /* [ call, rts_put_text, #1, -- ] */ call rts_put_text addl $8,%esp /* [ leave, P1, --, -- ] */ movl %ebp,%esp popl %ebp ret .Lfe2: .size P1,.Lfe2-P1 ---8<--- myfile.log myfile.s: Assembler messages: myfile.s:5: Error: unknown pseudo-op: `.local' myfile.s:6: Warning: rest of line ignored; first ignored character is `,' myfile.s:7: Error: unknown pseudo-op: `.local' myfile.s:8: Warning: rest of line ignored; first ignored character is `,' myfile.s:9: Error: unknown pseudo-op: `.local' myfile.s:10: Warning: rest of line ignored; first ignored character is `,' myfile.s:11: Error: unknown pseudo-op: `.local' myfile.s:12: Warning: rest of line ignored; first ignored character is `,' myfile.s:13: Error: unknown pseudo-op: `.local' myfile.s:14: Warning: rest of line ignored; first ignored character is `,' myfile.s:15: Error: unknown pseudo-op: `.local' myfile.s:16: Warning: rest of line ignored; first ignored character is `,' myfile.s:20: Warning: .type pseudo-op used outside of .def/.endef ignored. myfile.s:20: Warning: rest of line ignored; first ignored character is `m' myfile.s:97: Warning: .size pseudo-op used outside of .def/.endef ignored. myfile.s:97: Warning: rest of line ignored; first ignored character is `m' myfile.s:102: Warning: .type pseudo-op used outside of .def/.endef ignored. myfile.s:102: Warning: rest of line ignored; first ignored character is `P' myfile.s:123: Warning: .size pseudo-op used outside of .def/.endef ignored. myfile.s:123: Warning: rest of line ignored; first ignored character is `P' |