Build the arm64 loader with -ffixed-x18
This stops the compiler from using the x18 register. Some UEFI
implementations assume this will be preserved when calling the Boot
Services.
(cherry picked from commit a2e2311a40696e39eb24ff4a4d4c0968bba42c8c)