digitalmars.D - Output absolute symbols in DMD
- Jacob Carlborg (22/22) May 30 2013 I'm doing some modifications to DMD where some symbols need to match
I'm doing some modifications to DMD where some symbols need to match
what Clang outputs. I'm trying to figure out how to output absolute and
lazy symbols. Running "nm -m" on the object file compiled with Clang
results in this:
00000000 (absolute) external [no dead strip] .objc_class_name_Foo
(undefined [lazy bound]) external [no dead strip]
.objc_class_name_NSObject
Foo is defined in the object file and NSObject is externally defined. I
had a look at the LLVM source code how these symbols are outputted. LLVM
uses file scope inline assembly for these symbols. The assembly Clang
generates look like this:
.section __TEXT,__text,regular,pure_instructions
.objc_class_name_Foo=0
.globl .objc_class_name_Foo
.lazy_reference .objc_class_name_NSObject
.lazy_reference .objc_class_name_Foo
The above code is the top of the assembly file.
Does anyone know how to generate the same symbols in DMD?
--
/Jacob Carlborg
May 30 2013








Jacob Carlborg <doob me.com>