• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
trouble getting Hello World / gas / Mac OS X to work
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

trouble getting Hello World / gas / Mac OS X to work


  • Subject: trouble getting Hello World / gas / Mac OS X to work
  • From: Andrew Pennebaker <email@hidden>
  • Date: Mon, 15 Oct 2012 14:56:01 -0400

I'm trying to write Hello World in GNU assembler for Mac OS X, but it's bus erroring before it can print "Hello World".

hello.s:
.global start

.data

.equ stdout, 1

.equ sys_write, 4
.equ sys_exit, 1

.equ kernel, 0x80

msg: .asciz "Hello World!\n"
.equ len, .-msg

.text

start:
	push $len
	push $msg
	push $stdout
	mov $sys_write, êx
	sub $4, %esp
	int $kernel
	add $4 + $4 * $3, %esp

	push $0
	mov $sys_exit, êx
	sub $4, %esp
	int $kernel
Trace:

$ clang -c -o hello.o hello.s
$ ld -o hello -macosx_version_min 10.6 hello.o
$ ./hello
Bus error: 10

$ gdb hello
(gdb) run
Starting program: /Users/andrew/Desktop/src/mcandre/gas/hello/freebsd/hello 

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x0000000000002000
0x0000000000002000 in msg ()

I'm basing my code off of a couple things:
  • Working NASM / Mac OS X code for Hello World
  • Working Gas / Linux code for Hello World
I took the semantics from NASM / Mac OS X and the syntax from Gas / Linux.

I also tried the example program on the GNU Assembler Wikipedia page, but it also bus error's.

I filed a bug report with Apple due to its GNU assembler being horribly out of date (as 1.38). They said to use clang instead, so here I am.

What am I doing wrong?

Specs:

* ld64-134.9
* clang 4.1
* Xcode 4.5
* Mac OS X 10.8.2
* MacBook Pro 2009

--
Cheers,

Andrew Pennebaker
www.yellosoft.us
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: trouble getting Hello World / gas / Mac OS X to work
      • From: Chris Lattner <email@hidden>
  • Prev by Date: Re: changing simulated metrics changes constraints
  • Next by Date: Re: trouble getting Hello World / gas / Mac OS X to work
  • Previous by thread: Re: Is GCC_ENABLE_CPP_RTTI = -frtti ?
  • Next by thread: Re: trouble getting Hello World / gas / Mac OS X to work
  • Index(es):
    • Date
    • Thread