Hi Linaro toolchain team,
I compiled linaro-toolchain 2013.06 by myself on fedora 18 x86_64,
everything works fine except GDB.
The error message is "Im sorry, Dave, I can't do that. Symbol format
`elf32-littlearm' unknown'."
I searched on google, and leads me to the page
https://bugs.launchpad.net/linaro-toolchain-binaries/+bug/918937
I configured linaro-toolchain to build a native gdb for arm platform, both
native gdb and cross-gdb can't work, they report the same error message.
Is there any way I can get the patch?
Please help me on this!
Thank you very much!
Yupeng Chang
July 05, 2013
Hi Michael,
I have fixed this issue.
I think there is a bug in crosstool-ng-1.13.1-2013.06.
In
crosstool-ng-1.13.1-2013.06/contrib/linaro/patches/gdb/linaro-7.6-2013.05,
there is a patch libintl-as-lib.patch, which adds -lintl to LDFLAGS of gdb,
however, in the 300-gdb.sh,
--without-included-gettext is used, this option makes libintl inside gdb
quit building, in this case, when checking ELF support in BFD, -lintl
cannot be found, this leads to fail.
In eglibc-2.17, intl lib is included in libc, --without-included-gettext is
reasonable to apply to gdb, which means libintl-as-lib.patch is no longer
needed, because this patch adds an option which will be no longer needed
for building gdb with eglibc-2.17
After I removed the patch, every thing works fine now, in gdb/config.log,
checking ELF support in BFD reports OK now.
Yupeng Chang
July 06 2013
On 6 July 2013 03:21, Michael Hope <michaelh(a)juju.net.nz> wrote:
> Hi there. I'm afraid I'm not working on gdb these days but it sounds like
> a configuration error. I suggest asking on
> linaro-toolchain(a)lists.linaro.org as they should be able to help.
>
> -- Michael
> On Jul 5, 2013 8:03 PM, "常桓" <changyp6(a)gmail.com> wrote:
>
>> Hi Michael,
>> Sorry for bothering you about a GDB issue.
>> I compiled linaro-toolchain 2013.06 by myself on fedora 18 x86_64,
>> everything works fine except GDB.
>> The error message is "Im sorry, Dave, I can't do that. Symbol format
>> `elf32-littlearm' unknown'."
>> I searched on google, and leads me to the page
>> https://bugs.launchpad.net/linaro-toolchain-binaries/+bug/918937
>>
>> On that page, you posted this is fixed, could you show me the fix?
>>
>> I configured linaro-toolchain to build a native gdb for arm platform,
>> both native gdb and cross-gdb can't work, they report the same error
>> message.
>>
>> Please help me on this!
>>
>> Thank you very much!
>>
>> Yupeng Chang
>> July 05, 2013
>>
>>
>>
>>
== Progress ==
* 2013.07 release preparation:
* remaining backports
* reverted 2 sets of patches from 2013.06
* started release process
* Worked on setting up an internal build + validation to monitor FSF
trunk on ARM
* Internal support
== Next ==
* All week at Connect
== Progress ==
* 4 day week (leave on Thursday)
* Pushed memcpy improvement to newlib.
* Found and fixed ARM IFUNC issue in glibc.
* memcpy merged into bionic but not yet used (see gerrit review).
* Pinged and applied gdb testsuite patch, only one left to apply.
* More work on malloc benchmarking.
* Preparation for Connect.
== Issues ==
* None.
== Plan ==
* Connect all week
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* Buildbots
- Prepared buildbot images, tested, setup is very quick and efficient
- Set up local buildmaster, two buildslaves doing self-hosting tests
- Each slave took 20 minutes setup time, including flashing SDCard
- Failures after a few hours running at 100% @ 1.2GHz @ < 26C
- Reducing to 920MHz does fix the problem, but this is not a solution
- Leaving the two pandas alive during Connect in hope they won't fail
* LNT Lencod
- Following up on Lencod stack corruption, we're closer to a solution
* Dibmod
- Didn't have much time to look at it properly, but my solution was over
simplified
- Will probably only look at it better after Connect
* Chromebook
- Had to re-install Ubuntu on it, using Raring (Saucy didn't work)
- Glad all my data is in the external hard-drive
* Others
- Added a doc about platform-specific tests that usually break the bots
http://llvm.org/docs/TestingGuide.html#platform-specific-tests
- LLVMLinux meeting, cross-compilation with Clang is almost impossible
- Haven't been able to review many patches, thanks to Tim, they kept going!
== Plan ==
* Connect whole next week
== After Connect ==
* Finish implementation AEABI divmod/udivmod calls
* Check why Phoronix result pages are not working
* Put self-hosting bots back on 920MHz mode in the Lab
Progress:
* misc:
** went through "aarch64 preparation" patchset (originally Alex's,
then modified by John), fixed a lot of issues/nits, and sent out
an updated version; this is now I think upstreamable-quality
except that it doesn't provide anything useful on its own.
** looked at the VirtualOpenSystems patchset for v8 KVM support in
QEMU; needs to be reconciled with John's work in the same area.
** Mans' LDA/STL patches now queued in target-arm.next to go upstream
** preparation for Connect
Plans:
* mach-virt
-- PMM
== Issues ==
* None
== Progress ==
* Investigate library dir issue in aarch64-linux-gnu release.
- Crosstool-ng should not link lib64 to lib.
- Eglibc used in Linaro release is too old. No configure to change
lib to lib64.
- Runtime tarball should not assume multiarch (aarch64 gcc does not
support it yet).
- When creating runtime tarball, use lib or lib64 bases on the TARGET.
* Fix misc issues in local conditional compare changes.
* Investigate how to optimize "c == '+' || c == '-'".
== Plan ==
* LCE13: July 8-12.
== Progress ==
* Short week (3 days off sick)
* Aarch64 frame growing downward: sent patch
* A few merges on Rob's behalf after approval by Yvan
* Prepared one more merge request
* Prepared for Connect
* Internal support
== Next ==
* Handle remaining backports for 4.8 release
* Disable peeling: resume work
== Issues ==
* None.
== Progress ==
* OE Launchpad bug #1192953 :
[g++ compilation terminated with error on Linaro-openembedded lamp image]
- Doko submitted a patch for that issue one year ago
- Mailing list pinged
* Launchpad bug #1186218 :
[kernel doesn't boot on Arndale/Nexus with Linaro GCC 4.8]
- Reproduced the build locally
- Need to have access to some hardware for further investigations
* LRA on ARM and AArch64:
- Fixed the issue, compiler now bootstrap
- Testing on-going before submission
* 2013-07 release:
- merge reviews
* LCE13:
- Connect registration done
- flight and hotel booked.
== Plan ==
* Merge review and release preparation
* LRA
== Progress ==
* Re-wrote gdb.dwarf2/dw2-error.exp and gdb.dwarf2/clztest.exp for arm.
* Investigated catch syscall patch in gdb patches to narrow down changes
required for arm.
* Continued with gathering documentation for future visas.
== Plan ==
* Test and fix failures due to optimization code in gdb.dwarf2/clztest.exp
for arm.
* Figure out a way to generate arm assembly for dwarf2/fission* gdb tests
using gcc.
* Further investigation arm requirements by going through catch syscall
patch for gdb on x86.
* Work with James to start UK and US visas for future visits.
Most of Last week spent on internal AMD work.
== Progress ==
* AArch64 LTO and PGO support.
LTO run for coremark and ran coremark on V8 model with and without the patch.
Ran perf on the model against the both the coremark binaries.
For non LTO, retired instructions seems to be less than the LTO one.
And PGO run for coremark did not emit any gcda file. Need to drill down further.
* AAarch64 testing
GCC runs still on going. Experimenting on spawning subtarget tests to
more than one V8 model.
== Plan ==
* Complete gcc testsuite with runs with trunk and trunk+gprof GCC patches.
* Continue LTO and PGO runs for AArch64
==issues==
* libssp support for AArch64
This work is currently in hold. Needed frame layout changes before
restarting.
== Progress ==
* spec2k comparison between ARM and x86
- Specfp on x86 has some failures in trunk
- Trying 4.8 now
- Analysed some of the benchmarks and documenting them
- continuing with the rest.
== Plan ==
* Continue with spec2k comparison between ARM and x86
== Issues ==
* None
== Progress ==
* Investigate big endian toolchain build in Linaro crosstool-ng.
- Fix an aarch64 triple name issue.
- Add Linaro armeb-linux-gnueabihf, aarch64_be-linux-gnu and
aarch64_be-none-elf configs for big endian builds.
- Please find the reference builds at:
http://cbuild.validation.linaro.org/build/crosstool-ng-linaro-1.13.1+bzr258…
* Design a test case for lp1189445 and revise the patch for review.
* Revise the shrink-wrap related fix for pr57637 and send out for review.
* Investigate lp:1194501 and lP:1194123
- lp:1194501 is confirmed a "tail call" issue, and also in trunk pr57731.
- lP:1194123 seams shrink-wrap related, since the case pass with
option -fno-shrink-wrap.
== Plan ==
* Continue on conditional compare.
Best Regards!
-Zhenqiang
== Progress ==
* Divmod patch
- Trying to regain knowledge about the SelectionDAG infrastructure
- Working with Tim and Joey, got a patch working, but seen some failures
in test-suite
- Will investigate and submit when all is clear
* Lencod in LNT
- Bug is a mix of ByVal with wrong spill offset, teams interacting
- Bug fixed by a side effect of another change, can't guarantee future
stability
* CBuild
- Patch merged, fired another LLVM benchmark, which failed the same way
- Not sure how to proceed here...
- Should I dig deep on the old CBuild?
- Or should I wait for CBuild2?
* Release Maintenance
- Talks about maintenance of old/current releases sparking on the list
- Bots, tests, benchmarks, release process will have to be followed for
those releases
- Binary & API compatibility kept, performance doesn't matter much, only
serious bugs fixed
- This will increase the cost of background duty on our team
* Other
- Reviewing some more patches
- Checking impact of a new alias analysis in the loop vectorizer, all good
- EuroLLVM 2014 meeting
- Long discussions about pre-UAL support in LLVM: Short answer: no.
- Someone else will look at PerfDB analysis, one less thing to do
- Got the Buildbot Pandas home, will look at them next week
== Issues ==
* After using all my RAM all the time, for a week, I found a fault on it
which prompted kernel panic and stopped my laptop from booting. Luckily, it
was just one of the two chips, and even better, it has a lifetime
guarantee! But I'll only get a new one after Connect... :(
== Plan ==
* Finish implementation AEABI divmod/udivmod calls
* Carefully analyse what's the best configuration for the pandas and
produce a pre-packed image
* NOT put them back before they're stable, snapshot a known good
configuration
* But put TWO pandas as self-hosting (and leave Galina's alone)
Time allowing...
* Check why Phoronix result pages are not working
* Write about target-specific tests on TestingGuide.rst
* Write a thing or two about the optimization levels in LLVM for the
official docs
== Progress ==
* Some further work on AArch64 ifunc failure, no progress.
* Add some extra features to cortex-strings plotting capability.
* More memcpy gerrit review.
* Basic framework for testing and benchmarking malloc.
* Extracted glibc malloc from glibc.
* Pushed memcpy performance tweak to cortex-strings and newlib for review.
== Issues ==
* None.
== Plan ==
* Prepare for Connect.
* Resubmit memcpy to gerrit as requested.
* Respin AArch64 ifunc patches against latest head.
--
Will Newton
Toolchain Working Group, Linaro
Progress:
* VIRT-49 closed out (cp15 migration patches committed upstream)
* virtio:
** virtio-mmio patchset v1 now sent out to qemu-devel
* misc:
** fixed some instances of undefined behaviour (mostly shift related)
diagnosed by clang -fsanitize=undefined
** worked through upstream review backlog, sent target-arm and arm-devs
pullreqs
Plans:
* VirtualOpenSystems (sponsored by Huawei) have sent a patchset for
KVM support in QEMU for ARMv8; need to review this and reconcile it
with the Linaro work in progress in this area
* mach-virt
* preparation for Connect
-- PMM
== Issues ==
* None
== Progress ==
* Investigate conditional compare RTL representation.
- Fix new fails when expanding conditional compare to cmp_and/cmp_ior.
* Identify the root cause for pr57637.
== Plan ==
* Continue on conditional compare.
== Issues ==
* None.
== Progress ==
* OE Launchpad bug #1192953
- 4.8 g++ failed to find c++ included headers because of the
combined usage of --with-sysroot and --with-g++-include-dir
- Investigated the issue with Andrew McDermott
- found an existing OE workaround
* LRA on ARM and AArch64:
- Fixed AArch64 failure
- Moved to the new one
* Cbuild Babysitting
== Plan ==
* Merge review
* LRA
== Progress ==
* Started re-writing x86 assembly language gdb test cases for arm.
* Debugging watchpoints code to investigate issues on arm.
* Upgraded chromebook Ubuntu installation to a faster SD card.
* Tried to resolve various travel hurdles. Gathering different kind of
documents for future travel, submitted passport for extension etc.
== Plan ==
* Submit more gdb patches to mailing list.
* Wind up work on translation of gdb test cases in arm assembly.
* Further investigation about watchpoint issues on arm.
* Work on filing US and UK visit visas.
== Progress ==
* AArch64 LTO and PGO support.
Tweaked make file to run coremark on V8/openembedded model
Experimenting with PGO runs for coremark.
* AAarch64 testing
Set up Cross build and test in V8 model for GCC testsuites on one of
workstation in lab.
Completed g++ testsuite with V8 model for gcc trunk. Running gcc tests now.
* Installed Ubuntu 13.04 on Chrome book.
== Plan ==
* Complete gcc testsuite with runs with trunk and trunk+gprof GCC patches.
* Continue LTO and PGO runs for AArch64
* Linaro connect preparation, check VISA status.
==issues==
* libssp support for AArch64
This work is currently in hold. Needed frame layout changes before
restarting.
* Waiting for some inputs from Rob on Bootstrap issue with GCC on V8 model
== Progress ==
* Generate single call to divmod
- Addressed review comments
- Proposed a new patch for discussion
* spec2k comparison between ARM and x86
- Obtained Profile results for both architectures
- Analysing gzip and found some register allocation issues.
* VRP based zero/sign extension
- Still no review for rtl changes
- Pinged again
== Plan ==
* Continue with spec2k comparison between ARM and x86
== Progress ==
* Added support to cbuildv2 to handle merges from GCC trunk.
* Merged backports of 199694 199705 199733 199734 199739
199810 199814 199533 200019 200020 200061 200062 200096
200148 200152.
* Managed to survive making complex travel plans for the next few
weeks.
* Fixed eembc and denbench benchmarks so they work again.
== Plan ==
* Work on benchmarking & testing database, more graphs, write up
presentation.
* Fix running spec2000 benchmark, produce some results.
* Commit backports to svn as merges approved.
* Off on leave Wed till Connect. Will be 100% offline.
== Issues ==
* Backports of 199792, 199959 have major conflicts. Required patches
for these to be merged not in backports list.
* Turns out benchmarks have not worked for several months,
particularly spec2000 still doesn't want to run.
Still having the issue of FM/semi-hosting not catching seg-faults using
2013.06. With "aem-ve.specs", a fault seems to call main() repeatedly.
With "dimon.specs", FM hangs. Any ideas how to properly compile/deal with
faults in semi-hosting mode?
thanks,
Rory
=== hello.c ===
#include <stdio.h>
int
main(int argc, char *argv[])
{
printf("hello.\n");
* ((unsigned int *) 0) = 0; // cause seg-fault
return 0;
}
=== compile/run ===
.../gcc-linaro-aarch64-none-elf-4.8-2013.06_linux/bin/aarch64-none-elf-gcc -specs=aem-ve.specs -march=armv8-a -c hello.c
.../gcc-linaro-aarch64-none-elf-4.8-2013.06_linux/bin/aarch64-none-elf-gcc -o hello -specs=aem-ve.specs -march=armv8-a hello.o
.../Foundation_v8 --image hello --quiet --semihost-cmd=hello
hello.
hello.
hello.
hello.
hello.
...
== Progress ==
* Completed list of backports from trunk to linaro-4.8 for 2013.07
release and sent it to Rob.
* Merged backport of address sanitizer in linaro-4.8 branch
* Aarch64 frame growing downward: checking what really needs to be
changed in GCC. Documentation not very verbose :-)
* Various attemps to resurrect my old testsuite patch to be stricter
at excluding some unsupported configurations.
* Internal support
== Next ==
* Aarch64 frame growing downard.
* Disable peeling: make the vectorizer less aggressive
* Neon intrinsics/vuzip/veor: resume work
* Book hotel/flight for Connect.
== Progress ==
* Release 3.3
- Finally public
http://llvm.org/releases/download.html#3.3http://llvm.org/releases/3.3/docs/ReleaseNotes.html
* Pandaboard
- We lost two bots this week:
- linaro-panda-01: buildslave binary segfaults, needs fresh re-install?
- linaro-panda-02: GCC installation is broken, needs fresh install!!
- This means we need:
- At least two boards for each bot
- At least one extra board of each type, off-line to save power/space
- A standard Image on a gz file to flash & boot quickly, for each type
* Chromebook LNT
- Binary search on patch that broke the buildbot, found the culprit
- Reduced the problem, bug posted, discussing
http://llvm.org/bugs/show_bug.cgi?id=16393
* CBuild
- Built Clang+LLVM in CBuild, need benchmarks, sent a patch, waiting for
merge
* Phoronix results
- Adding them to internal (pw protected) website to avoid public confusion
- The numbers are meaningless for now and we don't want panic within the
general public:
http://people.linaro.org/toolchain-benchmarks/llvm/
- Visualization still broken. Works well only locally on Firefox. Why not
HTML? Why not PNG? Sigh...
* Administrativia / Others
- Lots of patches to review
- Auto-vectorizer now turned on by default on -O2 and -Os!
- Meeting with LLVMLinux folks, good progress, good plans, trying to get
more traction in that direction on Connect
- Trial of "ARM maintenance" backlog item:
http://llvm.org/bugs/show_bug.cgi?id=16387
== Plan ==
* Fix LNT bug
* Implement AEABI divmod/udivmod calls
* Try CBuild benchmark again (when patch merged)
* Carefully analyse what's the best configuration for the pandas and
produce a pre-packed image
* NOT put them back before they're stable
* But put TWO pandas as self-hosting (and leave Galina's alone)
* Check why Phoronix result pages are not working
Time allowing...
* Have a look at PerfDB
* Write a thing or two about the optimization levels in LLVM for the
official docs