| delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| X-SWARE-Spam-Status: | No, hits=-8.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI |
| X-Spam-Check-By: | sourceware.org |
| From: | Stephan Mueller <Stephan DOT Mueller AT microsoft DOT com> |
| To: | Brandon Chase <tapedispenser7 AT hotmail DOT com>, |
| "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com> | |
| Subject: | RE: Assembly language exit() syscall does not return correct value |
| Date: | Tue, 16 Mar 2010 17:08:39 +0000 |
| Deferred-Delivery: | Tue, 16 Mar 2010 17:09:00 +0000 |
| Message-ID: | <98091D8BAF39E746A7D3E618C948528D279C5141@DF-M14-02.exchange.corp.microsoft.com> |
| References: | <SNT124-W2474B6AD4E766F69DD69EE992D0 AT phx DOT gbl> |
| In-Reply-To: | <SNT124-W2474B6AD4E766F69DD69EE992D0@phx.gbl> |
| MIME-Version: | 1.0 |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Id: | <cygwin.cygwin.com> |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
Brandon Chase wrote: " DaveK wrote: " " On 15/03/2010 16:56, Christopher Faylor wrote: " " > # %ebx is the status code for the exit system call " " > # and it already has the maximum number " " > movl $1, %eax #1 is the exit() syscall " " > " " > If, in theory, I got this right then, on linux it SEGVs. I would " " > not expect anything different on Cygwin. It seems like you need " " > to actually call exit() if you want this to exit. " " " Yeah, this looks like it was Linux assembly code and the "int 0x80" h= as just " " been removed. What you said. Also, it should probably define '_main' = rather " " than '_start'. And use the gcc driver to assemble and link it so as to= get " " the necessary startup code. " " " Brandon, Cygwin isn't compatible with Linux at the assembler-code lev= el, in " " particular Cygwin isn't a real kernel, so it doesn't have a syscall int= erface; " " you just call system functions as if they were ordinary functions. " " So I cannot compile assembly language with Cygwin? Do I need a linux shel= l? No, that's not what anyone said. You can use the assembler on Cygwin to ge= nerate binaries that run on Cygwin (which is I think what you're looking for), but= your assembly source code won't work as is -- you will need to make changes of t= he sort that DaveK and cgf state in the paragraphs above. stephan(); -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |