Bugfix
   * Fix failures of PSA multipart or interruptible operations when the
     library or the application is built with a compiler where
     "union foo x = {0}" does not initialize non-default members of the
     union, such as GCC 15 and some versions of Clang 18. This affected MAC
     multipart operations, MAC-based key derivation operations, interruptible
     signature, interruptible verification, and potentially other operations
     when using third-party drivers. This also affected one-shot MAC
     operations using the built-in implementation. Fixes #9814.
   * On entry to PSA driver entry points that set up a multipart operation
     ("xxx_setup"), the operation object is supposed to be all-bits-zero.
     This was sometimes not the case when an operation object is reused,
     or with compilers where "union foo x = {0}" does not initialize
     non-default members of the union. The PSA core now ensures that this
     guarantee is met in all cases. Fixes #9975.
