Posts

Symbols in Compiled Object File and Their Attributes

We show by example the generated symbols of C constructs and their attributes in each case. We also provide a Rust program for examining the symbols in an object file.

Zhiyao Ma

Thumb2 Instructions Require 4-Byte Alignment Rather Than 2-Byte

We discuss why 2-byte alignment is not sufficient for thumb2 instructions even though the ISA supports an arbitrary mixture of 2- and 4-byte instructions.

Zhiyao Ma

Turn on MAC Spoofing for Virtual NICs in Hyper-V to Support Nested VMs

Enable MAC address spoofing in Hyper-V manager network adapter settings if nested VMs are bridged onto that NIC.

Zhiyao Ma

An Introduction to Stack Unwinding and Exception Handling

We give an overview of the stack unwinding and exception handling for C++ like languages on x86_64. We describe the use of `.eh_frame` and `.gcc_except_table` section and the …

Zhiyao Ma

Building LLVM Compiler-RT for ARM MCU

We introduce compiler instrinsic functions and resolve undefined symbols to `__aeabi_*` when cross-compiling for ARM microcontrollers.

Zhiyao Ma