== This Week ==
* PR82665 (3/10)
- Submitted patch upstream
- Blocked on POINTER_DIFF_EXPR patch by Marc Glisse.
* PR82808 (1/10)
- Submitted another fix but was rejected by Richard.
* TCWG-1234 (4/10)
- Tried tweaking with register allocator, but to no effect
- Trying to think about possible approaches for stage-3 fixes.
* Misc (2/10)
- Meetings
- Managed to get autofdo working
== Next Week ==
- Continue ongoing tasks
== Progress ==
* GCC
- FDPIC: rebased binutils patches, debugging CI loop.
* GCC upstream validation:
- iterating on qemu/sanitizers problems.
Found a bug in arm sanitizer libs, already fixed upstream.
Requested a new merge in GCC.
- reported a few regressions
* Infrastructure:
- looking at ABE & building a native toolchain from a manifest
* misc (conf-calls, meetings, emails, ....)
- started looking at hcqc
== Next ==
* GCC/FDPIC
* GCC upstream validation
# Progress #
* TCWG-1040, [4/10]
Update my patches to remove the last use of MAX_REGISTER_SIZE.
Get everything in shape. Post my 1/6 patch series.
* TCWG-1159, [4/10] GDB flexible target description conversion.
Post patch for tic6x, and write the patch for nios2.
* ILP32 GDB. [1/10]
Chat with Maxim, triage some test failures.
* Open GCC PR 83010.
AArch64 GCC doesn't generate DW_AT_location for TLS variable. It
causes some GDB test failures. CLANG+GOLD can correctly generate
DW_AT_location.
* Run GDB testsuite with CLANG. [1/10]
Post three patches to GDB testsuite to compile test cases with CLANG.
# Plan #
* TCWG-1125, ARMv8 tagged address support in GDB.
--
Yao Qi
Hi Linaro Team,
I'm currently using toolchain
gcc-linaro-7.1.1-2017.08-x86_64_arm-eabi.tar.xz
<https://releases.linaro.org/components/toolchain/binaries/latest/arm-eabi/g…>
to
develop my bera-metal programs.
My compile option is "-marm -march=armv7-a -mtune=cortex-a9 -mlittle-endian
-mfloat-abi=hard -mfpu=neon"
I found an issue, when I use memcpy, and if the DEST or SOURCE address is
not 4 bytes aligned, the system hangs.
It seems that this toolchain doesn't support using hard float and NEON ?
My question is does this toolchain support hard float and NEON in the
newlib C library?
If I want to use hard float and NEON, how can I do that?
Your reply is more appreciated!!
Over the last couple of months arm64 community and us have tested various aspects of ILP32 toolchain and, while most of toolchain works as expected, several features are still missing. Most of the work left is on GDB side, especially using LP64 GDB to debug ILP32 applications.
1. [GCC] GCC sanitizers (ASAN, UBSAN) are not supported for ILP32.
-- TCWG is working on implementing sanitizer support for ILP32.
2. [GLIBC] LP64 glibc libthread_db does not support ILP32. This causes failures when LP64 GDB is trying to debug ILP32 threaded application. It is expected by users to be able to use LP64 GDB to debug ILP32 applications (LP64 AArch64 GDB can successfully debug AArch32 applications already!).
-- Steve, do you plan to work on adding libthread_db support for ILP32?
3. [GDB] Handle ILP32 siginfo layout. Kernel siginfo layout is different between LP64 and ILP32.
4. [GDB] Inferior call passing pointer argument. GDB may need update to handle 32-bit pointer vs 64-bit pointer.
5. Handle shared libraries. GDB needs to read a linked list out of the inferior, and that list is about the libraries loaded already. LP64 and ILP32 may have different layouts.
6. [GDB] GDB resolves ifunc functions, needs to read auxv (HWCAP) from the inferior. auxv is different on LP64 and ILP32.
7. [GDB] Gdbserver support for ILP32.
--
Maxim Kuvyrkov
www.linaro.org
== This Week ==
* TCWG-1234 (2/10)
- Came up with another fix which works on my test-case but not on
actual regression
* PR82808 (2/10)
- Modified patch based on upstream suggestions.
* PR82665 (4/10)
- Untested fix
* Misc (2/10)
- Meetings
- Reading ipa mod/ref paper
- Looked at autofdo
== Next Week ==
- Continue ongoing tasks
== Progress ==
o Linaro GCC/Validation
* GCC 6 and 7 2017.11 RC1 deployed
* Fixed Binutils branch used for 5.5 release
* Investigate and fixed Python3 issues in release notes script
(patch under review)
o LLVM ramp-up
* Upstream bug 32999:
- Still tracking corner cases
* Looking at zero/sign-extension elimination status
o Misc
== Plan ==
o Release handover
o LLVM tasks (Bug 32999, sign-extension)
Hi all,
I just upload an sysroot image for ILP32 meant to be used on both testing
and development on dev-01.tcwglab [1]. It is based on out current ILP32
GCC 7 sysroot plus some tools and it is meant to easier development and
testing. It should have all native required tools for GNU development:
glibc 2.27 (arm/ilp32 branch)
gcc 7.2.1 (linaro/gcc-7-branch)
binutils 2.28.2 (linaro_binutils-2_28-branch)
gmp 6.1.2
mpfr 3.1.6
mpc 1.0.3
coreutils 8.28
bash 4.4.12
gnumake 4.2 (plus a patch to fix glob usage on glibc 2.27)
gawk 4.2
perl 5.26.1
textinfo 6.5
bison 3.0.3
m4 1.4.18
libtool 2.4.5
flex 2.6.4
tcl 8.6.7
expect 5.45.3
dejagnu 1.6
sed 4.4
diffutils 3.6
tar 1.29
gzip 1.8
finutils 4.6.0
I could build and check glibc and binutils and bootstrap gcc. The binutils
and gcc tests are working (dejagnu/expect/tcl is installed).
To actually get a working VMs to run ILP32 you need a kernel built with different
branch than either canonical Linus tree or linux stable. Easier way is to use
Maxim's automated script to start a qemu aarch64 instance on r1-a7:
$ WORKSPACE=`pwd` bash -x ~maxim.kuvyrkov/src/jenkins-scripts/start-container-qemu.sh \
--weight 2 --node r1-a7 --arch arm64 --distro xenial --task test --prefix ilp32_ \
--kernel_url https://people.linaro.org/~maxim.kuvyrkov/norov-Image --initrd_url \
https://cloud-images.ubuntu.com/releases/16.04/release/unpacked/ubuntu-16.0… \
--session-name ilp32-$USER --newuser $USER --cp_file ~/.ssh/authorized_keys
You can then log in the machine as usual ('ssh -P r1-a7.aus-colo') and download
the sysroot from dev-01.tcwglab. Just uncompress it and issue the usual
chroot command:
$ mkdir aarch64-linux-gnu_ilp32/proc; sudo mount -t proc proc aarch64-linux-gnu_ilp32/proc
$ mkdir aarch64-linux-gnu_ilp32/sys; sudo mount -t sysfs sys aarch64-linux-gnu_ilp32/sys
$ mkdir aarch64-linux-gnu_ilp32/dev; sudo mount -o bind /dev aarch64-linux-gnu_ilp32/dev
$ sudo chroot aarch64-linux-gnu_ilp32
A useful package missing is GDB and python, I plan to get them built and I will
update the image on dev-01.tcwglab during this week.
[1] /home/tcwg-buildslave/public_html/images/ilp32/aarch64-linux-gnu_ilp32.tar.bz2
Hi,
I put HCQC(HPC compiler quality checker) on GitHub.
URL: https://github.com/Linaro/hcqc
Any comments or suggestions are very welcome.
I am going to improve README.md overall and to add more test programs.
I will also report the analysis results using HCQC on hpc-sig-devel.
The attached PDF file was used to explain HCQC at HPC-SIG SC meeting(11/7).
I think you can reproduce the results on this slide if you modify the
following part of the configuration file:
hcqc/config/clang-config.json
"COMMAND" : "/usr/bin/clang",
"VERSION" : "4.0.1",
hcqc/config/gcc-config.json
"COMMAND" : "/usr/bin/gcc-7",
"VERSION" : "7.1.1",
which you need to fix to suit your environment.
[image: https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif]
Best regards,
--
--------------------------------------
Masaki Arai