On Tue, Oct 6, 2026 at 12:25 AM Pierrick Bouvier
<[email protected]> wrote:
> >>
> >> Ok, but I'm not sure it answers the why.
> >> Could you explain the benefits?
> >
> > Which part? keeping target_arch as SYS_EMU_TARGET__MAX for user-binary 
> > because
> > The following original code would return -1 for some user-binary
> > +    SysEmuTarget arch = target_info()->target_arch;
> > +
> > +    if (arch == SYS_EMU_TARGET__MAX) {
> > +        arch = qapi_enum_parse(&SysEmuTarget_lookup, target_name(), -1,
> > +                               &error_abort);
> > +    }
> > +    return arch;
> > So basically assigning any value for the user binary is valid.
> > SYS_EMU_TARGET__MAX is more explicit as it's related to type SysEmuTarget.
> > -1 is another option but easy to confuse.
> >
> >
> > For why commit e934c624f32f6f44f427d73a2e6a67e983a02ae6.
> > "target-info: Statically initialize target_arch"
> > doing that, I am not sure.
> >
>
> I guess there is a (good or bad) reason for which sub variants of
> targets are not reflected in SYS_EMU_TARGET enum. We should double check
> that before doing any change, as it might have other consequences.


You’re right to ask, and I need to correct my earlier suggestion:
leaving user-mode target_arch
 as SYS_EMU_TARGET__MAX is not safe. target_aarch64() is used by ARM
code shared with user-mode builds,
including cpu-max-v8.c, where its result indexes a two-entry array.
For aarch64-linux-user, the sentinel could therefore cause an
out-of-bounds access during type registration.

I checked the distinction: softmmu needs the full system-target
identity, including variants such as mipsel;
user-mode variants such as aarch64_be use their base TARGET_ARCH
(aarch64) for this enum. I’ll keep the full TARGET_SYS_EMU
 value for softmmu and use TARGET_ARCH for user-mode builds, rather
than leave the field at SYS_EMU_TARGET__MAX.

>
> >
> >>
> >>> "target-info: Statically initialize target_arch"
> >>>
> >>>>
> >>>> Regards,
> >>>> Pierrick
> >>>
> >>>
> >>>
> >>
> >
> > --
> >          此致
> > 礼
> > 罗勇刚
> > Yours
> >     sincerely,
> > Yonggang Luo
>


-- 
         此致
礼
罗勇刚
Yours
    sincerely,
Yonggang Luo

Reply via email to