Hi,
I found that the bare-metal toolchains for aarch64 from Linaro could not seem
to link objects to generate executable files successfully.
====================
Toolchain:
https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch…
====================
Testcase:
> cat test.c
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("Hello World!\n");
return 0;
}
> aarch64-elf-gcc -o test test.c
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/crt0.o: In function `_start':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/libgloss/aarch64/crt0.S:148: undefined reference to `initialise_monitor_handles'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-exit.o): In function `exit':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/stdlib/exit.c:70: undefined reference to `_exit'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/sbrkr.c:58: undefined reference to `_sbrk'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-writer.o): In function `_write_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/writer.c:58: undefined reference to `_write'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-closer.o): In function `_close_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/closer.c:53: undefined reference to `_close'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-lseekr.o): In function `_lseek_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/lseekr.c:58: undefined reference to `_lseek'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-readr.o): In function `_read_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/readr.c:58: undefined reference to `_read'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-fstatr.o): In function `_fstat_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/fstatr.c:62: undefined reference to `_fstat'
.../gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/../aarch64-elf/libc/usr/lib/libc.a(lib_a-isattyr.o): In function `_isatty_r':
/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-elf/snapshots/newlib.git~linaro-local~linaro-newlib-2_5_0/newlib/libc/reent/isattyr.c:58: undefined reference to `_isatty'
collect2: error: ld returned 1 exit status
In addition, there was the same bug in 7.4.1-2019.02 version, but not in arm-eabi
or armeb-eabi.
Is there anyone fixing this?
Thanks,
Junling
== Progress ==
* Short week
- Annual Leave 2 days
- Public Holiday 1 day (Australia day)
*SVE ACLE
- Revised remaining ACLE patches
- svbic revised and reviewed
* Auto Vectorizer
- Looking at auto vectorisation SVE
== Plan ==
* SVE ACLE
* Look at PR88834
[VIRT-294 # ARMv8.3-PAuth, Pointer Authentication ]
Fixed HCR/SCR enablement of API/APK.
Posted v2 of the prctl.
[VIRT-339 # ARMv8.5-BTI, Branch Target Identification ]
Posted v2.
[VIRT-327 # Richard's upstream QEMU work ]
Implemented variable-length decoding in scripts/decodetree.py.
Lots of fiddling about with the RX ISA to understand what was
actually needed within decodetree.
Pull request for vector extensions and dynamic tlb sizing.
Finished MPS review.
r~
Upstream Work ([VIRT-109])
==========================
- need to finish the re-work of [system test and misc arch] tests
:todo
- will be useful for test cases for plugins
- also more test cases queued up for system tests
- posted userspace CPUID access patches Message-Id:
<20190128173940.25813-1-alex.bennee(a)linaro.org>
- spent some time debugging PAuth kernel boot regression
- rth posted a fix for the regression Message-Id:
<20190129143511.12311-1-richard.henderson(a)linaro.org>
Other Tasks
===========
- rebuilt Zen after the /home SSD failed
- fortunately the backup drive had all the work in progress source
code
- moved to Debian Buster while I'm at it
- need to regenerate my images and foundation/FVP setup
- and realise quite how many tweaks I had baked into the old system
Completed Reviews [2/2]
=======================
{Qemu-devel} {PATCH 00/11} Enable build and install of our rST docs
Message-Id: <20190201145035.22739-1-peter.maydell(a)linaro.org>
{RFC PATCH 0/3} lm32: convert to new common tcg infrastructure
Message-Id: <20190131215611.29341-1-michael(a)walle.cc>
Absences
========
- Connect BKK19 (1-5th April 2019)
- holiday after Connect
Current Review Queue
====================
* {PATCH v2 00/18} OpenBSD: Enable qtesting
Message-Id: <20190129175403.18017-1-philmd(a)redhat.com>
* {PATCH v11 00/25} Fixing record/replay and adding reverse debugging
Message-Id: <20190131131520.23264.75724.stgit@pasha-VirtualBox>
* {RFC v2 00/38} Plugin support
Message-Id: <20181209193749.12277-1-cota(a)braap.org>
* {RFC} arm: Allow system registers for KVM guests to be changed by QEMU code
Message-Id: <20181206151401.13455-1-peter.maydell(a)linaro.org>
* {Qemu-devel} {PATCH v3 0/4} tcg: support heterogenous CPU clusters
Message-Id: <20190121152218.9592-1-peter.maydell(a)linaro.org>
* {Qemu-devel} {PATCH RFC 00/11} Add Renesas RX archtecture
Message-Id: <20190121131602.55003-1-ysato(a)users.sourceforge.jp>
--
Alex Bennée
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ got the "use Sphinx for documentation" patchset to a point where I
think we could plausibly commit it to master; sent out for review
+ two arm pull requests
+ sent patches fixing decode errors for FCMLA
* VIRT-268 [QEMU support for dual-core Cortex-M Musca board]
+ AN521 model is now in upstream QEMU
thanks
-- PMM
== Progress ==
* FDPIC
- (GNU-411) GDB: debugging problems with FDPIC support.
* GCC upstream validation:
- reported a few regressions
- dealing with some random results, still
- qemu-3.1: switched to it this week
* GCC:
- (GNU-99) rebased ubsan / bare-metal patches. No progress.
- minor testsuite fixes
* misc (conf-calls, meetings, emails, ....)
- reviewing/submitted infra script patches
- debugging new benchmarking round-robin jobs
== Next ==
FDPIC:
- GCC: handle feedback on v4 patches
- GDB: update patches
- uclibc-ng: look at how to test fdpic mode with openadk
Infra:
- benchmarking jobs
== Progress ==
* Out of office on Friday
* [Thumb GlobalISel] Support divisions [LLVM-516]
- Committed upstream
* [Thumb GlobalISel] Support G_GEP [LLVM-532]
- Ready to commit next week
* LLVM 8.0.0 Release for ARM & AArch64 [LLVM-526]
- Posted binaries for rc1
- Created a bug report for a MSan failure on AArch64
* Use new version of GCC on buildbots [LLVM-515]
- Ready to use in production
== Plan ==
* More GlobalISel
* Patch up the Jenkins release job [LLVM-533]
== Progress ==
* FDPIC
- (GNU-411) GDB: debugging problems with FDPIC support.
* GCC upstream validation:
- reported a few regressions
- dealing with some random results, still
- qemu-3.1: plan to switch to it this week
* GCC:
- (GNU-99) rebased ubsan / bare-metal patches. No progress.
- minor testsuite fixes
* misc (conf-calls, meetings, emails, ....)
- reviewing/submitted infra script patches
- experimenting with new build servers
- started looking at new benchmarking round-robin jobs
== Next ==
FDPIC:
- GCC: handle feedback on v4 patches
- GDB: update patches
- uclibc-ng: look at how to test fdpic mode with openadk
== This Week ==
* SVE ACLE (8/10)
- WIP patch for svlsl
* Validation (1/10)
- Upsteam monitoring job based on round-robin.
- abe bug with make install
* Meetings (1/10)
== Next Week ==
- Continue ongoing tasks.
== Progress ==
* SVE ACLE
- Revised and reviewed svbic main briant svbic_z for bool
* Fixing uninit warning suppression from tree-ch pass
- Implemented a patch to handle this and regression test is fine.
Will post for review once stage 1 opens
* tree-reassoc improvements
- Looking at possible data structures to best represent
== Plan ==
* Continue with SVE ACLE
* Continue with tree-reassoc
[VIRT-294 # ARMv8.3-PAuth, Pointer Authentication ]
Finished up the linux-user emulation, and posted.
Reviewed a patch set from Huawei also touching PAuth.
[VIRT-327 # Richard's upstream QEMU work ]
Reviewed riscv decodetree v4 patchset.
Partial review of new target/rx patchset. It is confusing enough
to make me want to tackle the variable-length decodetree problem.
Reviewed softtlb resize v7 patchset; ported that to the remaining
tcg backends.
Part way through reviewing Peter's MPS2 patch set.
r~
QEMU Tooling ([VIRT-252])
=========================
QEMU plugin support ([VIRT-280])
- started reviewing {RFC v2 00/38} Plugin support Message-Id:
<20181209193749.12277-1-cota(a)braap.org>
- some bitrot when applied to current tree :/
[VIRT-280] https://projects.linaro.org/browse/VIRT-280
Upstream Work ([VIRT-109])
==========================
- respin {PATCH v3 0/5} support reading some CPUID/CNT registers from
user-space Message-Id:
<20180625160009.17437-1-alex.bennee(a)linaro.org>
- re-based [v3 branch] - I think the id reg stuff is now addressed
by rth's fixes
- still need to address other review comments
- posted {RFC PATCH 0/3} vmbuild tweaks for BSD targets Message-Id:
<20190121171543.32422-1-alex.bennee(a)linaro.org>
- posted {PATCH v3 00/11} current fpu/next queue (tests & build fix)
Message-Id: <20190122215016.18697-12-alex.bennee(a)linaro.org>
- finally solved the weird endianess issue
- merged in {PULL v2 00/11} check-softfloat, fp-bench and clang
compile fixes Message-Id:
<20190123114220.16972-1-alex.bennee(a)linaro.org>
- posted {PATCH v1 00/14} testing/next (binfmt_misc, vm-build and BSD
CI) Message-Id: <20190125140017.6092-1-alex.bennee(a)linaro.org>
- also did some work on [the linux-user multiarch but it is not
ready yet]
- need to finish the re-work of [system test and misc arch] tests
:todo
- will be useful for test cases for plugins
- also more test cases queued up for system tests
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
[v3 branch]
https://github.com/stsquad/qemu/tree/misc/cnt-and-misc-reg-fixes-v3
[the linux-user multiarch but it is not ready yet]
https://github.com/stsquad/qemu/tree/testing/next-with-linux-user
[system test and misc arch]
https://github.com/stsquad/qemu/tree/testing/enable-system-tcg-tests-v2
Completed Reviews [2/2]
=======================
{PATCH 00/18} Acceptance Tests: target architecture support
Message-Id: <20190117185628.21862-1-crosa(a)redhat.com>
- CLOSING NOTE [2019-01-25 Fri 19:33]
Still a few edge cases to work out
{PATCH 0/2} contrib: gitdm: Some updates
Message-Id: <1547807155-4526-1-git-send-email-aleksandar.markovic(a)rt-rk.com>
- CLOSING NOTE [2019-01-25 Fri 19:33]
Queued to my tree
Absences
========
- Connect BKK19 (1-5th April 2019)
- holiday after Connect
Current Review Queue
====================
* {RFC v2 00/38} Plugin support
Message-Id: <20181209193749.12277-1-cota(a)braap.org>
* {RFC} arm: Allow system registers for KVM guests to be changed by QEMU code
Message-Id: <20181206151401.13455-1-peter.maydell(a)linaro.org>
* {Qemu-devel} {PATCH v3 0/4} tcg: support heterogenous CPU clusters
Message-Id: <20190121152218.9592-1-peter.maydell(a)linaro.org>
* {Qemu-devel} {PATCH RFC 00/11} Add Renesas RX archtecture
Message-Id: <20190121131602.55003-1-ysato(a)users.sourceforge.jp>
* {Qemu-devel} {PATCH 00/11} target/arm: Implement ARMv8.5-BTI
Message-Id: <20190110121736.23448-1-richard.henderson(a)linaro.org>
* {PATCH v5 00/73} per-CPU locks
Message-Id: <20181213050453.9677-1-cota(a)braap.org>
--
Alex Bennée
Majority of the week spent preparing for Fosdem talk on LLD:
- Built Chrome for Arm and AArch64 to investigate link time
performance on non-X86 platforms
-- Both gold and bfd take a considerable amount of time to produce
stubs/veneers/errata fixes
-- AArch64 link time is comparable to X86
- LLD gets more usage out of multithreading than gold
- Studied Gold and BFD structure to compare to LLD
- About half of slides written.
Some minor involvement with some investigations for ClangBuiltLinux.
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ code review:
- 'SBSA reference' model (now quite close to being in shape to go in)
- RTH's BTI patchset
- RTH's patchset adding TBI support to user-mode emulation
+ sent patches fixing the last lot of clang
-Waddress-of-packed-member warnings
+ had another look at the prototype work I did to use Sphinx
for QEMU's documentation -- updated the patchset and started
looking at how to tie it into our makefiles.
+ sent patches fixing a handful of underdecodings in our A64 decoder,
where we should have UNDEFed but did not
* VIRT-268 [QEMU support for dual-core Cortex-M Musca board]
+ sent out v1 of the patchset implementing the SSE-200 and MPS2 AN521 model
+ read through the Musca-B1 docs to confirm what we can easily
put into an initial implementation of a model
thanks
-- PMM
== Progress ==
* Out of office on Monday
* [Thumb GlobalISel] Support G_SHL, G_ASHR, G_LSHR [LLVM-517]
- Committed upstream
* [Thumb GlobalISel] Support G_SDIV and G_UDIV [LLVM-516]
- Most of the work done, ready to commit next week
* LLVM 8.0 Release for ARM & AArch64 [LLVM-526]
- Started a few jobs, but ran into some trouble with our containers
- Will look more into it next week
* Use new version of GCC on buildbots [LLVM-515]
- Got it to work and committed patch; we have 2 silent bots running with GCC-7
- Will keep monitoring the bots and if they seem stable we can merge
to tcwg-llvmprod next week
== Plan ==
* Test LLVM 8.0.0 RC1
* Commit LLVM-516
* More GlobalISel
* Out of office on Friday
Hi Martin and Linaro-toolchain team,
We want to use 4.8.5 cross compile toolchain to build ko.
But we can't find such version on the release site[1].
Is there a 4.8.5 cross compile toolchain?
[1] https://releases.linaro.org/components/toolchain/gcc-linaro/
Best,
Xinliang
== Progress ==
* SVE ACLE
- Committed patches for
* svabs, svneg, svnot and svsqrt series
* svdiv series
* svmulh series
* svand, svorr, and sveor series
* svdot series
- Working on svbic and svbic_b variants
* Others
- Looking into tree-reassoc improvements for next stage1
- Looked into kernel plugin issue for arm
== Plan ==
* Continue with SVE ACLE
* Continue with tree-reassoc
[VIRT-344 # ARMv8.5-MemTag, Memory Tagging Extension ]
Posted v1.
[VIRT-327 # Richard's upstream QEMU work ]
Posted v6 of linux-user split. Based on Laurent's feedback,
I'm running LTP myself this time, at least for a few guests.
r~
Upstream Work ([VIRT-109])
==========================
- posted {PULL 0/5} gitdm updates with final 2018 stats Message-Id:
<20190114160956.7513-1-alex.bennee(a)linaro.org>
- posted {PULL 00/21} misc testing fixes for Travis and docker
Message-Id: <20190114150129.1013-1-alex.bennee(a)linaro.org>
- we have gone green again
- posted {PULL 0/7} check-softfloat, fp-bench and clang compile fixes
Message-Id: <20190117132703.17790-1-alex.bennee(a)linaro.org>
- some alt-OS issues and a weird failure on s390x
- spent some time getting a working s390x setup to investigate
- posted {PATCH} target/s390x: define TCG_GUEST_DEFAULT_MO for MTTCG
Message-Id: <20190118171848.27332-1-alex.bennee(a)linaro.org>
- need to investigate why s390x breaks so weirdly
- messed around with a little [CONFIG_TCG type cleanups]
- need to finish the re-work of [system test and misc arch] tests
:todo
- will be useful for test cases for plugins
- also more test cases queued up for system tests
- respin {PATCH v3 0/5} support reading some CPUID/CNT registers from
user-space Message-Id:
<20180625160009.17437-1-alex.bennee(a)linaro.org> :todo
- in branch [v3 branch]
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
[CONFIG_TCG type cleanups]
https://github.com/stsquad/qemu/tree/misc/config-tcg-cleanups
[system test and misc arch]
https://github.com/stsquad/qemu/tree/testing/enable-system-tcg-tests-v2
[v3 branch]
https://github.com/stsquad/qemu/tree/misc/cnt-and-misc-reg-fixes-v3
Other Tasks
===========
- wrote up and submitted abstract for Connect
- I still hope to the history of TCG for TCWG room as well
Completed Reviews [4/4]
=======================
{Qemu-devel} {PATCH} .cirrus.yml: basic compile and test for FreeBSD
Message-Id: <CAPyFy2Dw2F3ks_5f8cvWjrsOTS0_Ybr5kELUpyHQmOQWUaeuFg(a)mail.gmail.com>
- CLOSING NOTE [2019-01-16 Wed 15:01]
Adds FreeBSD testing, yet another CI system
{PATCH v2} softfloat: enforce softfloat if the host's FMA is broken
Message-Id: <20181225070305.18221-1-cota(a)braap.org>
- CLOSING NOTE [2019-01-16 Wed 15:03]
Queued to my tree
{PATCH v6 0/3} Dynamic TLB sizing
Message-Id: <20190114165017.27298-1-cota(a)braap.org>
- CLOSING NOTE [2019-01-17 Thu 10:53]
Found a few issues.
{PATCH v7 0/3} Dynamic TLB sizing
Message-Id: <20190116170114.26802-1-cota(a)braap.org>
- CLOSING NOTE [2019-01-18 Fri 16:54]
Looks good to me now.
Absences
========
- Connect BKK19 (1-5th April 2019)
- holiday after Connect
Current Review Queue
====================
* {PATCH 0/2} contrib: gitdm: Some updates
Message-Id: <1547807155-4526-1-git-send-email-aleksandar.markovic(a)rt-rk.com>
* {PATCH 00/18} Acceptance Tests: target architecture support
Message-Id: <20190117185628.21862-1-crosa(a)redhat.com>
* {Qemu-devel} {PATCH 00/11} target/arm: Implement ARMv8.5-BTI
Message-Id: <20190110121736.23448-1-richard.henderson(a)linaro.org>
* {PATCH v5 00/73} per-CPU locks
Message-Id: <20181213050453.9677-1-cota(a)braap.org>
* {RFC v2 00/38} Plugin support
Message-Id: <20181209193749.12277-1-cota(a)braap.org>
* {RFC} arm: Allow system registers for KVM guests to be changed by QEMU code
Message-Id: <20181206151401.13455-1-peter.maydell(a)linaro.org>
--
Alex Bennée