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
•