[llvm-bugs] [Bug 31213] New: [ELF] - FreeBSD lld linked loader hangs (sys/boot/efi/boot1).

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Nov 30 02:33:44 PST 2016


https://llvm.org/bugs/show_bug.cgi?id=31213

            Bug ID: 31213
           Summary: [ELF] - FreeBSD lld linked loader hangs
                    (sys/boot/efi/boot1).
           Product: lld
           Version: unspecified
          Hardware: PC
                OS: FreeBSD
            Status: NEW
          Severity: normal
          Priority: P
         Component: ELF
          Assignee: unassignedbugs at nondot.org
          Reporter: grimar at accesssoftek.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

sys/boot/efi/boot1 loader hangs in QEMU if linked with lld.

I was able to reduce its code to minimal case:

#include <sys/param.h>
#include <machine/elf.h>
#include <machine/stdarg.h>
#include <stand.h>
#include <efi.h>
#include <eficonsctl.h>
#include "boot_module.h"

EFI_STATUS efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE* Xsystab);

EFI_SYSTEM_TABLE *systab;
EFI_BOOT_SERVICES *bs;
static EFI_HANDLE *image;

EFI_STATUS
efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE *Xsystab)
{
  SIMPLE_TEXT_OUTPUT_INTERFACE *conout = NULL;
  systab = Xsystab;
  image = Ximage;
  bs = Xsystab->BootServices;

  //conout = Xsystab->ConOut; //1
  conout = systab->ConOut;    //2

  conout->Reset(conout, TRUE);
  return EFI_SUCCESS;
}

Now note that if line 1 is used, lld linked loader hangs. If line 2 is used, it
does not.
ld.bfd linked loader feels fine with any of these lines.

I am investigating the difference in output now.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20161130/123db20c/attachment-0001.html>


More information about the llvm-bugs mailing list