boot/efi: use .pushsection/.popsection to fake relocations
boot/efi: use .pushsection/.popsection to fake relocations

i386 linking fails if the final section is .reloc, as some data get
added to it.

The error on Ubuntu 18.04:

    ld: BFD (GNU Binutils for Ubuntu) 2.30 internal error, aborting at
    ../../bfd/elf32-i386.c:2537 in elf_i386_relocate_section
    ld: Please report this bug.

The error on Fedora 26:

    ld: BFD version 2.27-28.fc26 assertion fail elf32-i386.c:5545

fishilico/shared,fishilico/shared,fishilico/shared,fishilico/shared,fishilico/shared,fishilico/shared,fishilico/shared