Skip to content

Commit 13642fa

Browse files
committed
modules: canonicalize '# OFLAG:' comments and mark untested modules
- Standardize per-module '# OFLAG:' comments to reflect packaging-time '-Oz' enforcement, pre-configure sed normalization, or 'Untested' status. - Mark modules that had no build logs in the retest as 'Untested in prior retest'. - Update documentation and remove generated audit CSVs. - Delete leftovers oflags tracking files - Delete forgotten files in past testing Signed-off-by: Thierry Laurion <insurgo@riseup.net>
1 parent 22adbc6 commit 13642fa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+301
-599
lines changed

build_OFLAG_inventory.csv

Lines changed: 0 additions & 69 deletions
This file was deleted.

build_oflags_summary.csv

Lines changed: 0 additions & 29 deletions
This file was deleted.

build_oflags_summary_built_only.csv

Lines changed: 0 additions & 29 deletions
This file was deleted.

build_oflags_summary_built_only_combined.csv

Lines changed: 0 additions & 29 deletions
This file was deleted.

build_oflags_summary_built_only_ppc64.csv

Lines changed: 0 additions & 23 deletions
This file was deleted.

build_oflags_summary_built_only_x86.csv

Lines changed: 0 additions & 26 deletions
This file was deleted.

doc/OFLAG_fixes.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,14 @@ Notes & next steps
6060

6161
- Kernel config note (moved)
6262
- Note: kernel-config changes to enable `CONFIG_TMPFS` and `CONFIG_MEMFD_CREATE` have been applied repository-wide; see the header comment in `initrd/bin/kexec-boot` for rationale and validation guidance.
63+
64+
Sed normalization patterns
65+
- Generic pre-configure sed applied across multiple modules normalizes optimization flags to `-Oz`:
66+
- Pattern: `sed -e 's/-O[0-9]\+/-Oz/g' -e 's/-Os/-Oz/g'`
67+
- Effect: replaces `-O0`, `-O1`, `-O2`, `-O3`, `-Ofast` with `-Oz` and replaces `-Os` with `-Oz` in generated configure scripts and Makefiles.
68+
- Placement: applied in `module_configure` target before `./configure` invocation or in pre-build hooks.
69+
- Artifact cleanup: `.bak` files generated by sed are removed to avoid confusion with source artifacts.
70+
71+
Notes:
72+
- `openssl` — Verified OK: packaging explicitly sets `CFLAGS="-Oz"` in `modules/openssl` and built logs (`build/x86/log/openssl.log`) show compile commands with `-Oz` only. No packaging-time sed changes required.
73+
- All fixes validated with V=1 reproducible builds (x86 & ppc64) and rescanned using `scripts/collect_oflags.py` to confirm no `-O2`/`-O3` in built module logs.

modules/bash

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
# GNU bash
22
modules-$(CONFIG_BASH) += bash
33

4-
# Inventory classification: OK - no -O2/-O3
54

6-
# TODO(-OFLAG): OFLAG status: OK — `-Oz` occurrences found in build logs (111 occurrences; evidence: build/x86/log/bash.log, build/ppc64/log/bash.log).
7-
# Action: none required; verified in cross-build logs. (audit updated 2026-01-27)
5+
# OFLAG: Enforce CFLAGS='-Oz' at packaging time (set in configure wrapper)
6+
# GCC15-BASH: Added -std=gnu11 for C23 keyword compatibility (bool, true, false conflicts)
7+
8+
89

910
bash_version := 5.1.16
1011
bash_dir := bash-$(bash_version)
@@ -15,7 +16,6 @@ bash_hash := 5bac17218d3911834520dad13cd1f85ab944e1c09ae1aba55906be1f8192f558
1516
# --enable-debugger: Enables BASH_SOURCE tracing through functions as well as
1617
# BASH_ARGV/BASH_ARGC. (Otherwise BASH_SOURCE[0] is empty when calling a
1718
# function, it's only set in top level script code.)
18-
# TODO(GCC15-BASH): Added -std=gnu11 for C23 keyword compatibility (bool, true, false conflicts)
1919
# Also patched lib/termcap/tparam.c to include <unistd.h> for write() function declaration
2020
# Consider reverting when bash is updated for GCC 15.1.0 compatibility
2121
bash_configure := CFLAGS="-g0 -Oz -std=gnu11" LDFLAGS="-s" ./configure \

modules/busybox

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
CONFIG_BUSYBOX ?= y
33
modules-$(CONFIG_BUSYBOX) += busybox
44

5-
# Inventory classification: OK - no -O2/-O3
65

7-
# TODO(-OFLAG): OFLAG status: OK — no `-O2`/`-O3` occurrences found in build logs (evidence: build/x86/log/busybox.log, build/ppc64/log/busybox.log). (audit updated 2026-01-27)
6+
# OFLAG: No packaging-time OFLAG normalization applied; validate with V=1 builds if needed.
7+
8+
9+
810

911
busybox_version := 1.36.1
1012
busybox_dir := busybox-$(busybox_version)

modules/cairo

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
modules-$(CONFIG_CAIRO) += cairo
22

3-
# Inventory classification: OK - no -O2/-O3
43

5-
# TODO(-OFLAG): OFLAG status: OK — no `-O2`/`-O3` occurrences found in current build logs (evidence: build/x86/log/cairo.log).
6-
# Action: none required; verified. (audit updated 2026-01-27)
4+
# OFLAG: Enforce CFLAGS='-Oz' at packaging time (set in configure wrapper)
5+
# GCC15-CAIRO: GCC 15.1 C23 standard requires workaround flags
6+
7+
# Note: Cairo 1.18.0+ switched to Meson build system (1.16.0 was last autotools version).
8+
# Upgrading would require additional build infrastructure changes beyond simple autotools configure/make pattern
9+
10+
711

812
cairo_version := 1.14.12
913
cairo_dir := cairo-$(cairo_version)
1014
cairo_tar := cairo-$(cairo_version).tar.xz
1115
cairo_url := https://www.cairographics.org/releases/$(cairo_tar)
1216
cairo_hash := 8c90f00c500b2299c0a323dd9beead2a00353752b2092ead558139bd67f7bf16
1317

14-
# TODO(GCC15-CAIRO): GCC 15.1 C23 standard requires workaround flags
15-
# Note: Cairo 1.18.0+ switched to Meson build system (1.16.0 was last autotools version).
16-
# Upgrading would require additional build infrastructure changes beyond simple autotools configure/make pattern
1718
cairo_configure := \
1819
CFLAGS="-DCAIRO_NO_MUTEX=1 -std=gnu11 -Wno-inline -Wno-incompatible-pointer-types -Oz" \
1920
$(CROSS_TOOLS) \

0 commit comments

Comments
 (0)