* [PATCH 0/1] gcc-multilib-config: make aarch64 support multilib @ 2015-11-05 8:20 Robert Yang 2015-11-05 8:20 ` [PATCH 1/1] " Robert Yang 0 siblings, 1 reply; 6+ messages in thread From: Robert Yang @ 2015-11-05 8:20 UTC (permalink / raw) To: openembedded-core The following changes since commit e44ed8c18e395b9c055aefee113b90708e8a8a2f: build-appliance-image: Update to jethro head revision (2015-11-03 14:02:57 +0000) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib rbt/lib32-gcc http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/lib32-gcc Robert Yang (1): gcc-multilib-config: make aarch64 support multilib meta/recipes-devtools/gcc/gcc-multilib-config.inc | 7 +++++++ 1 file changed, 7 insertions(+) -- 1.7.9.5 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/1] gcc-multilib-config: make aarch64 support multilib 2015-11-05 8:20 [PATCH 0/1] gcc-multilib-config: make aarch64 support multilib Robert Yang @ 2015-11-05 8:20 ` Robert Yang 2015-11-05 13:43 ` Mark Hatle 0 siblings, 1 reply; 6+ messages in thread From: Robert Yang @ 2015-11-05 8:20 UTC (permalink / raw) To: openembedded-core Fixed: MACHINE = qemuarm64 require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "armv7at-neon" $ bitbake core-image-minimal -cpopulate_sdk WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64 WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64 [YOCTO #8638] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> --- meta/recipes-devtools/gcc/gcc-multilib-config.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/meta/recipes-devtools/gcc/gcc-multilib-config.inc b/meta/recipes-devtools/gcc/gcc-multilib-config.inc index 1c0a45a..a0a2ac0 100644 --- a/meta/recipes-devtools/gcc/gcc-multilib-config.inc +++ b/meta/recipes-devtools/gcc/gcc-multilib-config.inc @@ -29,6 +29,9 @@ python gcc_multilib_setup() { bb.utils.remove(build_conf_dir, True) ml_globs = ('%s/*/t-linux64' % src_conf_dir, '%s/*/linux64.h' % src_conf_dir, + '%s/aarch64/t-aarch64' % src_conf_dir, + '%s/aarch64/aarch64.h' % src_conf_dir, + '%s/aarch64/aarch64-cores.def' % src_conf_dir, '%s/*/linux.h' % src_conf_dir, '%s/linux.h' % src_conf_dir) @@ -130,6 +133,8 @@ python gcc_multilib_setup() { 'mips64' : ['gcc/config/mips/t-linux64'], 'powerpc' : ['gcc/config/rs6000/t-linux64'], 'powerpc64' : ['gcc/config/rs6000/t-linux64'], + 'aarch64' : ['gcc/config/aarch64/t-aarch64'], + 'arm' : ['gcc/config/aarch64/t-aarch64'], } gcc_header_config_files = { @@ -140,6 +145,8 @@ python gcc_multilib_setup() { 'mips64' : ['gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'], 'powerpc' : ['gcc/config/rs6000/linux64.h'], 'powerpc64' : ['gcc/config/rs6000/linux64.h'], + 'aarch64' : ['gcc/config/aarch64/aarch64.h'], + 'arm' : ['gcc/config/aarch64/aarch64.h'], } libdir32 = 'SYSTEMLIBS_DIR' -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] gcc-multilib-config: make aarch64 support multilib 2015-11-05 8:20 ` [PATCH 1/1] " Robert Yang @ 2015-11-05 13:43 ` Mark Hatle 2015-11-06 3:01 ` Robert Yang 2015-11-06 5:35 ` Khem Raj 0 siblings, 2 replies; 6+ messages in thread From: Mark Hatle @ 2015-11-05 13:43 UTC (permalink / raw) To: Robert Yang, openembedded-core; +Cc: Richard Purdie On 11/5/15 2:20 AM, Robert Yang wrote: > Fixed: > MACHINE = qemuarm64 > require conf/multilib.conf > MULTILIBS = "multilib:lib32" > DEFAULTTUNE_virtclass-multilib-lib32 = "armv7at-neon" > > $ bitbake core-image-minimal -cpopulate_sdk > > WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64 > WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64 > > [YOCTO #8638] > > Signed-off-by: Robert Yang <liezhi.yang@windriver.com> > --- > meta/recipes-devtools/gcc/gcc-multilib-config.inc | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/meta/recipes-devtools/gcc/gcc-multilib-config.inc b/meta/recipes-devtools/gcc/gcc-multilib-config.inc > index 1c0a45a..a0a2ac0 100644 > --- a/meta/recipes-devtools/gcc/gcc-multilib-config.inc > +++ b/meta/recipes-devtools/gcc/gcc-multilib-config.inc > @@ -29,6 +29,9 @@ python gcc_multilib_setup() { > bb.utils.remove(build_conf_dir, True) > ml_globs = ('%s/*/t-linux64' % src_conf_dir, > '%s/*/linux64.h' % src_conf_dir, > + '%s/aarch64/t-aarch64' % src_conf_dir, > + '%s/aarch64/aarch64.h' % src_conf_dir, > + '%s/aarch64/aarch64-cores.def' % src_conf_dir, > '%s/*/linux.h' % src_conf_dir, > '%s/linux.h' % src_conf_dir) > > @@ -130,6 +133,8 @@ python gcc_multilib_setup() { > 'mips64' : ['gcc/config/mips/t-linux64'], > 'powerpc' : ['gcc/config/rs6000/t-linux64'], > 'powerpc64' : ['gcc/config/rs6000/t-linux64'], > + 'aarch64' : ['gcc/config/aarch64/t-aarch64'], > + 'arm' : ['gcc/config/aarch64/t-aarch64'], > } > > gcc_header_config_files = { > @@ -140,6 +145,8 @@ python gcc_multilib_setup() { > 'mips64' : ['gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'], > 'powerpc' : ['gcc/config/rs6000/linux64.h'], > 'powerpc64' : ['gcc/config/rs6000/linux64.h'], > + 'aarch64' : ['gcc/config/aarch64/aarch64.h'], > + 'arm' : ['gcc/config/aarch64/aarch64.h'], > } I'm not sure the above is correct in this case. As I believe GCC treats aarch64 and arm as different architectures unlike MIPS, Power and IA32. In this case, I would expect two specific cross compilers to be generated, one for armv7 and one for aarch64, instead of a combination single compiler that understand both. So in this case, it might be better to have an exception to the warning message... (unless I'm wrong, in which case this IS likely a correct fix....) Hopefully Khem and/or Richard will be able to comment as they are more familiar with this code path. > > libdir32 = 'SYSTEMLIBS_DIR' > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] gcc-multilib-config: make aarch64 support multilib 2015-11-05 13:43 ` Mark Hatle @ 2015-11-06 3:01 ` Robert Yang 2015-11-06 5:35 ` Khem Raj 1 sibling, 0 replies; 6+ messages in thread From: Robert Yang @ 2015-11-06 3:01 UTC (permalink / raw) To: Mark Hatle, openembedded-core; +Cc: Richard Purdie On 11/05/2015 09:43 PM, Mark Hatle wrote: > On 11/5/15 2:20 AM, Robert Yang wrote: >> Fixed: >> MACHINE = qemuarm64 >> require conf/multilib.conf >> MULTILIBS = "multilib:lib32" >> DEFAULTTUNE_virtclass-multilib-lib32 = "armv7at-neon" >> >> $ bitbake core-image-minimal -cpopulate_sdk >> >> WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64 >> WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64 >> >> [YOCTO #8638] >> >> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> >> --- >> meta/recipes-devtools/gcc/gcc-multilib-config.inc | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/meta/recipes-devtools/gcc/gcc-multilib-config.inc b/meta/recipes-devtools/gcc/gcc-multilib-config.inc >> index 1c0a45a..a0a2ac0 100644 >> --- a/meta/recipes-devtools/gcc/gcc-multilib-config.inc >> +++ b/meta/recipes-devtools/gcc/gcc-multilib-config.inc >> @@ -29,6 +29,9 @@ python gcc_multilib_setup() { >> bb.utils.remove(build_conf_dir, True) >> ml_globs = ('%s/*/t-linux64' % src_conf_dir, >> '%s/*/linux64.h' % src_conf_dir, >> + '%s/aarch64/t-aarch64' % src_conf_dir, >> + '%s/aarch64/aarch64.h' % src_conf_dir, >> + '%s/aarch64/aarch64-cores.def' % src_conf_dir, >> '%s/*/linux.h' % src_conf_dir, >> '%s/linux.h' % src_conf_dir) >> >> @@ -130,6 +133,8 @@ python gcc_multilib_setup() { >> 'mips64' : ['gcc/config/mips/t-linux64'], >> 'powerpc' : ['gcc/config/rs6000/t-linux64'], >> 'powerpc64' : ['gcc/config/rs6000/t-linux64'], >> + 'aarch64' : ['gcc/config/aarch64/t-aarch64'], >> + 'arm' : ['gcc/config/aarch64/t-aarch64'], >> } >> >> gcc_header_config_files = { >> @@ -140,6 +145,8 @@ python gcc_multilib_setup() { >> 'mips64' : ['gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'], >> 'powerpc' : ['gcc/config/rs6000/linux64.h'], >> 'powerpc64' : ['gcc/config/rs6000/linux64.h'], >> + 'aarch64' : ['gcc/config/aarch64/aarch64.h'], >> + 'arm' : ['gcc/config/aarch64/aarch64.h'], >> } > > I'm not sure the above is correct in this case. As I believe GCC treats aarch64 > and arm as different architectures unlike MIPS, Power and IA32. > > In this case, I would expect two specific cross compilers to be generated, one > for armv7 and one for aarch64, instead of a combination single compiler that > understand both. Hi Mark, I think that there are two compilers ? For example, gcc and lib32-gcc. Yes, Hopefully we can get feed back from Khem or RP. // Robert > > So in this case, it might be better to have an exception to the warning > message... (unless I'm wrong, in which case this IS likely a correct fix....) > > Hopefully Khem and/or Richard will be able to comment as they are more familiar > with this code path. > >> >> libdir32 = 'SYSTEMLIBS_DIR' >> > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] gcc-multilib-config: make aarch64 support multilib 2015-11-05 13:43 ` Mark Hatle 2015-11-06 3:01 ` Robert Yang @ 2015-11-06 5:35 ` Khem Raj 2015-11-06 14:41 ` Mark Hatle 1 sibling, 1 reply; 6+ messages in thread From: Khem Raj @ 2015-11-06 5:35 UTC (permalink / raw) To: Mark Hatle; +Cc: Richard Purdie, openembedded-core [-- Attachment #1: Type: text/plain, Size: 3208 bytes --] > On Nov 5, 2015, at 5:43 AM, Mark Hatle <mark.hatle@windriver.com> wrote: > > On 11/5/15 2:20 AM, Robert Yang wrote: >> Fixed: >> MACHINE = qemuarm64 >> require conf/multilib.conf >> MULTILIBS = "multilib:lib32" >> DEFAULTTUNE_virtclass-multilib-lib32 = "armv7at-neon" >> >> $ bitbake core-image-minimal -cpopulate_sdk >> >> WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64 >> WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64 >> >> [YOCTO #8638] >> >> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> >> --- >> meta/recipes-devtools/gcc/gcc-multilib-config.inc | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/meta/recipes-devtools/gcc/gcc-multilib-config.inc b/meta/recipes-devtools/gcc/gcc-multilib-config.inc >> index 1c0a45a..a0a2ac0 100644 >> --- a/meta/recipes-devtools/gcc/gcc-multilib-config.inc >> +++ b/meta/recipes-devtools/gcc/gcc-multilib-config.inc >> @@ -29,6 +29,9 @@ python gcc_multilib_setup() { >> bb.utils.remove(build_conf_dir, True) >> ml_globs = ('%s/*/t-linux64' % src_conf_dir, >> '%s/*/linux64.h' % src_conf_dir, >> + '%s/aarch64/t-aarch64' % src_conf_dir, >> + '%s/aarch64/aarch64.h' % src_conf_dir, >> + '%s/aarch64/aarch64-cores.def' % src_conf_dir, >> '%s/*/linux.h' % src_conf_dir, >> '%s/linux.h' % src_conf_dir) >> >> @@ -130,6 +133,8 @@ python gcc_multilib_setup() { >> 'mips64' : ['gcc/config/mips/t-linux64'], >> 'powerpc' : ['gcc/config/rs6000/t-linux64'], >> 'powerpc64' : ['gcc/config/rs6000/t-linux64'], >> + 'aarch64' : ['gcc/config/aarch64/t-aarch64'], >> + 'arm' : ['gcc/config/aarch64/t-aarch64'], >> } >> >> gcc_header_config_files = { >> @@ -140,6 +145,8 @@ python gcc_multilib_setup() { >> 'mips64' : ['gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'], >> 'powerpc' : ['gcc/config/rs6000/linux64.h'], >> 'powerpc64' : ['gcc/config/rs6000/linux64.h'], >> + 'aarch64' : ['gcc/config/aarch64/aarch64.h'], >> + 'arm' : ['gcc/config/aarch64/aarch64.h'], >> } > > I'm not sure the above is correct in this case. As I believe GCC treats aarch64 > and arm as different architectures unlike MIPS, Power and IA32. > > In this case, I would expect two specific cross compilers to be generated, one > for armv7 and one for aarch64, instead of a combination single compiler that > understand both. > Well not entirely so, gcc can support ilp32 as a mutlilib variant for aarch64 so this patch is fine although if we should support ilp32 as a variant is another question, which folks can chime in and provide feedback if they have use of it. but nevertheless this patch should be ok > So in this case, it might be better to have an exception to the warning > message... (unless I'm wrong, in which case this IS likely a correct fix....) > > Hopefully Khem and/or Richard will be able to comment as they are more familiar > with this code path. > >> >> libdir32 = 'SYSTEMLIBS_DIR' >> > [-- Attachment #2: Message signed with OpenPGP using GPGMail --] [-- Type: application/pgp-signature, Size: 211 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] gcc-multilib-config: make aarch64 support multilib 2015-11-06 5:35 ` Khem Raj @ 2015-11-06 14:41 ` Mark Hatle 0 siblings, 0 replies; 6+ messages in thread From: Mark Hatle @ 2015-11-06 14:41 UTC (permalink / raw) To: Khem Raj; +Cc: Richard Purdie, openembedded-core On 11/5/15 11:35 PM, Khem Raj wrote: > >> On Nov 5, 2015, at 5:43 AM, Mark Hatle <mark.hatle@windriver.com> wrote: >> >> On 11/5/15 2:20 AM, Robert Yang wrote: >>> Fixed: >>> MACHINE = qemuarm64 >>> require conf/multilib.conf >>> MULTILIBS = "multilib:lib32" >>> DEFAULTTUNE_virtclass-multilib-lib32 = "armv7at-neon" >>> >>> $ bitbake core-image-minimal -cpopulate_sdk >>> >>> WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64 >>> WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64 >>> >>> [YOCTO #8638] >>> >>> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> >>> --- >>> meta/recipes-devtools/gcc/gcc-multilib-config.inc | 7 +++++++ >>> 1 file changed, 7 insertions(+) >>> >>> diff --git a/meta/recipes-devtools/gcc/gcc-multilib-config.inc b/meta/recipes-devtools/gcc/gcc-multilib-config.inc >>> index 1c0a45a..a0a2ac0 100644 >>> --- a/meta/recipes-devtools/gcc/gcc-multilib-config.inc >>> +++ b/meta/recipes-devtools/gcc/gcc-multilib-config.inc >>> @@ -29,6 +29,9 @@ python gcc_multilib_setup() { >>> bb.utils.remove(build_conf_dir, True) >>> ml_globs = ('%s/*/t-linux64' % src_conf_dir, >>> '%s/*/linux64.h' % src_conf_dir, >>> + '%s/aarch64/t-aarch64' % src_conf_dir, >>> + '%s/aarch64/aarch64.h' % src_conf_dir, >>> + '%s/aarch64/aarch64-cores.def' % src_conf_dir, >>> '%s/*/linux.h' % src_conf_dir, >>> '%s/linux.h' % src_conf_dir) >>> >>> @@ -130,6 +133,8 @@ python gcc_multilib_setup() { >>> 'mips64' : ['gcc/config/mips/t-linux64'], >>> 'powerpc' : ['gcc/config/rs6000/t-linux64'], >>> 'powerpc64' : ['gcc/config/rs6000/t-linux64'], >>> + 'aarch64' : ['gcc/config/aarch64/t-aarch64'], >>> + 'arm' : ['gcc/config/aarch64/t-aarch64'], >>> } >>> >>> gcc_header_config_files = { >>> @@ -140,6 +145,8 @@ python gcc_multilib_setup() { >>> 'mips64' : ['gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'], >>> 'powerpc' : ['gcc/config/rs6000/linux64.h'], >>> 'powerpc64' : ['gcc/config/rs6000/linux64.h'], >>> + 'aarch64' : ['gcc/config/aarch64/aarch64.h'], >>> + 'arm' : ['gcc/config/aarch64/aarch64.h'], >>> } >> >> I'm not sure the above is correct in this case. As I believe GCC treats aarch64 >> and arm as different architectures unlike MIPS, Power and IA32. >> >> In this case, I would expect two specific cross compilers to be generated, one >> for armv7 and one for aarch64, instead of a combination single compiler that >> understand both. >> > > Well not entirely so, gcc can support ilp32 as a mutlilib variant for aarch64 > so this patch is fine although if we should support ilp32 as a variant is another > question, which folks can chime in and provide feedback if they have use of it. > but nevertheless this patch should be ok I've seen no real world need for ilp32 at this point.. but I have seen many requests to run armv7 code on an aarch64 system. (Compatibility multilib.) --Mark >> So in this case, it might be better to have an exception to the warning >> message... (unless I'm wrong, in which case this IS likely a correct fix....) >> >> Hopefully Khem and/or Richard will be able to comment as they are more familiar >> with this code path. >> >>> >>> libdir32 = 'SYSTEMLIBS_DIR' >>> >> > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-11-06 14:41 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-11-05 8:20 [PATCH 0/1] gcc-multilib-config: make aarch64 support multilib Robert Yang 2015-11-05 8:20 ` [PATCH 1/1] " Robert Yang 2015-11-05 13:43 ` Mark Hatle 2015-11-06 3:01 ` Robert Yang 2015-11-06 5:35 ` Khem Raj 2015-11-06 14:41 ` Mark Hatle
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox