[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging-4.21] symbols: also special-case symbols aliasing _sinittext



commit a298f323e26c6136ef754764c6c12a1f4828b596
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Thu Oct 29 13:22:00 2026 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Oct 29 13:22:00 2026 +0100

    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>
    master commit: 8b383ed0a340d0152715701284323abad70ea2fb
    master date: 2026-09-23 10:01:14 +0200
---
 xen/tools/symbols.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/tools/symbols.c b/xen/tools/symbols.c
index bc50b1a576..9a4de36679 100644
--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -223,6 +223,11 @@ static int symbol_valid(struct sym_entry *s)
                    (s->addr == _einittext && strcmp((char*)s->sym + offset, 
"_einittext")) ||
                    (s->addr == _eextratext && strcmp((char*)s->sym + offset, 
"_eextratext")))
                        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-4.21



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.