From Fedora Project Wiki
(Add link to Cauldron presentation on libgccjit) |
(Add link to Cauldron presentation on RTL typesafety) |
||
Line 29: | Line 29: | ||
= GCC work = | = GCC work = | ||
* GCC 5 improvements: | * GCC 5 improvements: | ||
** [https://developers.redhat.com/blog/2014/09/16/improving-gccs-internals/ Improving GCC’s internals] | ** RTL typesafety | ||
*** Blog post: [https://developers.redhat.com/blog/2014/09/16/improving-gccs-internals/ Improving GCC’s internals] | |||
*** Presentation: [https://dmalcolm.fedorapeople.org/presentations/cauldron-2014/rtl/ A proposal for typesafe RTL] | |||
** libgccjit | ** libgccjit | ||
*** Blog post: [https://developers.redhat.com/blog/2015/04/07/jit-compilation-using-gcc-5-2/ JIT-compilation using GCC 5] | *** Blog post: [https://developers.redhat.com/blog/2015/04/07/jit-compilation-using-gcc-5-2/ JIT-compilation using GCC 5] | ||
*** | *** Presentation: [https://dmalcolm.fedorapeople.org/presentations/cauldron-2014/jit/ Just-In-Time compilation using GCC] | ||
* GCC 6: | * GCC 6: | ||
** [https://developers.redhat.com/blog/2016/02/26/gcc-6-wmisleading-indentation-vs-goto-fail/ -Wmisleading-indentation vs “goto fail;”] | ** [https://developers.redhat.com/blog/2016/02/26/gcc-6-wmisleading-indentation-vs-goto-fail/ -Wmisleading-indentation vs “goto fail;”] | ||
Line 42: | Line 44: | ||
Older stuff | = Older stuff = | ||
* [https://fedorahosted.org/rpmgrok/ rpmgrok] | * [https://fedorahosted.org/rpmgrok/ rpmgrok] | ||
* [http://www.conglomerate.org/ conglomerate]: an XML editor aimed at non-technical users (I rewrote the prototype) | * [http://www.conglomerate.org/ conglomerate]: an XML editor aimed at non-technical users (I rewrote the prototype) |
Revision as of 15:21, 17 September 2018
David Malcolm
Email: dmalcolm@redhat.com
My Fedora People page: http://dmalcolm.fedorapeople.org/
My blog: http://dmalcolm.livejournal.com/
A very old, out-of-date Red Hat People Page: http://people.redhat.com/dmalcolm
Some of the software I've written
- libgccjit: a branch of GCC allowing it to be built as a shared library for use in Just-In-Time compilation
- gcc-python-plugin: allowing you to write new GCC plugins in Python.
- cpychecker: a static analysis pass for GCC to find bugs in C extensions to Python, written in Python using gcc-python-plugin
- gdb Python hooks for debugging CPython itself
- gdb-heap, an extension to gdb for analyzing malloc/free
- squeal: a SQL-like syntax for use in shell pipelines
- asmdiff: tool for comparing objdump results
- gccinvocation: Python module for parsing GCC invocation lines
- jamais-vu: a tool for working with DejaGnu output
- firehose: a proposed common format for static analyzer output, along with a Python module for working with it
- mock-with-analysis: a way of rebuilding an RPM in mock, injecting static analysis, and capturing the result in Firehose format
- gcc-build: some scripts to make it easier to hack on GCC
I'm currently working on GCC upstream. Previously I worked on the Python runtimes within Fedora and Red Hat Enterprise Linux.
I'm interested in static code analysis
GCC work
- GCC 5 improvements:
- RTL typesafety
- Blog post: Improving GCC’s internals
- Presentation: A proposal for typesafe RTL
- libgccjit
- Blog post: JIT-compilation using GCC 5
- Presentation: Just-In-Time compilation using GCC
- RTL typesafety
- GCC 6:
- GCC 7:
- GCC 8:
Older stuff
- rpmgrok
- conglomerate: an XML editor aimed at non-technical users (I rewrote the prototype)