Re: What is the meaning of "missing indirect symbols for section (__TEXT, __symbol_stub)"?
Re: What is the meaning of "missing indirect symbols for section (__TEXT, __symbol_stub)"?
- Subject: Re: What is the meaning of "missing indirect symbols for section (__TEXT, __symbol_stub)"?
- From: John Reppy <email@hidden>
- Date: Sun, 29 Oct 2006 09:15:46 -0600
Thanks for the quick reply. I had looked at the output of gcc, but
the manual
claims that those two forms are equivalent on the x86. I don't know
if this
is a bug in the implementation or specification, but I filed a bug
(#4808929)
against the assembler.
- John
On Oct 29, 2006, at 1:01 AM, Eric Albert wrote:
On Oct 28, 2006, at 10:32 PM, John Reppy wrote:
I'm trying to help someone port a compiler (http://mlton.org) that
generates
x86 assembly code, but we are having difficulty with calls to
external C functions.
If we are calling a function _foo directly, we get a error from ld:
external relocation entries in non- writable section
(__TEXT,__text) symbols:
_foo
but if we put in a stub as suggested by the "Mac OS X Assembler
Reference"
.symbol_stub
L_foo_stub:
.indirect_symbol _foo
hlt ; hlt ; hlt ; hlt ; hlt
we get the following error from the assembler:
missing indirect symbols for section (__TEXT,__symbol_stub)
Can someone explain what the root cause of this error message
might be?
That Mac OS X Assembler Reference page is out of date. Please file
a bug report at <http://bugreport.apple.com/>.
If you look at the assembly output for a simple C file (using gcc -
S), you'll see that instead of .symbol_stub the compiler emits this:
.section __IMPORT,__jump_table,symbol_stubs,self_modifying_code
+pure_instructions,5
Use that instead and your stub will work.
In other words, when in doubt with your own compiler, look at what
a known working compiler does. :)
Hope this helps,
Eric
_______________________________________________
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