Anton, Sorry I have not replied earlier. Can I ask what platform ABI's are documented other than Itanium ? I need to get to understand PIC on x86, x86_64 and PowerPC for the COFF and MachO backends. Thanks, Aaron 2009/6/15 Anton Korobeynikov <anton at korobeynikov.info>> Hello, Aaron > > > Is there any overview or detailed socumentation on LLVM PIC ? > Did you mean Position Independent Code? If so - there is nothing > special here, LLVM just implements (when this is implemented) what is > defined in platform ABI. > > -- > With best regards, Anton Korobeynikov > Faculty of Mathematics and Mechanics, Saint Petersburg State University > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090616/aa30d65f/attachment.html>
Hello, Aaron> Can I ask what platform ABI's are documented other than Itanium ?I'd bet all platform ABI are more or less documented.> I need to get to understand PIC on x86, x86_64 and PowerPC for the COFF and MachO backends.ABI is normally induced by platform, not by architecture or object file format (however they can influence on it). 1. Windows is PIC by design. Google for PE file format and for 'relocs' section. This corresponds to LLVM's DynamicNoPIC 2. ABI docs for Darwin (x86, x86_64, ppc, ppc64) you might find somewhere @apple.com. There you can have all 3 types of PIC code: static (no pic at all), DynamicNoPIC and full PIC. 3. COFF is usually not used on PPC at all (maybe on some old AIX'es?). PS: Since you did not mention ELF, I assume you already found ABI docs for it (for all platforms). -- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University
On Jun 16, 2009, at 1:17 PMPDT, Anton Korobeynikov wrote:> Hello, Aaron > >> Can I ask what platform ABI's are documented other than Itanium ? > I'd bet all platform ABI are more or less documented. > >> I need to get to understand PIC on x86, x86_64 and PowerPC for the >> COFF and MachO backends. > ABI is normally induced by platform, not by architecture or object > file format (however they can influence on it). > > 1. Windows is PIC by design. Google for PE file format and for > 'relocs' section. This corresponds to LLVM's DynamicNoPIC > 2. ABI docs for Darwin (x86, x86_64, ppc, ppc64) you might find > somewhere @apple.com. There you can have all 3 types of PIC code: > static (no pic at all), DynamicNoPIC and full PIC.The Apple ABI document is here, but doesn't really talk about PIC: http://developer.apple.com/documentation/DeveloperTools/Conceptual/LowLevelABI/000-Introduction/introduction.html> 3. COFF is usually not used on PPC at all (maybe on some old AIX'es?). > > PS: Since you did not mention ELF, I assume you already found ABI docs > for it (for all platforms). > -- > With best regards, Anton Korobeynikov > Faculty of Mathematics and Mechanics, Saint Petersburg State > University > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Anton,>> Can I ask what platform ABI's are documented other than Itanium ? > I'd bet all platform ABI are more or less documented.Right. Maybe we should collect references and do some LLVM PIC documentation and put it on LLVM website ?>> I need to get to understand PIC on x86, x86_64 and PowerPC for the COFF >> and MachO backends. > ABI is normally induced by platform, not by architecture or object > file format (however they can influence on it).Yes.> 1. Windows is PIC by design. Google for PE file format and for > 'relocs' section. This corresponds to LLVM's DynamicNoPICOkay I have this documentation.> 2. ABI docs for Darwin (x86, x86_64, ppc, ppc64) you might find > somewhere @apple.com. There you can have all 3 types of PIC code: > static (no pic at all), DynamicNoPIC and full PIC.Okay. We need documentation, what is the difference between DynamicNoPIC and full PIC ?> 3. COFF is usually not used on PPC at all (maybe on some old AIX'es?).Yes.> Since you did not mention ELF, I assume you already found ABI docs > for it (for all platforms).I am not working on the ELF backend, but could not understand the PIC code in the ELF documentation. Thanks, Aaron