Midterm report - Enabling llvm’s self-hosted modules builds using libstdc++


This is the midterm evaluation for the project: Enabling llvm’s self-hosted modules builds using libstdc++ [1]

Following the project plan, a buildbot [2] for building llvm with self-hosted modules using libstdc++ has been set up on zorg. The configuration patches [3] have been committed to zorg and the builedbot is running on Debian using gcc 4.7. It currently builds up to 9%.

A number of issues/bugs have been encountered while building llvm self-hosted with modules using libstdc++. Some issues appeared uniquely, whereas some are recurrent. C-reduce [4] has been set up in order to accelerate the process of reducing the issues and where feasible a combination of c-reduce and manual reduction has been used to achieve minimalistic reproducers. The minimised bugs have been submitted to Bugzilla along with the reproducers in the form of a clang test. [5][6][7][8].

Some of the submitted bugs have either been fixed by clang developers, have patches submitted to Phabricator or are pending. The patches that I submitted to Phabricator [9][10][11][12] are fixing the corresponding bugs in Bugzilla or they are fixing other minor issues with the module maps or missing includes. Some of the submitted bugs are valid bugs not only for the modules component, but as well for non-modules clang (i.e [6]).

Any questions or suggestions are welcomed!



[1] https://summerofcode.withgoogle.com/dashboard/project/4949415424950272/details/

[2] http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules-2/

[3] http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/

[4] https://embed.cs.utah.edu/creduce/

[5] https://llvm.org/bugs/show_bug.cgi?id=27698

[6] https://llvm.org/bugs/show_bug.cgi?id=27699

[7] https://llvm.org/bugs/show_bug.cgi?id=27890

[8] https://llvm.org/bugs/show_bug.cgi?id=27991

[9] http://reviews.llvm.org/D21390

[10] http://reviews.llvm.org/D21388

[11] http://reviews.llvm.org/D20244

[12] http://reviews.llvm.org/D19315