support/scripts/fix-rpath: exclude /lib/firmware in the target
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Thu, 12 Apr 2018 11:50:09 +0000 (13:50 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Thu, 12 Apr 2018 19:15:49 +0000 (21:15 +0200)
commit184cb52f6d9368c333c79665080e7808c5713117
treeb3962b6cdc672651eded49eb4584aae928452291
parent4f9e3989f3c736d9792e942fcf0f22b2e8210d00
support/scripts/fix-rpath: exclude /lib/firmware in the target

The /lib/firmware directory contains random firmware for various
devices. It happens that some of them might be or appear to be ELF
files, but they shouldn't be checked by fix-rpath. For example, one of
the Qualcomm VPU firmware file appears to be an ELF file, but patchelf
isn't happy about it:

$ ./output/host/bin/patchelf --print-rpath output/target/lib/firmware/qcom/venus-4.2/venus.b00
patchelf: patchelf.cc:387: void ElfFile<Elf_Ehdr, Elf_Phdr, Elf_Shdr, Elf_Addr, Elf_Off, Elf_Dyn, Elf_Sym>::parse() [with Elf_Ehdr = Elf32_Ehdr; Elf_Phdr = Elf32_Phdr; Elf_Shdr = Elf32_Shdr; Elf_Addr = unsigned int; Elf_Off = unsigned int; Elf_Dyn = Elf32_Dyn; Elf_Sym = Elf32_Sym]: Assertion `shstrtabIndex < shdrs.size()' failed.
Aborted (core dumped)

Even though patchelf definitely shouldn't crash, it anyway doesn't
make sense to check ELF files in /lib/firmware, so let's exclude this
directory from our check.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
support/scripts/fix-rpath