
@HaskRay
Followers
4K
Following
285
Media
350
Statuses
1K
FP算法愛好者,玩過超算,醬油DEFCON CTF,吃饭难🐱
California, USA
Joined November 2012
Added a new chapter "Relocatable linking challenge with R_RISCV_ALIGN". Linkers have to synthesize an R_RISCV_ALIGN relocation at section start.
maskray.me
Updated in 2025-07. This article introduces RISC-V linker relaxation and describes the downside. Linker optimization/relaxation Because the linker has a global view and layout information, it can perf
0
1
9
LLVM integrated assembler: Engineering better fragments. GNU Assembler held the lead on fragment architecture for nearly four decades.
maskray.me
In my previous assembler posts, I've discussed improvements on expression evaluation and relocation generation. Now, let's turn our attention to recent refinements within section fragments. Understand
0
4
37
Tuliom is exploring GCC LTO integration in lld/ELF (dlopen liblto_plugin.so) Are there licensing issues to consider? Related:. * (used by GNU ld, gold, ar) is a DSO, not an executable. * rustc_codegen_gcc & libgccjit:
github.com
Proposal rustc_codegen_gcc is a new code generation backend for rustc using the libgccjit library from GCC. (Despite its name, libgccjit works for ahead-of-time compilation as well.) rustc_codegen_...
0
1
11
Added a chapter to about the glibc ELF_DYNAMIC_RELOCATE fun for 2025!.
maskray.me
Recently I have fixed two glibc rtld bugs related to early GOT relocation for retro-computing architectures: m68k and powerpc32. They are related to the obscure PI_STATIC_AND_HIDDEN macro which I am g
0
0
14
Added notes about Armv9 Guarded Control Stack (linker/glibc 2.41/kernel support) and RISC-V Zicfiss extension. It's a pity RISC-V lacks dedicated call/return instructions, requiring extra prologue/epilogue instructions (recompilation).
maskray.me
Updated in 2025-05. A control-flow graph (CFG) is a graph representation of all paths that might be traversed through a program during its execution. Control-flow integrity (CFI) refers to security po
0
1
27
Apple is adding Mach-O's riscv32 support to LLVM (Just created an orange site post ; no comment yet).
github.com
Based on a patch written by Tim Northover (https://github.com/TNorthover).
0
3
18
This ARM RELA/CREL assembler issue is well-timed, allowing me to incorporate it into the post:).
github.com
$ cat /tmp/a.cc void f(); int main() { try { f(); } catch (...) { return 1; } return 0; } # sysroot required for the following, reproducers attached below $ clang++ -O2 -shared -o /tmp/nocrel.so /t...
0
0
1
LLVM integrated assembler: Improving expressions and relocations.
maskray.me
In my previous post, LLVM integrated assembler: Improving MCExpr and MCValue delved into enhancements made to LLVM's internal MCExpr and MCValue representations. This post covers recent refinements to
1
5
23
Added some notes about microMIPS and its $LFB0 = . instead of $LFB0: trick
maskray.me
This article describes some notes about MIPS with a focus on the ELF object file format, GCC, binutils, and LLVM/Clang. In the llvm-project project, I sometimes find myself assigned as a reviewer for
0
1
5
LLVM integrated assembler: Improving MCExpr and MCValue.
maskray.me
In my previous post, Relocation Generation in Assemblers, I explored some key concepts behind LLVM’s integrated assemblers. This post dives into recent improvements I’ve made to refine that system. Th
0
5
21
The 2010 LLVM MC commit introduced `MCSymbolRefExpr::VariantKind` with x86 relocation operators, but it's flawed - other expressions (e.g. MCBinaryExpr) need it too, and semantics get messy (e.g. `(a@plt)-b`).
github.com
- Although it would be nice to allow this decoupling, the assembler needs to be able to reason about MCSymbolRefExprs in too many places to make this viable. We can use a target specific encoding ...
2
0
6