phase6: add the symbol registry and per-region flag overrides, and register 0x8002D2A0
This commit is contained in:
@@ -19,8 +19,18 @@ allocation" is **not** a match. If the bytes differ, the function stays fallback
|
||||
Add one row to the tracked registry `config/regions.tsv`:
|
||||
|
||||
```
|
||||
# start<TAB>end<TAB>source
|
||||
# start<TAB>end<TAB>source[<TAB>overrides]
|
||||
0x80017AD4 0x80017AE8 src/func_80017AD4.c
|
||||
0x8002D2A0 0x8002D2BC src/func_8002D2A0.c
|
||||
```
|
||||
|
||||
A row may carry an optional fourth field of **per-region flag overrides**: space-separated
|
||||
`key=value` tokens with key `cc1` or `as`, each value a comma-separated flag list. The flags are
|
||||
appended to that region's effective toolchain flags only, so a region can override a global default
|
||||
(for example `cc1=-O0`). Example:
|
||||
|
||||
```
|
||||
0x80030000 0x80030040 src/func_80030000.c cc1=-O0 as=-G8
|
||||
```
|
||||
|
||||
Rules the harness enforces:
|
||||
@@ -69,9 +79,16 @@ start before sharing.
|
||||
## Symbols
|
||||
|
||||
Cross-references to functions and globals that are not themselves matched are supplied as absolute
|
||||
assembler definitions (`--defsym NAME=0xADDR`). The harness currently accepts these **globally** for a
|
||||
whole build; per-region symbols are not yet supported, which is why a symbol-referencing match such as
|
||||
`0x8002D2A0` is verified but not yet registered.
|
||||
assembler definitions (`--defsym NAME=0xADDR`). A **tracked symbol registry**, `config/symbols.tsv`,
|
||||
holds these as `NAME<TAB>address` rows (hex, `0x` optional) and is loaded with `--symbols`:
|
||||
|
||||
```
|
||||
g_80122354 0x80122354
|
||||
```
|
||||
|
||||
`make code` and `make gate` pass `config/symbols.tsv` automatically; `range` accepts `--symbols`
|
||||
(and `--defsym` for one-off names). A name in the registry is an address placeholder, not a claim
|
||||
about the object's meaning. `0x8002D2A0` is registered and gated this way.
|
||||
|
||||
## Verification procedure
|
||||
|
||||
|
||||
Reference in New Issue
Block a user