|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] symbols: also special-case symbols aliasing _sinittext
commit 8b383ed0a340d0152715701284323abad70ea2fb
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Wed Sep 23 09:01:25 2026 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Sep 23 10:01:14 2026 +0200
symbols: also special-case symbols aliasing _sinittext
A recent 4.22 randconfig build job hit a situation where (LIVEPATCH=n,
i.e. --all-symbols not specified) both __note_gnu_build_id_end and
_erodata aliased _sinittext on the 1st linking pass, but they didn't on
the 2nd one. As a result two fewer symbols were emitted on the 2nd pass,
causing $(call compare-symbol-tables, ...) to fail.
Extend the existing "corner case" by also considering aliases with
_sinittext (_stext really shouldn't have anything ahead of it), but
discard only non-text symbols.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Acked-by: Roger Pau Monné <roger@xxxxxxxxxxxxxx>
---
xen/tools/symbols.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/xen/tools/symbols.c b/xen/tools/symbols.c
index 3f2fb15836..9db1c0a20c 100644
--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -217,6 +217,11 @@ static int symbol_valid(struct sym_entry *s)
if ((s->addr == _etext && strcmp((char*)s->sym + offset,
"_etext")) ||
(s->addr == _einittext && strcmp((char*)s->sym + offset,
"_einittext")))
return 0;
+ /* Same for non-text aliases of _sinittext. */
+ if (toupper(*s->sym) != 'T'
+ && s->addr == _sinittext
+ && strcmp((const char *)s->sym + offset, "_sinittext"))
+ return 0;
}
/* Exclude symbols which vary between passes. */
--
generated by git-patchbot for /home/xen/git/xen.git#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |