# Progress #
* TCWG-857, [7/10]
One patch is upstreamed. The rest of them are in the queue.
Upgrade juno board linux kernel to 4.2.0-rc4+ to test some
multi-arch kernel patches. It isn't easy to run that new kernel
on juno board, takes much time on this.
* Misc [3/10]. Meetings, online trainings, etc.
# Plan #
* Continue to upstream multi-arch patches.
* Some upstream patch reviews on tracepoint.
--
Yao
Hello guys,
I am newbie here and need your kindly help:)
When trying to use gcc-linaro-4.9 to build u-boot for ls1021atwr (ARM Cortex-A7 MPCore compliant with ARMv7-A architecture), we face issue. U-boot hangs at PCI-E.
After tracing the code, the issue is located at the line "*val = readl(addr);".
u-boot/drivers/pci/pcie_layerscape.c: ls_pcie_read_config():
if (PCI_BUS(d) == hose->first_busno) {
...
} else {
...
if (PCI_BUS(d) == hose->first_busno + 1) { #PCI_BUS(d) 1, hose->first_busno 0
ls_pcie_cfg0_set_busdev(pcie, busdev);
addr = pcie->va_cfg0 + (where & ~0x3); #pcie->va_cfg0 0x24000000, where 0xc
} else {
....
}
}
*val = readl(addr);
The gcc source we used is gcc-linaro-4.9-2015.02.tar.xz<https://releases.linaro.org/15.02/components/toolchain/gcc-linaro/4.9/gcc-l…> (link<https://releases.linaro.org/15.02/components/toolchain/gcc-linaro/4.9/>) which is based on FSF GCC 4.9.3-pre+svn220525.
Meanwhile, gcc-linaro-4.9-2015.01.tar.xz<https://releases.linaro.org/15.02/components/toolchain/gcc-linaro/4.9/gcc-l…> does not have this issue.
After Bisecting, we tracked down a gcc commit:
https://git.linaro.org/toolchain/gcc.git/commitdiff/e4f9e85e8152379aef37377…
2015-01-23 Jakub Jelinek <jakub(a)redhat.com>
PR rtl-optimization/63637
PR rtl-optimization/60663
* cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
if elt->cost is MAX_COST for ASM_OPERANDS.
(find_sets_in_insn): Fix up comment typo.
(cse_insn): Don't set src_volatile for all non-volatile
ASM_OPERANDS in PARALLELs, but just those with multiple outputs
or with "memory" clobber. Set elt->cost to MAX_COST
for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
* gcc.dg/pr63637-1.c: New test.
* gcc.dg/pr63637-2.c: New test.
* gcc.dg/pr63637-3.c: New test.
* gcc.dg/pr63637-4.c: New test.
* gcc.dg/pr63637-5.c: New test.
* gcc.dg/pr63637-6.c: New test.
* gcc.target/i386/pr63637-1.c: New test.
* gcc.target/i386/pr63637-2.c: New test.
* gcc.target/i386/pr63637-3.c: New test.
* gcc.target/i386/pr63637-4.c: New test.
* gcc.target/i386/pr63637-5.c: New test.
* gcc.target/i386/pr63637-6.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@220323 138bc75d<https://git.linaro.org/toolchain/gcc.git/object/138bc75d>-0d04-0410-961f-82ee72b054a4<https://git.linaro.org/toolchain/gcc.git/object/82ee72b054a4>
Before this commit, u-boot can boot up.
So any hint/suggestion? if more details needed, please feel free to tell us.
Thank you in advance.
-Ting
== Progress ==
LLDB development
-- Testing and bug fixing lldb on hikey AArch64 [TCWG-231] [4/10]
-- Looking into multi-threaded watchpoint test failures on
AArch64 highkey board.
-- Fixed watchpoint installation lag and unexpected behaviour.
Submitted http://reviews.llvm.org/D12522
-- Start work to add support for un-alinged watchpoints on AArch64
[TCWG-367] [3/10]
Miscellaneous [3/10]
-- Meetings, emails, discussions etc.
-- Laptop LCD screen malfunctioned, found a temporary replacement.
== Plan ==
LLDB development
-- Progress towards un-allinged watchpoint support on AArch64 LLDB
-- Fix broken parts of LLDB testsuite on AArch64.
== Progress ==
o Linaro GCC validation (8/10)
* Reviewed, validated and committed more backports
* New stability issues after executor number increased
* Started to script branch merge
* Developed a new tool to avoid wasting time in gerrit/jenkins/logs
navigation
o Upstream GCC (1/10)
* Looked at and updated some bugzillas
o Misc (1/10)
* Various meetings
== Plan ==
o Continue backports/validation/branch merge
== Progress ==
* Widening pass (TCWG-547) – 6/10
- Looked at “Error: unaligned opcodes detected in executable segment”
* Spent lot of time trying to understand the root cause.
* Got some suggestions from Jim and looking into it.
- Posted some of the important patches for review.
* https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00399.html
* https://bugs.linaro.org/show_bug.cgi?id=1318 (2/10)
- Tried reproducing with the source provided without success.
- Could build and reproduce with emacs-24.4 release.
- Trunk GCC version 6.0.0 20150902 works.
- GCC version 4.9.3 20150209 (Linaro GCC 4.9-2015.02) fails.
* Misc - 2/10
- gcc-patches, gcc-bugs list
== Plan ==
* Continue with widening pass
* Fix Bug1318
Holiday [4/10]
Multinode wrapper - TCWG-350 [2/10]
* Merged to benchmarking branch, roughly documented
* Tested & added job definition templates
Setting up VPN [2/10]
* Much struggling with mutt, pgp, VM vs real system, Mac vs Linux
* Still not working, but wrote up what I've learned on the Collaborate page
Misc [2/10]
* ARM admin, meetings, mail, etc etc
=Plan=
Last pass through benchmarking presentation
Finish multinode/updating benchmarking docs
Back to Juno noise control experiments
Back to Jenkins - get it to drive multinode
(Reporting with new Jira numbers)
Holiday [6/10]
Investigate effectiveness of noise control - TCWG-358 [2/10]
* Learned to build OE filesystems
* Got Juno running with more or less provenance-tracked firmware,
kernel, filesystem
Misc - [2/10]
* Pushed through some updates to benchmark sources
* Struggled with Collaborate permissions to share source/results handling rules
* Remaining multinode tests passed
== This week ==
* TCWG-832 -Exploit vector multiply by scalar instructions when multiple
scalars are used as
coefficients in a loop (4/10)
- Continued investigation.
* TCWG-833 - Exploit Wide Add operations when appropriate (4/10)
- Reworked Aarch64 patch to avoid redundant moves
- Sent patch upstream for review
- Debugging Aarch64 tree-dump regression suite failures
- Bugzilla 57195 (mode iterator bug) blocked compiling new pattern (1/10)
- Separated patch from Bugzilla 67321 patch and sent upstream
- Pinged upstream for comments
* Misc (1/10)
- Conference calls
== Next week ==
- USA Labor day holiday, September 7th
- Additional investigation into TCWG-832
== This Week ==
* TCWG-120 (8/10)
- Resolved df issue in my patch, sent to tcwg list for review,
- VRP makes the issue latent at -O2. Reproducible with -fno-tree-vrp
- Taking another approach to run a "specialized" combine pass before
combine pass that
folds arm_andsi3_insn/arm_cmpsi_insn to zeroextracsi_compare0_scratch
or andsi3_compare0_scratch without relying on combine.
Patch: http://pastebin.com/gLVg7pbN
Asm diff at -O1: http://pastebin.com/yXBHHkhM
Asm diff at -O2 -fno-tree-vrp: http://pastebin.com/EKj6hXkt
* Misc (2/10)
- Meetings
- Had a look at vect test-cases failing due to LTO
== Issues ==
- No access to Juno
- Can't login to IRC via ZNC (can connect directly).
== Next Week ==
- Continue with TCWG-120
- Start looking at TCWG-80
== Progress ==
* Holidays (4/10)
* Buildbots (2/10)
- Several breakages, Clang alignment issue sill breaking
self-hosted bots...
* Maintenance (2/10)
- Backtracks on the TargetParser, code heavily modified,
discussions ensued.
- Helping Vinicius with __aeabi_memcpy in the kernel
* Releases (0/10)
- Release 3.7.0 final validated / uploaded
- Waiting for final switch
* Background (2/10)
- Code review, meetings, discussions, etc.
- Backlog of emails, reviews
== Plan ==
Look at libc++ / RT / unwind again see if I can reduce the errors in
both AArch64 and ARM to zero.
== Issues ==
The power cuts and the effect it had on my buildbots made me spend 3
days of my holidays to fix. Other buildbot breakages made me spend
another 2, and I couldn't wait until I was back, or it would have
wasted an entire week (as it has happened before).
In a nutshell, I can't have holidays. Yay!