Various EFI fixes:

  - Fix the layering violation in the use of the EFI runtime services
    availability mask in users of the 'efivars' abstraction

  - Revert build fix for GCC v4.8 which is no longer supported

  - Clean up some x86 EFI stub details, some of which are borderline bugs
    that copy around garbage into padding fields - let's fix these
    out of caution.

  - Fix build issues while working on RISC-V support

  - Avoid --whole-archive when linking the stub on arm64

Signed-off-by: Ingo Molnar <mingo@kernel.org>