== Progress ==
* Libssp support for AArch64 TCWG 23:
My approach to Cross testing eglibc from host failed since it needs
the build directories to be shared. Mounting the image in build
system and building eglic will not help as the changes will not be
reflected, in the image booted in V8 model dyanamically. The test
system only issues command via ssh but does not copy binary to the
model.
Need to try creating NFS mount from build system into the model.
* Backports
Lots of back porting and merging.
201624 and 201666 can be back ported together. Merge request submitted.
201406 to linaro branch. Small test case comment change. But the test
case fails in linaro 4.8, but passes in trunk.
It needs other revisions to be back ported, since vectorization
improvement in trunk. I tried back porting all relevant versions
r199402,r200394,r200600, r201282. But still fails since interface of
function get_loop has changed in trunk somewhere.
For 201411 look like need to hand pick and apply changes in arm.md
file. since lot of changes gone in that file and simple merge will not
be good. Also it may need some other revision to backport.
* TCWG-209, Looked at wiki pages, Christophe assigned to me and gave
some comments about updating/deleting them.
== Plan ==
* Post RFC patch for Libssp support for AArch64 in GCC
* GCC patch for gprof accepted, need to post patch in glibc.
* Continue testing the patch for Libssp support for AArch64 in GCC
and glibc TCWG-23. Try NFS mouting into the model.
* Backport 201411 201406 from trunk.
== Issues ==
* LTO/PGO work stopped now since libssp support priority is more.
== Issues ==
* None
== Progress ==
* Conditional compare (CCMP)
- Design tens of test cases to verify the codes.
- Handle CCMP in vrp pass. If the compare in CCMP can be simplified,
CCMP will be converted to a copy, compare or a bit operator.
- Investigating to handle CCMP in jump-thread related optimization.
- Investigating bootstrap issue when expanding conditional compare
to optimized RTL.
. It seams that there are illegal combinations of different
compares since bootstrap OK if the two compares of CCMP have the same
CODE.
. Current check bases on function "arm_select_dominance_cc_mode".
Need narrow down the root cause.
== Plan ==
* Continue on conditional compare.
== Panned leaves ==
* Sept. 3-6: internal meeting.
== Progress ==
* spec2k comparison between ARM and x86
- Initiated discussion and addressing the feedback
- Looking at register allocation (IRA + Reload) for reduced test
case and comparing with x86
- Analysed few more spec2k benchmarks
* Back-porting
- All the back ports are checked and reviewed. Thanks Yvan.
== Plan ==
* Continue with spec2k comparison between ARM and x86
* Wiki Cleanup
== Progress ==
* More work on Jenkins/Cbuildv2 integration.
* Finished reviewing all 81 wiki pages I had to review.
* Added a 'dryrun' option to Cbuildv2 that displays all configure
and make command lines without executing them as a learning aid.
* Added 'make check' to toolchain builds via Jenkins/Cbuildv2.
* Added a simple "Hello World" test case in C++ to toolchain builds
in Cbuildv2 to make sure the fresh build minimally works.
* Added several more sections to the Cbuildv2 Usage wiki page.
* Cbuildv2 can now downloads and builds several projects/ (QT, GTK,
etc...) as a toolchain test.
* Got the LAVA team to make many tweaks to Jenkins and other stuff
to support TCWG needs for Cbuildv2. Now Jenkins does a toolchain
build of all supported architectures for each commit to GCC
upstream.
* Two small wildland fires this week, plus 3 motorcycle accidents.
== Plan ==
* More work on binary releases via Cbuildv2.
* Import test results into Jenkins.
* Continued work on Jenkins/Cbuildv2 integration.
== Issues ==
* Libmudflap, needs -ldl, or make check fails when linking with
--as-needed (used on Ubuntu by default).
* On chromebook using a raring chroot, 'make check' for mpfr has
these three test cases: tasinh, tcot, and tcsc which consume all the
memory and hang when run with the other infrastructure libraries via
Cbuildv2. The ttan and tsinh tests segfault, and tgamma return an
incorrect result. These same test cases all pass if I use Cbuildv2
to only build and test mpfr. Weird...
== Progress ==
* GDB Record and Replay (TCWG-197)
Wrote instruction type decoder code for ARM Thumb32 instructions.
Wrote stub handlers for different type of Thumb32 instructions.
Wrote process record handlers for various type of load/store instruction.
Wrote a testing utility to test record and replay instruction decoding code.
* Visa Application
Received email notifcation for UK visa issuance for upcoming trip to Cambridge.
Filled out US visa application form DS-160, gathering information
required to complete my application.
== Plan ==
* GDB Record and Replay
Continue to write code for decoding and recording thumb32 instructions.
Try to find a way to generate test data of various instructions to
test record and replay code.
* Travel and Visas
Go to UK visa application center to collect my passport back.
Apply for US visa and make an appointment for the interview for the
week of 23rd September.
Prepare for UK travel for the week of 14th September.
== Progress ==
* Investigating Cross-Compilation with LLVM
- Gathering all options necessary to cross-compile
- Cross-compiling Clang+LLVM with Clang to ARM
- Writing down all issues found during the process
* Investigating the Clang Driver
- Refactoring some common decisions about targets
- Adding new CPUs, cleaning a few areas
== Plan ==
* Try to upstream some patches to make cross-compilation a bit easier
* Write a document on how to cross-compile with Clang on LLVM website
== Progress ==
* 4 day week (Bank Holiday Monday)
* Wiki cleanup pretty much done
* More malloc implementation work
* Further investigation of ptmalloc to see if it can be improved
* Fixed gdb build for non-Intel architectures
* Found an issue with clone in glibc 2.18 and committed a fix
* Committed strlen code to glibc
== Issues ==
* None
== Plan ==
* Get glibc patches applied upstream
* More malloc
* Look into stack guard and pointer guard stuff for ARM
--
Will Newton
Toolchain Working Group, Linaro
Hello,
Is there any LLVM cross-compiler built for ARM. If not, then could you
provide some pointers where I could start creating one?
--
Regards,
Pavan
Hi all,
There has been interest from LEG members to ensure that optimal library
routines are used on their platforms. My understanding is that the
"correct" way of doing this these days is to use ifuncs to select the
best implementation for a given system.
I see that glibc 2.18 contains an ifunc-ed version of memcpy. Does the
TCWG have a hit list of other functions that might get the same
treatment? If so, does it have a plan and the resources to implement
them? If it's a matter of resources, I think LEG might be able to help
there.
Cheers,
mwh
Hi,
Apologies in advance for any chinese whispers effects that happen, but
colleagues at Canonical are attempting to backport this change:
https://sourceware.org/git/?p=glibc.git;a=commit;h=ae65139d140ac85808c0666c…
to the (e)glibc in current versions of Ubuntu, 2.17, but are
encountering mysterious segfaults when building. These are the
additional patches being used:
arm/define-sfi_breg-and-PC_OFS.patch
arm/Add-Cortex-A15-optimized-NEON-and-VFP-memcpy-rou.patch
arm/Make-multiarch-memcpy-always-use-NEON-when-compi.patch
arm/Clean-up-__libc_ifunc_impl_list.patch
arm/Make-armv7-memcpy-implementations-SFI-friendly.patch
arm/Use-push-pop-mnemonics.patch
arm/Support-avoiding-pc-as-destination-register.patch
arm/BX_ALIGN_LOG2.patch
arm/Pass-dl_hwcap-to-IFUNC-resolver-functions.patch
-- all grabbed from glibc git. Are we missing something obvious? :)
Cheers,
mwh
== Progress ==
* Got Cbuildv2 building native on Odroid and Wandboard via Jenkins
using the LAVA build farm.
* Improved support for native builds in Cbuildv2.
* Added building binary tarballs for releases.
* Looked at two patches for multilib support.
* Reviewed a bunch of wiki pages, updated some, deleted some,
some were ok as is and still useful.
* Registered for LCU13.
* Ordered Odroid XU & U2 boards.
* Put out 2 lightning caused wildland fires.
* Ran weekend music festival fund raiser for a local non-profit.
== Plan ==
* Review more wiki pages.
* Improve binary tarball support in Cbuildv2.
* Add 'make check' to Jenkins builds.
* Get Jenkins to do automated builds on LAVA build farm.
* Get lava-tool working.
== Progress ==
* spec2k comparison between ARM and x86
- Analysis ongoing
- Preparing to post the results for internal discussions
* Back-porting
- Back ported all the assigned one
- There are some make check failures for thread related test cases
with qemu; investigating it
== Plan ==
* Continue with spec2k comparison between ARM and x86
* Finish the back-ports
== Progress ==
3 day week 21 August unwell and 23-August leave.
* Libssp support for AArch64 TCWG 23:
Sent RFC patch for review.
http://sourceware.org/ml/libc-ports/2013-08/msg00044.html
workign on cross testing eglibc from host.
* Backport 201406 to linaro branch. Waiting for review.
== Plan ==
* Post RFC patch for Libssp support for AArch64 in GCC
* Continue testing the patch for Libssp support for AArch64 in GCC
and glibc TCWG-23
* Backport 201411 201624 201666 from trunk
== Issues ==
* LTO/PGO work stopped now since libssp support priority is more.
* Waiting for Marcus feedback for Matt comments on gprof patches TCWG-20.
== Issues ==
* none
== Progress ==
* 2013-08 release:
- Released 4.7 and 4.8 .
* 4.8-2013.08 c++ and java reported issues:
- Trying to reproduced the reported failures on x86 and a9hf,
without success for the moment.
* LRA:
- Rebased the ongoing work on updated sources.
- Preparing an upstream request for comment.
== Plan ==
* Review roster
* 4.8 backports
* LRA
== Issues ==
* None
== Progress ==
* 2 day off.
* Conditional compare
- Send out RFC and basic support patches for community review.
- Update and design test cases.
- Investigating bootstrap issue when expanding conditional compare
to optimized RTL.
== Plan ==
* Continue on conditional compare.
== Panned leaves ==
* Sept. 3-5: internal meeting.
== Progress ==
* GDB Record and Replay (TCWG-197)
Studied ARM Thumb32 instruction encoding for thumb32 encoding
Studied existing arm/thumb code for instruction decoding and recording
Setup remote debug environment to debug arm native gdb record/replay code.
* Spent a couple of hours reading gdb wiki pages and identified some
improvement which I will make in coming weeks.
* Prepared US visa application documents.
== Plan ==
* GDB Record and Replay: write code for decoding and recording thumb32
instructions.
On 17 August 2013 14:36, Renato Golin <renato.golin(a)linaro.org> wrote:
> On 17 August 2013 08:36, Michael Hope <michaelh(a)juju.net.nz> wrote:
>>
>> user/real is 3.81 so it was nicely CPU bound. The Wandboard runs at
>> 1.0 GHz vs the U2 1.7 GHz and 142 / 1.7 = 83, which is very close to
>> your 80 minutes.
>
>
> Yes, on release builds, the SATA makes little difference.
(+linaro-toolchain, which I dropped at the start)
I had a hack and set up a chroot on my Tegra 3 OUYA to run distcc.
With the Wandboard driving and a 'ninja make -j12', LLVM 3.3 built in
75 minutes (meh). You really need the 2 GiB of RAM - the 650 MiB left
on the OUYA plus the occasional four 250 MiB g++ hurts.
-- Michael
== Progress ==
* Nice holidays in Brittany.
- Wine, cheese, more wine, some beaches...
* ODroid buildbot still running...
- After a long and hot week with all windows close (room temp > 25C), the
bot has held stable no hotter than 63C and is running self-hosting
(partial+full build) without a single hiccup.
- I'd be very happy with them as buildbots (rather than Chromebooks)
- I'd also be very happy to test the ODroid X2 (octo-A15/A7)
== Plan ==
* Initial investigation on cross-compilation issues
* Liaise with ARM on divmod issue (some ideas on ValueInRegs floating
around)
== Progress ==
* 4 day week (off Thursday)
* Wrote a patch to fix gas NEON addressing mode bug and committed
* Submit and respin of glibc malloc tests and fixes
* Pushed cortex-malloc test and benchmark suite to git.l.o
* More malloc work
* Started wiki cleanup
== Issues ==
* None
== Plan ==
* Further malloc work
* Get glibc patches applied upstream
* Complete wiki cleanup
--
Will Newton
Toolchain Working Group, Linaro
Progress:
* QEMU maintenance:
** versatile-pb PCI: sent kernel patchset, so this is off
my queue now unless there are problems in review
** interviewing candidates for Linaro QEMU position
** sent pullreq for various accumulated QEMU patches now 1.7
development has opened up
** booked travel, hotels for Connect USA, KVM Forum
-- PMM
Hi,
I was trying to build a gcc-linaro that targets AArch64 (mostly
following guides such as http://jk.ozlabs.org/docs/arm64-toolchain/) and
failing, to be short and simple. Unfortunately I don't have the errors
I was encountering to hand, so instead I'll ask: Is the build process
for building aarch64-linux-gnu-gcc and friends documented anywhere?
Cheers,
mwh
== Progress ==
* Spent a couple of days studying existing patches and code changes made
for reverse debug support.
* Evaluated record n replay and reverse debug support by testing these
features in various configuration with few forced code changes.
* Evaluated catch syscall patch by running it on chrome book.
* Finally submitted UK visa application. Spent a couple of days preparing
documents getting them attested and took the trip to UK visa application
center for application submission.
* Independence Day Public Holiday on 14th August.
== Plan ==
* Continue work on Reverse debug on arm major task next week is to study
arm documentation and identify changes required for thumb32 support in
process record and replay feature.
* Review and update TCWG Libraries and Dev tools wiki pages.