CreepNT / MTELib

small library that exposes MTE primitives (wip)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MTELib

A small, single-header library to provide easier usage of the ARM Memory Tagging Extensions.

Configuration

Features can be enabled/disabled using #defines.

#define Effect Notes
MTELIB_NO_TAG_CHECKS Disables checking of tags provided to functions.
MTELIB_NO_INTRINSICS Disables usage of intrinsics from <arm_acle.h> Not compatible with MTELIB_NO_INLINE_ASSEMBLY
MTELIB_NO_INLINE_ASSEMBLY Disables usage of inline assembly Not compatible with MTELIB_NO_INTRINSICS
MTELIB_DISABLE_DGRANULE_OPERATIONS Disable usage of double-granule instructions Only effective if MTELIB_NO_INLINE_ASSEMBLY isn't set
MTELIB_NO_ALIGNMENT_CHECKS Disables ALL alignment checks Make sure all pointers and sizes you provide are aligned when required or hardware aborts (e.g. SIGSEGV) will occur
MTELIB_RELAXED_ALIGNMENT_CHECKS Disables some alignment checks, when they are not required Read function descriptions carefully, as misaligned pointers/sizes can cause unexpected behaviour

About

small library that exposes MTE primitives (wip)


Languages

Language:C 99.5%Language:Shell 0.5%