== Progress ==
* lib/git-parser.sh: Add support for ~ as branch designator and
multi-/ branches.
* Refactor cbuild2 to use git parser
* Created stamp functions for cbuild2
US Thanksgiving Holiday
== Next ==
* Finish refactor of cbuild2 to use git parser.
* Create unified parser that wraps git parser.
* Finish refactor of cbuild2 to use stamp functions.
== Issues ==
* None
Forgot to hit send on this one
== Progress ==
* Add documentation for git-parser.sh.
* lib/git-parser.sh: Add no-url support.
* testsuite/test.sh fix invocation of testsuite/git-parser-tests.sh
to include ${topdir}.
* Add lib/git-parser.sh and testsuite/git-parser-tests.sh.
* Fix corner cases with <user>@<url>/<repo>.git[/branch]@<revision>
1) Allow http urls to be processed by 'git' cases.
2) Error check git-new-workdir and git checkout
3) Parse revision and branch properly when there might be a <user>@
in the url.
* testsuite/test.sh: Update for breath to cover
user@<url>/<repo>.git@<revision>
* Fix get_srcdir to work with <user>@<repo>.git/branch@revision
* Fix get_toolname and get_srcdir when using <user>@<repo>.git@revision
== Issues ==
* None
== Next ==
* Have cbuild2 start using the git parser
== Issues ==
* Still some cbuild oddities.
== Progress ==
* LRA on AArch32:
o TCWG-342 : UPSTREAM: LRA issue in gfortran with store minmaxsi
- Performance validation is OK, confirmed by kyrill.
- Waiting for approval.
o TCWG-344 : UPSTREAM: Thumb bootstrap failure with LRA
- Pinged for THUMB_SECONDARY_INPUT_RELOAD_CLASS patch review
- Validate and post patch for PR58785:
http://gcc.gnu.org/ml/gcc-patches/2013-11/msg02459.html
o TCWG-345 : Analyse performance of LRA for ARM
- Analysing results mismatch between 2 pandas
- Configured and ran spec2000 on Chromebook
- Analysis ongoing
== Next ==
* Continue on LRA
* Reviews
== Progress ==
* Released GCC 4.7 and 4.8 2013.11 releases.
* Investigated potential regressions on trunk, as reported by
continuous cross-validation.
Reported some cases to Kyryll. Another, reported to Bin, turns out
to be an unrelated, unstable testcase recently introduced.
Will have to give a closer look at big-endian tests.
* Updated libsanitizer patch for AArch64. It builds again but is not
functional yet (running in the Foundation model currently); getting
support from libsanitizer developers. Support for AArch64 will have to
be committed in LLVM, and merged into GCC later. I'm going to continue
prototyping under GCC though, and will submit changes to the
libsanitizer team when ready.
* GNU tar regression (extended_negsidi pattern): posted bugzilla,
fixed by Richard.
* cbuildv2: gave another try, pointing to staging.g.l.o, to discover
that it was outdated too. Rob has fixed it since then.
* Backports: gave some support to Michael Collison to help him get to speed.
Prepared backport of Zhenqiang's "enhance phiopt
to handle BIT_AND_EXPR" (TCWG -303)
== Next ==
* Resume "disable-peeling" work. Mostly check that the current trunk
contains what we want.
* cbuildv2: retry to create source release 2013.11
* Backports: commit TCWG-303, and Charles' backport of his testsuite fix
look at the others in the list.
* libsanitizer for AArch64: make it functional
== Progress ==
* GDB ARM Process Record:
- Completed work on arm process record Advance SIMD, vfp and coprocessor
instruction recording.
- Submitted initial patch for SIMD. VFP and coprocessor instruction
decoding.
- Resubmitted previous patches after incorporating suggestions.
- Resolved patch line wrap issues and formating issues.
* Macau visa and travel planning
* Got started with using concur
== Plan ==
* GDB ARM Process Record:
- Follow up on previous patches.
- Test VFP, SIMD and other advance instruction types recording.
- Fix issues and submit their fixes if any.
* Run GDB testsuite in various configurations and analyze failures.
== Progress ==
* Created 32 bit chroots on all 6 TCWG build machines, did test
toolchain builds via Cbuildv2, including a Canadian cross. I
tested the win32 executables with wine and they work.
* Setup all 6 TCWG build farm chromebooks to be able to do native
builds and run tests with Cbuildv2.
* Multiple discussions with LAVA team about Jenkins, Gerrit, LAVA,
and GIT repositories. We need to have LAVA & Jenkins installed on
our new x86_64 build machines in a way they can do builds in a
32 bit chroot.
* Got Gerrit working with GCC and Cbuildv2 GIT repositories on
staging.git.linaro.org, and merge requests ala 'git review' now
work and can get approved. (Thanks to Milo)
* Got the GCC git repository on staging to be in sync with upstream
finally, as it wasn't auto updating. (Thanks to Milo)
* Modified Cbuildv2 to get the host and build architectures right
when building in a 32 bit chroot on a 64 bit build machine.
* Fixed other weird issues in Cbuildv2 when building in a 32 bit
chroot on an x86_64 platform.
* Started process to get Kugan access to the APM board for
benchmarking.
* Got Jenkins doing builds and test runs on the new TCWG build
machines.
== Plan ==
* Get back to remote chromebook testing support for build machines.
* Debug why 32 bit binary tarballs made in a chroot won't run when
installed on an x86_64 system.
* Probably more TCWG build farm admin issues.
== Progress ==
- libssp gcc
- Posted RFC patch to community. Addressing gcc/glibc compatibility issues.
- libssp glibc
- Working on exporting stack_chk_guard in Aarch64 along with TLS
stack guard support.
== Plan ==
- post RFC patches (version 2) for glibc and gcc libssp
== Issues ==
* None.
== Progress ==
* Commit the patch to support S2_<op1>_<Cn>_<Cm>_<op2> system register
in AARCH64 GAS.
* Identify the issue files in parallel build fail (PR57683) and
backport r197467 and r198999 to FSF GCC 4.8.
* Verify Linaro crosstool-ng to make sure Fortran is supported in all builds.
* Try PGO build for ifcombine heuristics. But got "the control flow of
function .. does not match its profile data".
* Investigate loop-invariant heuristics and rtx cost to select
SYMBOL_REF. But tests did not show performance gain.
* Investigate Coremark conditional compare issue in Cortext-M since
the BRANCH_COST is 1.
== Plan ==
* Continue on CCMP.
* Discuss ifcombine heuristics with upstream.
== Planed leaves ==
* Dec 3 & 5: Annual leaves
== Progress ==
- cbuild2 benchmarking
- Done the initial frame work (just with one benchmark) and sent out
for review
- 64bit division for ARMv7-A
- Posted the patch and added target hook documentation required
== Plan ==
- Address zero/extension review comments
- post 64bit divide patch with the required documentation
- investigative bootstrapping issues
- still waiting for h/w access
On 21 November 2013 07:12, Karlsson, Magnus <Magnus.Karlsson(a)lsi.com> wrote:
> Just wondering if somebody could point me to a good document on how the heap
> reclamation algorithm works for memory allocated in a user space program
> using the regular malloc/calloc functions.
Section 7.1.3, whose sub-sections include: "Implementation of malloc()
and free()", "Tools and libraries for malloc debugging", and
"Controlling and monitoring the malloc package", of Michael Kerrisk's
"The Linux Programming Interface" (http://man7.org/tlpi/index.html) is
one of the better reads of which I'm aware. He recommends reading the
man pages for malloc_info, malloc_stats, mallopt, and mallinfo (among
others) for more information.
In the C language, reclamation of allocated memory is usually driven
by the application. When you free() some memory, internal structures
know the size of what was previously allocated at the given location
(i.e. what was given to you by malloc()) and simply release that back
into the heap. There are ways to tweak the allocation of memory.