| #
8cabe4bf
|
| 29-Aug-2026 |
Peter Kovacs <petko@apache.org> |
pre-commit: make the --all-files run green again
.github/workflows/pre-commit.yml runs `pre-commit run --all-files` on every pull request, so three hooks were failing every PR regardless of what it
pre-commit: make the --all-files run green again
.github/workflows/pre-commit.yml runs `pre-commit run --all-files` on every pull request, so three hooks were failing every PR regardless of what it touched:
trim trailing whitespace.............................Failed (83 files) makes sure files end in a newline and only a newline.Failed (31 files) run codespell........................................Failed (2 files)
Whitespace, 88 files across chart2, connectivity and officecfg. Most of the trailing blanks are the "# " lines inside the ASF licence header of a gbuild makefile; the end-of-file ones are a second blank line after the vim modeline. Produced by running the hooks, not by hand:
pre-commit run trailing-whitespace --all-files pre-commit run end-of-file-fixer --all-files
`git diff --ignore-all-space --ignore-blank-lines` over that part of this commit is empty, so no byte a compiler, dmake or gbuild reads has changed.
Codespell, two findings, treated differently because only one is a typo:
* connectivity/Library_dbtools.mk:168 "depenedencies" -> "dependencies", in a comment. * bridges/.../rtti_crossdylib_test/thrower.cxx "nodel" is the no-op deleter handed to __cxa_throw -- a deliberate abbreviation, not a misspelling. Added to .github/linters/codespell.txt, which is what that list is for; renaming a function to satisfy a spell checker is the wrong way round.
The three fixes are one commit rather than three because they are not separable: the typo is in Library_dbtools.mk, which is also one of the 88 whitespace files, and pre-commit checks the staged content -- so a commit carrying either fix alone fails its own hooks.
After this, `pre-commit run --all-files` passes every hook.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UWgzQY2r1XwFvgeLPFWPsi
show more ...
|
| #
0a9d806e
|
| 18-Jan-2025 |
Damjan Jovanovic <damjan@apache.org> |
We cannot use $(SRCDIR)/solenv/src/component.map as a version map file yet, because it doesn't export RTTI and exception typeinfos.
Generally speaking, .map files have 2 purposes: (A) to set symbol
We cannot use $(SRCDIR)/solenv/src/component.map as a version map file yet, because it doesn't export RTTI and exception typeinfos.
Generally speaking, .map files have 2 purposes: (A) to set symbol visibility (exported / hidden). (B) to assign symbol versions to symbols.
We already achieve (A) by means of compiler-level annotations, at least in gbuild (and in some dmake modules too), so we only need .map files for (B).
dmake also has an AWK script in main/solenv/bin/addsym.awk, which it uses to add: _ZTI*; _ZTS*; # weak RTTI symbols for C++ exceptions to the "global" section in .map files before linking with them.
However we don't need that. Since gbuild already hides unwanted symbols, and exports everything wanted, once dmake is gone, we could just use this much simpler .map file:
UDK_3_0_0 { global: *; };
which would assign symbol version, without changing visibility.
For now, just stop using $(SRCDIR)/solenv/src/component.map. It crashes during chart creation, because it cannot find exception typeinfos. This means all gbuild modules lack symbol versions which they used to have with dmake, but we can easily add that later.
Patch by: me
show more ...
|