David Fang
2013-Mar-11 05:40 UTC
[LLVMdev] possible MachObjectWriter bug (powerpc-darwin8)
Hi, I've been slowly but steadily working towards enabling the Mach-O/PPC backend for MC, starting with the mach-o relocation entry translation. patches/logs: http://www.csl.cornell.edu/~fang/sw/llvm/ git: http://github.com/fangism/llvm/tree/powerpc-darwin8 git: http://github.com/fangism/clang/tree/powerpc-darwin8 I've managed to get the simplest single-function-call hello-world program to produce a valid PIC object file, validated by comparison against /usr/bin/as. However, as soon as my translation unit contains two function calls to extern symbols, the object file looks incorrect. example program, reduced test case: extern void foo(void); extern void goo(void); extern void bar(void); void bar(void) { foo(); } extern void baz(void); void baz(void) { goo(); } extern void ick(void); void ick(void) { bar(); baz(); } Please see details shown at http://llvm.org/bugs/show_bug.cgi?id=14636 from comment 26 to 32+. Basically, the index into the indirect table for the symbol stubs section looks suspect (IndirectSymBase). I've shown some stack traces that show where the wrong(?) value came from, MachObjectWriter::BindIndirectSymbols(). Can any mach-o experts comment on this finding? Is there some assumption about the order of symbols or sections seen by BindIndirectSymbols()? Fang -- David Fang http://www.csl.cornell.edu/~fang/
Seemingly Similar Threads
- [LLVMdev] llvm/clang test failures on powerpc-darwin8
- [LLVMdev] llvm/clang test failures on powerpc-darwin8
- [LLVMdev] llvm/clang test failures on powerpc-darwin8
- [LLVMdev] powerpc-darwin8 build/test status page
- [LLVMdev] llvm/clang test failures on powerpc-darwin8