Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Romain Naour <romain.naour@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH V3 RESEND 0/5] Add ILP32 support in aarch64
Date: Sun, 24 Jan 2016 12:35:12 +0100	[thread overview]
Message-ID: <56A4B6F0.8080108@gmail.com> (raw)
In-Reply-To: <CAFy1USRK1QDrruMk+icMqELL3MtFZv8KTkDvOHZ9wrAEWNvCJg@mail.gmail.com>

Hi Bamvor,

Le 21/01/2016 10:03, Bamvor Zhang Jian a ?crit :
> Hi, Romain
> 
> On 01/21/2016 05:26 AM, Romain Naour wrote:
>> Hi Bamvor,
>>
>> Le 19/01/2016 05:00, Bamvor Zhang Jian a ?crit :
>>> Hi, Romain
>>>
>>> On 01/16/2016 11:25 PM, Romain Naour wrote:
>>>> Hello Bamvor,
> [...]
>>>> Can you provide the command lines you used to build the toolchain ? on which abe
>>>> branch ? Otherwise we can't test your series.
>>> You could find the toolchain here[1]
>>
>> Thanks but this is not a cross-toolchain:
>>
>> file bin/aarch64-ilp32-linux-gnu-gcc
>> bin/aarch64-ilp32-linux-gnu-gcc: ELF 64-bit LSB executable, ARM aarch64, version
>> 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for
>> GNU/Linux 3.7.0, BuildID[sha1]=0727b9d5c173c83568f5d19cfc87a05540ec8b77, not
>> stripped
>>
>> It seems that's a native toolchain.
>>
>> It should be something like (from aarch64-linaro 2015.08)
>> file bin/aarch64-linux-gnu-gcc
>> bin/aarch64-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
>> dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux
>> 2.6.32, BuildID[sha1]=91a19539d0f6b0f38d599db648b4b5760000666a, not stripped
>>
> Yeap, it is not a cross compile. I use it in an aarch64 chroot environment in
> x86. I feel it is enough to test these patches.

Buildroot is a tool for cross-compiling, you know it ;-)
Honestly I'm not very interested to test the toolchain by itself, only your
patches for the external toolchain infra.

>> Can you provide a pre-build toolchain or a recipe to rebuild a aarch64 ipl32
>> toolchain ?
> Linaro provide abe[1] to build toochain. You could follow this script[2] to know
> how to use it. It seems that the server in tcwg is down. Hope, you could make
> use of the method used by abe system.

I really tried to build a aarch64 ipl32 cross-toolchain with abe but I'm stuck
with glibc build. I don't know what's the glibc branch I should use.
By default I used the release/2.20/master branch

aarch64-ilp32-linux-gnu-gcc -mabi=ilp32 -nostdlib -nostartfiles -r -o
/home/naourr/linaro-toolchain/builds/x86_64-unknown-linux-gnu/aarch64-ilp32-linux-gnu/glibc.git~linaro-2.20-ilp32-ilp32/csu/Scrt1.o
/home/naourr/linaro-toolchain/builds/x86_64-unknown-linux-gnu/aarch64-ilp32-linux-gnu/glibc.git~linaro-2.20-ilp32-ilp32/csu/start.os
/home/naourr/linaro-toolchain/builds/x86_64-unknown-linux-gnu/aarch64-ilp32-linux-gnu/glibc.git~linaro-2.20-ilp32-ilp32/csu/abi-note.o
/home/naourr/linaro-toolchain/builds/x86_64-unknown-linux-gnu/aarch64-ilp32-linux-gnu/glibc.git~linaro-2.20-ilp32-ilp32/csu/init.o
../sysdeps/aarch64/start.S: Assembler messages:
../sysdeps/aarch64/start.S:92: Error: cannot represent BFD_RELOC_64 relocation
in this object file format
../sysdeps/aarch64/start.S:92: Error: cannot represent BFD_RELOC_64 relocation
in this object file format
../sysdeps/aarch64/start.S:92: Error: cannot represent BFD_RELOC_64 relocation
in this object file format
/home/naourr/linaro-toolchain/builds/x86_64-unknown-linux-gnu/aarch64-ilp32-linux-gnu/glibc.git~linaro-2.20-ilp32-ilp32/sysd-rules:1345:
recipe for target
'/home/naourr/linaro-toolchain/builds/x86_64-unknown-linux-gnu/aarch64-ilp32-linux-gnu/glibc.git~linaro-2.20-ilp32-ilp32/csu/start.o'
failed
make[2]: ***
[/home/naourr/linaro-toolchain/builds/x86_64-unknown-linux-gnu/aarch64-ilp32-linux-gnu/glibc.git~linaro-2.20-ilp32-ilp32/csu/start.o]
Error 1

Also I had several issue with the abe script on my system (Fedora) and I had to
modify some part of the script to be able to continue the build.

So, It would be great if you can provide a precompiled cross-toolchain.

Best regards,
Romain

> 
> Regards
> 
> Bamvor
> 
> [1] https://git.linaro.org/toolchain/abe.git/blob/refs/heads/benchmarking:/abe.sh
> [2] https://git.linaro.org/toolchain/spec2xxx-utils.git/blob/refs/heads/test:/bench-ilp32.sh
> 
>>>>
>>>> Do you know if Linaro plans to release a ipl32 toolchain ?
>>> It seems that linaro will not release it before patches for ilp32 of kernel and
>>> glibc upstreamed.
>>> Here[2] is a status for ilp32 in linaro.
>>
>> Thanks for the link.
>>
>> Best regards,
>> Romain
>>
>>>
>>> Regards
>>>
>>> Bamvor
>>>
>>> [1] http://people.linaro.org/~maxim.kuvyrkov/bench-ilp32/
>>> [2] https://wiki.linaro.org/Platform/arm64-ilp32
>>>
>>>> Best regards,
>>>> Romain Naour
>>>>
>>>>>
>>>>> changes since v2
>>>>> 1.  rebase on the patch have been .
>>>>>     "827ba46 aarch64: add big endian(aarch64_be) support"
>>>>> 2.  Add "!BR2_aarch64_be" along with "!BR2_aarch64" in patch 1/5 according to
>>>>>     the suggestion from Thomas.
>>>>> 3.  Improve the ifeq in patch 2/5 according to Gustavo.
>>>>> 4.  Do not pass invalid "-mabi" option to ld in patch 3/5 according to Gustavo.
>>>>>
>>>>> changes since v1
>>>>> 1.  Avoid mabi issue in gcc 4.8 while build aarch64 lp64.
>>>>> 2.  Change default libc, toolchain for ilp32 build.
>>>>> 3.  Others changes suggested by Gustavo.
>>>>>
>>>>> [1] http://lists.busybox.net/pipermail/buildroot/2015-March/122115.html
>>>>> [2] http://lists.busybox.net/pipermail/buildroot/2015-March/122424.html
>>>>> [3] https://git.linaro.org/kernel/linux-linaro-tracking.git
>>>>> [4] https://wiki.linaro.org/ABE
>>>>>
>>>>>
>>>>> Bamvor Jian Zhang (5):
>>>>>   aarch64: align aarch64_be config with aarch64s'
>>>>>   aarch64: ilp32: handle special file name
>>>>>   aarch64: ilp32: add ilp32 compiler and linker flags
>>>>>   aarch64: ilp32: add ilp32 build config
>>>>>   aarch64: ilp32 defconfig examples
>>>>>
>>>>>  Makefile                                           |  6 +++
>>>>>  arch/Config.in.aarch64                             | 36 ++++++++++++++++++
>>>>>  configs/aarch64_be_defconfig                       |  2 +
>>>>>  configs/aarch64_be_ilp32_defconfig                 |  8 ++++
>>>>>  configs/aarch64_ilp32_defconfig                    |  8 ++++
>>>>>  package/Makefile.in                                | 13 ++++++-
>>>>>  package/binutils/Config.in                         |  4 +-
>>>>>  package/binutils/Config.in.host                    |  5 ++-
>>>>>  package/dropwatch/Config.in                        |  5 ++-
>>>>>  package/gcc/Config.in.host                         | 11 +++---
>>>>>  package/gdb/Config.in.host                         |  2 +-
>>>>>  package/gpsd/Config.in                             |  2 +-
>>>>>  package/lightning/Config.in                        |  5 ++-
>>>>>  package/nginx/Config.in                            |  3 +-
>>>>>  package/oprofile/Config.in                         |  6 ++-
>>>>>  toolchain/Config.in                                |  2 +
>>>>>  toolchain/helpers.mk                               |  5 ++-
>>>>>  toolchain/toolchain-buildroot/Config.in            |  7 ++--
>>>>>  toolchain/toolchain-external/Config.in             | 22 +++++++++++
>>>>>  toolchain/toolchain-external/toolchain-external.mk | 44 +++++++++++++++++++++-
>>>>>  20 files changed, 169 insertions(+), 27 deletions(-)
>>>>>  create mode 100644 configs/aarch64_be_defconfig
>>>>>  create mode 100644 configs/aarch64_be_ilp32_defconfig
>>>>>  create mode 100644 configs/aarch64_ilp32_defconfig
>>>>>
>>>>
>>>
> 

  reply	other threads:[~2016-01-24 11:35 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-13  1:16 [Buildroot] [PATCH V3 RESEND 0/5] Add ILP32 support in aarch64 Bamvor Jian Zhang
2015-08-13  1:16 ` [Buildroot] [PATCH V3 RESEND 1/5] aarch64: align aarch64_be config with aarch64s' Bamvor Jian Zhang
2015-08-13  1:16 ` [Buildroot] [PATCH V3 RESEND 2/5] aarch64: ilp32: handle special file name Bamvor Jian Zhang
2015-08-13  1:16 ` [Buildroot] [PATCH V3 RESEND 3/5] aarch64: ilp32: add ilp32 compiler and linker flags Bamvor Jian Zhang
2015-08-13  1:16 ` [Buildroot] [PATCH V3 RESEND 4/5] aarch64: ilp32: add ilp32 build config Bamvor Jian Zhang
2015-08-13  1:16 ` [Buildroot] [PATCH V3 RESEND 5/5] aarch64: ilp32 defconfig examples Bamvor Jian Zhang
2016-01-16 15:25 ` [Buildroot] [PATCH V3 RESEND 0/5] Add ILP32 support in aarch64 Romain Naour
2016-01-19  4:00   ` Bamvor Zhang Jian
2016-01-20 21:26     ` Romain Naour
2016-01-21  9:03       ` Bamvor Zhang Jian
2016-01-24 11:35         ` Romain Naour [this message]
2016-02-02  2:29           ` Zhangjian
2016-02-02  9:04             ` Romain Naour
2016-02-02 10:49               ` Zhangjian
2016-02-02 11:16                 ` Arnout Vandecappelle
2016-02-03 21:11                   ` Romain Naour
2016-03-20 13:10                     ` Zhangjian
2016-03-20 20:33                       ` Romain Naour

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56A4B6F0.8080108@gmail.com \
    --to=romain.naour@gmail.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox