GCC Internals and Porting

GCC Internals and Porting

ID:39774633

大小:253.38 KB

页数:31页

时间:2019-07-11

GCC Internals and Porting_第1页
GCC Internals and Porting_第2页
GCC Internals and Porting_第3页
GCC Internals and Porting_第4页
GCC Internals and Porting_第5页
资源描述:

《GCC Internals and Porting》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、GCCInternalsandPortingHelloGccWorkshopOctober24,2009MingjieXingjoefoxreal@gmail.comOutline➢GettingStarted➢Overview➢Compilation,SourceTree,InternalFramework➢FrontEnd➢LanguageHooks,CParser,Tree&GENERIC➢MiddleEnd➢GIMPLE,CallGraph,Passes➢BackEnd&Port➢RTL,MD,TargetMacrosHelloGccWorkshop2009GCCI

2、nternalsandPorting-2GettingStartedhttp://gcc.gnu.org/wiki/GettingStarted➢Tutorials,HOWTOs➢GCCInternalsPodcast-Englishlistening:)➢GCCInternalsTutorial-Verydetailed!➢WorkshoponGCCInternals-Spimport➢InternalDocumentation➢GCCInternals➢DealingWiththeSourceCode➢Debugging,Testing,Writingpass/fron

3、t-end/back-end➢StructureofGCC➢Frontend,Tree/RTLOptimizers,PassesHelloGccWorkshop2009GCCInternalsandPorting-3Overview➢Compilation➢SourceTree➢InternalFrameworkHelloGccWorkshop2009GCCInternalsandPorting-4Compilation➢gccdriverhello.c➢Processspecstrings:gcc.c➢$gcc-dumpspecscc1➢cc1➢Entrypoint:to

4、plev_main,toplev.cgccas➢Sametocc1plus,jc1,f771,etc.collect2➢collect2➢Reallinker:lda.out➢Handleinitializationfunctions:main→__main→constructors$gcc-vhello.cHelloGccWorkshop2009GCCInternalsandPorting-5SourceTreeboehm-gcadaalpha*.mdconfigconfigarc*.hcontribcparm*.cfixincludesdocmips*.optgccfo

5、rtran...t-*➢librariesgcc-4.4.0INSTALLgincludex-*➢front-endslibgccjava...➢middle-endobjc➢back-endlibada➢portslibgfortranobjcplibjavapo...testsuiteHelloGccWorkshop2009GCCInternalsandPorting-6*.c/*.h...GCCGrowthFromDiegoNovillo'sSlidesHelloGccWorkshop2009GCCInternalsandPorting-7InternalFramew

6、orkFromDiegoNovillo'sSlidesHelloGccWorkshop2009GCCInternalsandPorting-8FrontEnd➢LanguageHooks➢CParser➢Tree&GENERICHelloGccWorkshop2009GCCInternalsandPorting-9LanguageHooks➢Definethestructure➢Definespecificfunctionsstructlang_hooks{bool...c_objc_common_init(void)}/*langhooks.h*/{...➢Defined

7、efaultfunctions}/*c-opts.c*/bool/*alsoinc-common.c,c-decl.c*/hook_bool_void_false(void){➢Declarethevariable&Initializereturnfalse;}/*langhooks.c*/#include"c-objc-common.h"➢Definethedefaultinitializer#undefLANG_HOOKS_NAME#defineLANG_HOOKS_NAME"GNUunknown"#defin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。