Message ID | CACgzC7D1TT1r3DqAdb707ekDUib=Gj25vXAF6Xp2yo5qzT4t7A@mail.gmail.com |
---|---|
State | Accepted |
Headers | show |
Zhenqiang, All, On 2013-12-17 10:12 +0800, Zhenqiang Chen spake thusly: > # HG changeset patch > # User Zhenqiang Chen <zhenqiang.chen@linaro.org> > # Date 1387172069 -28800 > # Node ID 2cdf83834419f2918e36f7eae5915aa32c3254b6 > # Parent 032ebcc89c96f29873070f2d9af6a0260cf2e40e > arch/aarch64: Add aarch64 support I think it'd be better if that was added as the 64-bit variant for the ARM architecture. But that would first need that: - we define CT_LINUX_ARCH globally, default to CT_ARCH - we add the 64-bit variant to both arn.in and arm.sh I'll handle this. I guess this requires very recent versions of gcc/binutils/glibc, right? Thanks for the submission! :-) Regards, Yann E. MORIN. > Signed-off-by: Michael Hope <michael.hope@linaro.org> > Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org> > > diff -r 032ebcc89c96 -r 2cdf83834419 config/arch/aarch64.in > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/config/arch/aarch64.in Mon Dec 16 13:34:29 2013 +0800 > @@ -0,0 +1,13 @@ > +# ARM AArch64 specific configuration file > + > +## select ARCH_SUPPORTS_64 > +## select ARCH_DEFAULT_64 > +## select ARCH_DEFAULT_HAS_MMU > +## select ARCH_SUPPORTS_BOTH_ENDIAN > +## select ARCH_DEFAULT_LE > +## select ARCH_SUPPORTS_WITH_ARCH > +## select ARCH_SUPPORTS_WITH_CPU > +## select ARCH_SUPPORTS_WITH_TUNE > +## > +## help The ARM AArch64 architecture, as defined by: > +## help http://www.arm.com/ > diff -r 032ebcc89c96 -r 2cdf83834419 scripts/build/arch/aarch64.sh > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/scripts/build/arch/aarch64.sh Mon Dec 16 13:34:29 2013 +0800 > @@ -0,0 +1,11 @@ > +# Compute ARM-specific values > + > +CT_DoArchTupleValues() { > + # The architecture part of the tuple: > + [ "${CT_ARCH_BE}" = "y" ] && target_endian_eb="_be" > + CT_TARGET_ARCH="${CT_ARCH}${target_endian_eb}" > + CT_ARCH_WITH_FLOAT= > + CT_ARCH_FLOAT_CFLAG= > + # On Linux the architecture is arm64 > + CT_LINUX_ARCH=arm64 > +} > diff -r 032ebcc89c96 -r 2cdf83834419 scripts/build/kernel/linux.sh > --- a/scripts/build/kernel/linux.sh Fri Nov 22 00:34:49 2013 +0100 > +++ b/scripts/build/kernel/linux.sh Mon Dec 16 13:34:29 2013 +0800 > @@ -97,6 +97,7 @@ > # Install kernel headers using headers_install from kernel sources. > do_kernel_install() { > local kernel_path > + local arch=${CT_LINUX_ARCH:-${CT_ARCH}} > > CT_DoLog DEBUG "Using kernel's headers_install" > > @@ -112,7 +113,7 @@ > CT_DoExecLog ALL \ > make -C "${kernel_path}" \ > O="${CT_BUILD_DIR}/build-kernel-headers" \ > - ARCH=${CT_ARCH} \ > + ARCH=${arch} \ > INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \ > ${V_OPT} \ > headers_install > @@ -122,7 +123,7 @@ > CT_DoExecLog ALL \ > make -C "${kernel_path}" \ > O="${CT_BUILD_DIR}/build-kernel-headers" \ > - ARCH=${CT_ARCH} \ > + ARCH=${arch} \ > INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \ > ${V_OPT} \ > headers_check
On 31 December 2013 06:08, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > Zhenqiang, All, > > On 2013-12-17 10:12 +0800, Zhenqiang Chen spake thusly: >> # HG changeset patch >> # User Zhenqiang Chen <zhenqiang.chen@linaro.org> >> # Date 1387172069 -28800 >> # Node ID 2cdf83834419f2918e36f7eae5915aa32c3254b6 >> # Parent 032ebcc89c96f29873070f2d9af6a0260cf2e40e >> arch/aarch64: Add aarch64 support > > I think it'd be better if that was added as the 64-bit variant for the > ARM architecture. > > But that would first need that: > - we define CT_LINUX_ARCH globally, default to CT_ARCH > - we add the 64-bit variant to both arn.in and arm.sh > > I'll handle this. Thank you! > I guess this requires very recent versions of gcc/binutils/glibc, right? Yip. gcc: 4.8 or later binutils: 2.23 or later eglibc: 2.17 or later linux: 3.7 or later Newlib: 2.0.0 or later Thanks! -Zhenqiang > Thanks for the submission! :-) > > Regards, > Yann E. MORIN. > >> Signed-off-by: Michael Hope <michael.hope@linaro.org> >> Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org> >> >> diff -r 032ebcc89c96 -r 2cdf83834419 config/arch/aarch64.in >> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >> +++ b/config/arch/aarch64.in Mon Dec 16 13:34:29 2013 +0800 >> @@ -0,0 +1,13 @@ >> +# ARM AArch64 specific configuration file >> + >> +## select ARCH_SUPPORTS_64 >> +## select ARCH_DEFAULT_64 >> +## select ARCH_DEFAULT_HAS_MMU >> +## select ARCH_SUPPORTS_BOTH_ENDIAN >> +## select ARCH_DEFAULT_LE >> +## select ARCH_SUPPORTS_WITH_ARCH >> +## select ARCH_SUPPORTS_WITH_CPU >> +## select ARCH_SUPPORTS_WITH_TUNE >> +## >> +## help The ARM AArch64 architecture, as defined by: >> +## help http://www.arm.com/ >> diff -r 032ebcc89c96 -r 2cdf83834419 scripts/build/arch/aarch64.sh >> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >> +++ b/scripts/build/arch/aarch64.sh Mon Dec 16 13:34:29 2013 +0800 >> @@ -0,0 +1,11 @@ >> +# Compute ARM-specific values >> + >> +CT_DoArchTupleValues() { >> + # The architecture part of the tuple: >> + [ "${CT_ARCH_BE}" = "y" ] && target_endian_eb="_be" >> + CT_TARGET_ARCH="${CT_ARCH}${target_endian_eb}" >> + CT_ARCH_WITH_FLOAT= >> + CT_ARCH_FLOAT_CFLAG= >> + # On Linux the architecture is arm64 >> + CT_LINUX_ARCH=arm64 >> +} >> diff -r 032ebcc89c96 -r 2cdf83834419 scripts/build/kernel/linux.sh >> --- a/scripts/build/kernel/linux.sh Fri Nov 22 00:34:49 2013 +0100 >> +++ b/scripts/build/kernel/linux.sh Mon Dec 16 13:34:29 2013 +0800 >> @@ -97,6 +97,7 @@ >> # Install kernel headers using headers_install from kernel sources. >> do_kernel_install() { >> local kernel_path >> + local arch=${CT_LINUX_ARCH:-${CT_ARCH}} >> >> CT_DoLog DEBUG "Using kernel's headers_install" >> >> @@ -112,7 +113,7 @@ >> CT_DoExecLog ALL \ >> make -C "${kernel_path}" \ >> O="${CT_BUILD_DIR}/build-kernel-headers" \ >> - ARCH=${CT_ARCH} \ >> + ARCH=${arch} \ >> INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \ >> ${V_OPT} \ >> headers_install >> @@ -122,7 +123,7 @@ >> CT_DoExecLog ALL \ >> make -C "${kernel_path}" \ >> O="${CT_BUILD_DIR}/build-kernel-headers" \ >> - ARCH=${CT_ARCH} \ >> + ARCH=${arch} \ >> INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \ >> ${V_OPT} \ >> headers_check > > -- > .-----------------.--------------------.------------------.--------------------. > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | > | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | > '------------------------------^-------^------------------^--------------------' -- For unsubscribe information see http://sourceware.org/lists.html#faq
diff -r 032ebcc89c96 -r 2cdf83834419 config/arch/aarch64.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/config/arch/aarch64.in Mon Dec 16 13:34:29 2013 +0800 @@ -0,0 +1,13 @@ +# ARM AArch64 specific configuration file + +## select ARCH_SUPPORTS_64 +## select ARCH_DEFAULT_64 +## select ARCH_DEFAULT_HAS_MMU +## select ARCH_SUPPORTS_BOTH_ENDIAN +## select ARCH_DEFAULT_LE +## select ARCH_SUPPORTS_WITH_ARCH +## select ARCH_SUPPORTS_WITH_CPU +## select ARCH_SUPPORTS_WITH_TUNE +## +## help The ARM AArch64 architecture, as defined by: +## help http://www.arm.com/ diff -r 032ebcc89c96 -r 2cdf83834419 scripts/build/arch/aarch64.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/build/arch/aarch64.sh Mon Dec 16 13:34:29 2013 +0800 @@ -0,0 +1,11 @@ +# Compute ARM-specific values + +CT_DoArchTupleValues() { + # The architecture part of the tuple: + [ "${CT_ARCH_BE}" = "y" ] && target_endian_eb="_be" + CT_TARGET_ARCH="${CT_ARCH}${target_endian_eb}" + CT_ARCH_WITH_FLOAT= + CT_ARCH_FLOAT_CFLAG= + # On Linux the architecture is arm64 + CT_LINUX_ARCH=arm64 +} diff -r 032ebcc89c96 -r 2cdf83834419 scripts/build/kernel/linux.sh --- a/scripts/build/kernel/linux.sh Fri Nov 22 00:34:49 2013 +0100 +++ b/scripts/build/kernel/linux.sh Mon Dec 16 13:34:29 2013 +0800 @@ -97,6 +97,7 @@ # Install kernel headers using headers_install from kernel sources. do_kernel_install() { local kernel_path + local arch=${CT_LINUX_ARCH:-${CT_ARCH}} CT_DoLog DEBUG "Using kernel's headers_install" @@ -112,7 +113,7 @@ CT_DoExecLog ALL \ make -C "${kernel_path}" \ O="${CT_BUILD_DIR}/build-kernel-headers" \ - ARCH=${CT_ARCH} \ + ARCH=${arch} \ INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \ ${V_OPT} \ headers_install @@ -122,7 +123,7 @@ CT_DoExecLog ALL \ make -C "${kernel_path}" \ O="${CT_BUILD_DIR}/build-kernel-headers" \ - ARCH=${CT_ARCH} \ + ARCH=${arch} \ INSTALL_HDR_PATH="${CT_SYSROOT_DIR}/usr" \ ${V_OPT} \ headers_check