summaryrefslogtreecommitdiffstats
path: root/meta/classes/linuxloader.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* linuxloader: Deal with little-endian ppc64 ldso nameKhem Raj2021-02-231-2/+2
| | | | | | | | | On ppc64le 'le' should be appended to ldso name (From OE-Core rev: dd221cdc8630a5adba1f87ff7a237021e9a95548) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linuxloader: Avoid confusing string concat errorsRichard Purdie2020-12-191-3/+3
| | | | | | | | | | None is a bad choice of return value for functions used in variables (strings) as a failure results in concatination errors. Use a string with a clear meaning that can be searched for instead. (From OE-Core rev: c04f04e714ede5d3904058ec82459139ed5e42fa) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Space-comma CleanupsJon Mason2020-09-301-1/+1
| | | | | | | | | | | | | Multiple files have " ," instead of ", " in expressions. This changes them to conform to the way the rest of them are done. Found and corrected via: git ls-files | xargs sed --follow-symlinks -i 's/ ,d/, d/g' (From OE-Core rev: 36c3afd2dd8bded02ea8f255e89a09ebd75c795b) Signed-off-by: Jon Mason <jon.mason@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linuxloader.bbclass: Define riscv32 ldso for muslKhem Raj2020-09-121-0/+2
| | | | | | | (From OE-Core rev: c178a5609b2f3cca52532a8b6d6a5927cad386db) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linuxloader: Add get_musl_loader_arch functionKhem Raj2020-03-211-12/+17
| | | | | | | | | | | | | | | get_musl_loader_arch returns the arch part of ldso for musl, this is used in get_musl_loader() as well as independently usable, which is needed for multilib support in musl. Musl stores all ldso in /lib be it multilib or not, therefore do not use base_libdir instead directly use /lib [YOCTO #11971] (From OE-Core rev: 0b694592c417c1d21913905f5032d300c9635866) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linuxloader: Correct loader for glibc on armhfAlex Kiernan2019-12-301-1/+1
| | | | | | | | | | | | Fix the naming of the loader on armhf to match what glibc expects: #define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3" #define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3" (From OE-Core rev: 7ad531093d620f18c04d487d79e9dad9f5a96232) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linuxloader: Add entries for riscv64Khem Raj2019-08-141-0/+4
| | | | | | | (From OE-Core rev: 1cd6ffcabea2036fde6493f75687e546c6fe003c) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linuxloader.bbclass: Refactor to have seprate functions for musl/glibc loaderKhem Raj2018-09-211-36/+49
| | | | | | | | | | | | | this makes it possible to use this for musl where we are trying to create a glibc compat package Add missing aarch64 loader definition for glibc function (From OE-Core rev: 0a02ea79ec522582b46138a027eb166819e5647d) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linuxloader: Convert to python functionRichard Purdie2018-08-231-67/+45
| | | | | | | | | | | We could do with one decent general purpose python function to query the path to the dynamic loader. Convert the shell code into python. Also correct baremetal to return "None", not musl loaders. (From OE-Core rev: 73fab4ede12d8ae31be72b5cb4ab29d7ef7dae17) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linuxloader.bbclass: add musl libc supportMing Liu2017-07-081-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Current linuxloader.bbclass does not support musl libc ldso, so add it in. After changing, now the linuxloader function will call a subfunction according to which virtual/libc is being used, glibc or musl, the linuxloader_musl function is made on top of the LDSO macro defined in musl source, by mapping related OE variables to it. Change tested on following machines: "genericx86" "genericx86-64" "beaglebone" "qemumips64" "qemuarm64" "mpc8315e-rdb" "edgerouter" "qemumips" "kc705-microblazeel" - meta-xilinx "qemuppc" (From OE-Core rev: 5d4acaed81a811912e60d85c507bee819623369e) Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linuxloader.bbclass: Adjust mips to cover all mips/mips64Mark Hatle2016-10-071-1/+4
| | | | | | | | | | | | | | | | [YOCTO #10389] Use a glob (*) to match all mips (not previously matched). This will ensure that the linuxloader is properly returned for mips, mipsel, mips64, mips64el and their n32 variants. See: https://sourceware.org/glibc/wiki/ABIList#mips for the official list of loaders. (From OE-Core rev: b90d68fda3d14b4d19b7ffcb5b80ed28563a616d) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linuxloader.bbclass: Add mipsisa{32, 64}r6{el, } supportZubair Lutfullah Kakakhel2016-10-071-0/+3
| | | | | | | | | | | | | Add support for MIPS Release 6 ISA. The loader is located at a new place for multiarch. For more details, check https://wiki.debian.org/Multiarch and https://sourceware.org/glibc/wiki/ABIList#mips (From OE-Core rev: 27537d146f3f143b06819102c348c8914287ec8e) Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linuxloader/image-prelink/image-mklibs: Fix non-standard path prelinkingRichard Purdie2016-03-071-0/+24
Prelinking on x86-64 wasn't working out the box as it uses /lib and not /lib64 for libs. Prelink was refusing to link as the dynamic loader didn't match its idea of the right path. Passing in the --dyanmic-linker option avoids this. We can share code from image-mklibs so abstract that into a new class, linuxloader.bbclass. This does break prelinking of multilib images, I've opened a bug so we can loop back and fix that problem, the code would need to iterate the dynamic loaders (and setup ld.so.conf files for it). (From OE-Core rev: 7c3f2f61536cc8e0322087558cdcfe29ee2fac6d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>