Hi,
When updating:
>From git://git.linaro.org/toolchain/binutils-gdb
e0f5246..336649d master -> linaro/master
I now get the following build error:
gdb/binutils/readelf.c: In function ‘process_mips_specific’:
gdb/binutils/readelf.c:13522:3: error: format ‘%lu’ expects argument of type
‘long unsigned int’, but argument 2 has type ‘size_t’ [-Werror=format=]
printf (_("<symbol index %lu exceeds number of dynamic symbols>"), i);
^
Thanks,
Cov
--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
Hi,
after the recent lkml thread on blacklisting some GCC versions (see
below) and the issue in identifying accurately our releases, I propose
to add some Linaro specific macros in our branches (i.e this patch
will not go upstream) to be able to check the Linaro version at
preprocessor time. It will not solve the kernel issue with 4.8.N but
hopefully help if such issues happen again the the futur.
http://thread.gmane.org/gmane.linux.ports.arm.omap/119412
What GCC has for the moment is 3 macros __GNUC__, __GNUC_MINOR__ and
__GNUC_PATCHLEVEL__ that are filled by parsing version number
contained in BASE-VER file, for instance on our 4.9 branch:
__GNUC__ = 4
__GNUC_MINOR__ = 9
__GNUC_PATCHLEVEL__ = 2
In our branches, the Linaro version number is in the LINARO-VERSION
file and has this format:
At release point : 4.9-2014.10
Head of our branch: 4.9-2014.10-1~dev
I want your (the team and users) point of view on the macros we need
to create from it. Here is the options I see:
A - Be fully Linaro consistent:
__LINARO_MAJOR__ = 4
__LINARO_MINOR__ = 9
__LINARO_YEAR__ = 2014
__LINARO_MONTH__ = 10
__LINARO_SPIN__ = 0 or N
__LINARO_STATE = 0 for release or 1 for dev
B - Only give information that are not in the __GNUC* macros:
__LINARO_YEAR__ = 2014
__LINARO_MONTH__ = 10
__LINARO_SPIN__ = 0 or N
__LINARO_STATE = 0 for release or 1 for dev
C - Be more concise:
__LINARO_VERSION__ = 201410
__LINARO_SPIN__ = 0 or N
__LINARO_STATE = 0 for release or 1 for dev
D - Even more:
__LINARO_VERSION__ = 201410N (with N the spin number)
__LINARO_STATE = 0 for release or 1 for dev
E - Hardcore conciseness:
__LINARO__ = 201410NM (N = SPIN M = state)
F - One of the previous ones without STATE information.
G - One of the previous ones without SPIN information.
Do you think it is something we need ?
Do we already have that kind of macros in some products (binutils,
gdb, glibc, ...) ?
What option do you prefer ?
My own feeling is that C+F is sufficient as STATE information is
useless for releases and I don't think dev builds checking have to be
used in another project. But SPIN information can be useful has we're
doing respin because an outstanding issue/improvement has to be
fixed/added to the current release, thus it is the kind of thing you
want to check if the version of the compiler you are using contains.
Thanks,
Yvan
Dear all concerned:
ARM has reported it's 53's bug:AArch64 multiply-accumulate instruction might produce incorrect result
and developed the patch descriped below. will the patch be backported to Linaro 4.9 this month's release.
https://gcc.gnu.org/ml/gcc-cvs/2014-10/msg00335.html
thanks
Peter
cbuild2 benchmarking - TCWG-360 [8/10]
* Scripts build SPEC 2006 tools on x86_64 and arm, not yet on AArch64
* Scripts cross-build for x86 to arm and aarch64
* Cross-built binaries refuse to run
Meetings/mail/etc - [2/10]
=Plan=
cbuild2 benchmarking
* Make cross-built binaries run, collect reports
* Build tools for AArch64 (lower priority)
libm exerising
* Work through list of benchmarks, see what I find
= Progress ==
* TCWG-544 - Investigate core mark performance with both at -O3 with LTO +
PGO (6/10)
* Misc [3/10]
emails, linaro and AMD meetings and 1-1 with inline manger.
1-1 with christophe.
* Tried to reproduce Bug 63653 (1/10)
== Plan ==
* Continue core mark performance with both at -O3 with LTO + PGO.
* Continue Bugfix 63653
== Progress ==
GDB Tracepoints/Fast Tracepoints support on arm [TCWG-480] [3/10]
-- Investigate arm hardware debugging capabilities in linux kernel.
ARM/AArch64 GDB testsuite failures investigation [TCWG-507] [4/10]
Trying out patches that add support for gdbserver catch vfork/fork
[TCWG-507] [2/10]
Miscellaneous [1/10]
-- Meetings, Emails etc
-- Annual Review 2014
== Plan ==
Monday/Tuesday Public Holidays in Pakistan.
Fix watchpoints-reuse-slot tests for arm somehow to allow skipping
unsupported tests
Also investigate the same on AArch64. [TCWG-507]
Re-submit some hanging patches after a bit of rework to grab attention.
== This week ==
* GCC Modularization Project (7/10)
- Decided on work near term work objectives with Andrew Macleod
- Began flattening header files
- gimple-streamer.h (complete)
- tree-streamer.h (complete)
- lto-streamer.h (complete)
- tree-core.h (In progress)
- cfgloop.h (In Progress
- df.h (In progress)
* Vector Extensions Project (2/10)
- Design work on C++ classes
- Call with Charles Baylis to discuss libvpx benchmark
* Misc. (1/10)
- Conference calls
- ARM required online training
== Next week ==
- Continue flattening of header files on GCC modularization project
- Further review of libvpx and vector extensions design work
== Progress ==
* Zero/sign extension elimination with widening types (TCWG-546 - 10/10)
- Fixed regression failures
- Fixed bootstrapping issues for ARM and AArch64
- Re-factored and added some comments
- x86-64 Bootstrapped and regression tested for all languages with
forced promotion. There is 6 differences in scanning for certain
instructions. All the execution tests are passing. Needs further
investigation.
== Plan ==
* Continue with Zero/sign extension pass.
- Benchmarking
- Get patch ready for upstream discussion
* Improve block memory operations by GCC (TCWG-142)
- Start work on this
== Progress ==
* GCC trunk/4.9 cross-validation (1/10)
- submitted a couple of patches to clean testsuite cases
* Neon intrinsic tests (1/10)
- submitted patch to avoid running the tests on ARM targets w/o Neon
- started adding new tests
- created 2 PR about intrinsic tests failing on AArch64_be
(1 assigned to Venkat, 1 to me)
* AArch64 sanitizer (1/10)
- submitted a patch upstream to allow supporting both older and newer kernels
No feedback so far.
* GCC 4.8 and 4.9 releases (3/10)
- preparing both releases including ARM's latest fixes for the A53 erratum
- had to respin mid-week after new fix was committed
- LINK_SPEC patch not committed yet in 4.8, and committed in 4.9
after I made the branch merge.
- now checking results with references. Several FAIL appear. TBC.
* cbuild2 schroot and master branches comparison (1/10)
- re-ran schroot branch after cleaning spurious "-static" flag left
in dejagnu configuration
- better results, faster
* Misc (3/10)
- calls, meetings
== Next ==
* GCC 4.8 and 4.9 releases: hopefully, after branch merge review
* AArch64 sanitizer
* Neon intrinsics tests update
* cbuild2:
- analyze previous results
- look at backport-test and tcwgweb scripts + logs