On 02.11.2023 11:21, Federico Serafini wrote:
> Remove the generic implementation of memcpy(), memmove() and
> memset() from the x86 build since a version written in asm is present.
> This addesses violations of MISRA C:2012 Rule 8.6 ("An identifier with
> external linkage shall have exactly one external definition").

Yet part of the purpose of the code in lib/ is specifically to be available
as a (uniform) fallback. Nothing from the resulting lib.a is going to be
linked into the final Xen binaries, so I consider Eclair wrong (in some way
at least) to view such symbols as having multiple definitions.

Furthermore, if we really wanted to do conditional building like this, then
what to exclude would want to be determined dynamically, such that it won't
be necessary to keep two (or more) pieces of code in sync.

Jan

Reply via email to