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]
*** GNU Tools Cauldron 2014 presentation:[https://dmalcolm.fedorapeople.org/presentations/cauldron-2014/jit/ Just-In-Time compilation using GCC]
*** 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


Older stuff