Posts (original) (raw)

Native binary obfuscation in clang-repl

Proof-of-concept for an obfuscation playground at the C++ prompt

LLVM Projects in 2023 Google Summer of Code

LLVM has issued a number of challenging project ideas for the upcoming GSoC. The application period for contributors starts today, 20 March and ends on 4 April.

Remote C++ live coding on Raspberry Pi with ez-clang-linux

ez-clang 0.0.6 can target Raspberry Pi Models 2 and 3 through TCP sockets. It has never been easier to play and experiment with the remote C++ REPL.

ez-clang Python Device Configuration Layer

In release 0.0.6 ez-clang gained a Python Device Configuration Layer that allows users to connect their own devices.

GDB JIT Interface 101

There is a surprising amount of things that can go wrong when debugging JITed code. Let's see how debug info registration works at runtime and what to check when things go south.

EuroLLVM 2022 Trip Report

The collective expertise in the audience remains the outstanding quality of the LLVM conferences. Presentations, discussions and round tables are on an unequaled level of technical excellence.

Porting Cling to LLVM 13 and ORCv2

The upstream version of the C++ interpreter is based on LLVM 9 and uses the now deprecated ORCv1 JIT libraries. Here are my notes and learnings from rebasing it to the latest release.

Stop warning markers from polluting vscode minimap

More plugins means more warnings and not everything is configurable. Here's a quick way to remove warning markers from the minimap and make space, e.g. for search results.

Diffing Clang AST dumps

Searching for differences in two given dumps of the Clang AST is a little tricky. A short Python script helps.

Debugging llvm-lit in vscode

LLVM's test driver LIT contains a mix of Python modules and configuration scripts that can be a little tricky to debug

Installing latest stable LLVM in a bare Linux container with apt

This is a reminder to myself on installing LLVM quickly in a fresh debian:buster-slim container

Remote cross-JIT a Mongoose HTTP Server

The combination of cross-compilation and JIT execution enables rapid edit-compile-test cycles while keeping resource intensive tasks on the local host. The remote host can be a low-resource device that only runs the self-contained executor on a minimal Linux.

LLDB regained JITed code debugging feature

A regression that reached back to version 6 was fixed in the latest release.

Get tip-of-tree LLDB to work in vscode

Build and integrate mainline LLDB in Visual Studio Code

Remote native JIT compilation and debugging with LLVM

JIT compile and run a minimal program on a remote target connected via TCP. Inspect and modify the program state from the host machine just like any static executable running locally.

What's the matter with yaml-bench in the llvm-9-dev apt package?

LLVM Release 9.0 changes

Rich Recoverable Error Handling with llvm::Expected

LLVM 5.0 Release ORC API Changes

The simplest way to compile C++ with Clang at runtime

Debugging Clang

Building a JIT from scratch

Notes on setting up projects with LLVM