On 7/25/18 1:04 AM, Robert Yang wrote: > Hi Maohui, > > Thanks for sending it, I do think that oe-core needs this patch. > > // Robert > > On 06/26/2018 06:27 AM, Lei Maohui wrote: >> The arm toolchain has a "-gnueabi" suffix, but aarch64 doesn't, >> this makes multilib sdk doesn't work, there will be error as following: >> >> .../usr/libexec/armeb-poky-linux-gux-linux-gnueabi/7.3.0/real-ld: >> cannot find crtbeginS.o: No such file or directo >> .../usr/libexec/armeb-poky-linux-gux-linux-gnueabi/7.3.0/real-ld: >> cannot find -lgcc >> .../usr/libexec/armeb-poky-linux-gux-linux-gnueabi/7.3.0/real-ld: >> cannot find -lgcc >> collect2: error: ld returned 1 exit status >>
Please test this patch with musl target preferably arm/aarch64 and also ppc/glibc by generating SDKs >> Signed-off-by: Robert Yang <liezhi.y...@windriver.com> >> Signed-off-by: Lei Maohui <leimao...@cn.fujitsu.com> >> --- >> meta/recipes-devtools/gcc/libgcc-common.inc | 23 >> +++++++++++++++++------ >> 1 file changed, 17 insertions(+), 6 deletions(-) >> >> diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc >> b/meta/recipes-devtools/gcc/libgcc-common.inc >> index 848a476..a49fc98 100644 >> --- a/meta/recipes-devtools/gcc/libgcc-common.inc >> +++ b/meta/recipes-devtools/gcc/libgcc-common.inc >> @@ -145,11 +145,22 @@ fakeroot python do_extra_symlinks() { >> if bb.data.inherits_class('nativesdk', d): >> return >> - targetsys = d.getVar('BASETARGET_SYS') >> + base_targetsys = d.getVar('BASETARGET_SYS') >> + targetsys = d.getVar('TARGET_SYS') >> + >> + if base_targetsys != targetsys: >> + dest = d.getVar('D') + d.getVar('libdir') + '/' + base_targetsys >> + dest_list = [dest] >> + # For multilib like aarch64 + arm, need 2 symlinks: >> + # 1) BASETARGET_SYS as usual >> + # 2) BASETARGET_SYS + "-gnueabi" for multilib >> + libce = d.getVar('LIBCEXTENSION') >> + abie = d.getVar('ABIEXTENSION') >> + if abie and libce and targetsys.endswith(libce + abie): >> + dest_list.append(dest + libce + abie) >> + src = targetsys >> + for dir in dest_list: >> + if not os.path.lexists(dir) and >> os.path.lexists(d.getVar('D', True) + d.getVar('libdir', True)): >> + os.symlink(src, dir) >> - if targetsys != d.getVar('TARGET_SYS'): >> - dest = d.getVar('D') + d.getVar('libdir') + '/' + targetsys >> - src = d.getVar('TARGET_SYS') >> - if not os.path.lexists(dest) and >> os.path.lexists(d.getVar('D') + d.getVar('libdir')): >> - os.symlink(src, dest) >> } >>
signature.asc
Description: OpenPGP digital signature
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core