HomeFreeBSD

Pull in r352407 from upstream lld trunk (by Rui Ueyama):

Description

Pull in r352407 from upstream lld trunk (by Rui Ueyama):

Refactoring. NFC.

Pull in r352435 from upstream lld trunk (by Rui Ueyama):

Attempt to fix build failure with GCC 5.4.

Pull in r352482 from upstream lld trunk (by George Rimar):

[ELF] - Remove dead `readBfdName` declaration. NFC.

`readBfdName` was removed recently.

Pull in r352606 from upstream lld trunk (by me):

Recognize FreeBSD specific BFD names in OUTPUT_FORMAT

Summary:
After rLLD344952 ("Add OUTPUT_FORMAT linker script directive
support"), using BFD names such as `elf64-x86-64-freebsd` the
`OUTPUT_FORMAT` linker script command does not work anymore,
resulting in errors like:

```
ld: error: /home/dim/src/clang800-import/stand/efi/loader/arch/amd64/ldscript.amd64:2: unknown output format name: elf64-x86-64-freebsd
>>> OUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd")
>>>               ^
```

To fix this, recognize a `-freebsd` suffix in BFD names, and also set
`Configuration::OSABI` to `ELFOSABI_FREEBSD` for those cases.

Add and/or update several test cases to check for the correct results
of these new `OUTPUT_FORMAT` arguments.

Reviewers: ruiu, atanasyan, grimar, hokein, emaste, espindola

Reviewed By: ruiu

Subscribers: nemanjai, javed.absar, arichardson, krytarowski, kristof.beyls, kbarton, llvm-commits

Differential Revision: https://reviews.llvm.org/D57283

Details

Provenance
dimAuthored on
Parents
rS343569: cxgbe/iw_cxgbe: Fix an address calculation in the memory registration code that
Branches
Unknown
Tags
Unknown