Monday 21st November 2011
This month's meetings
<< < 2011 / 11 > >>
- Review action items from last meeting
892880 MIPS: link error with optspace
889984 libgcc FP routines missing DWARF CFI
831094 peeling interaction with set loop
- Next steps in 64 bit sync primitives
- Backports in general
- When to propose for 4.6, what effort
- Backport requests:
- -O3 performance
- Partial PRE?
- 64 bit operations?
- Getting multiarch patches into gcc-linaro
- Generic tuning benchmarks and possible triggers
- OpenOCD card
Action Items from Previous Meeting
- DONE: Michael to get perf everywhere
- DONE: Michael send links to the binaries of the the benchmarks
libgcc and optspace:
- Richard hasn't seen it before
- Is happy to have a look at it
- Keep as a Launchpad bug for it
libgcc and CFI:
- Strip debug information?
- or add CFI?
- Not having CFI is a bug that should be fixed
- Have the macros - use those or the libgcc bits and bytes macro versions?
- Which should we use? Should it be possible to build with another toolchain or assembler?
How old are the CFI directives? > a couple of years?
- Already tied to gas through the macros?
- ACTION: See how many versions of gas have support
- If its two or three or more then it's OK
- Does need to support coff but not with any random assembler
- Ubuntu package build:
- Strips all debug information and puts them into other packages
- Which is fine for shared, but if you link in from a static then that is stripped
- Does it strip the frame backtrace? (it shouldn't)
- On all other platforms eh_frame is kept, but ARM has something else that is similar
- Some ARM Inc tools use the debug data to generate exception handling
- Change binutils to not strip debug frame if target==ARM?
- Interpretation of the ABI is you should always generate debug frame
- Approximate with -fexceptions? No, as only generates ARM specific sections
- Can debug into statically linked libraries
- Can use to generate unwind data via the linker if the ARM exception tables aren't there
- Also isn't loaded
- Can unwind frames
- Is more precise unwinding - in theory can have at every instruction address
- Is more generic than ARM exception tables but more a theoretical difference
- ARM exceptions can only throw from call sites, not other instructions, or async like signal handlers
- Is it in our queue? How would it help an end developer or performance?
Peeling and a set loop:
- A set of eight words
- So few that peeling is a bad idea in general
- Checked with a cost model enabled and skipped due to too few iteration
- Ira will have a look into it
- How low can the alignment be?
- The A8 likes things to be quad word aligned (especially due to loads via the L2 bypass)
- Depends on the micro architecture
- Michael needs to re-run his micro benchmark
- Can specify the alignment
- Will fault if you do
- Is an advantage on the A8
- Might not be on the A9. Might remove one check though
Next steps in 64 bit sync primitives:
- Any other libraries/programs that use them?
- What is our policy?
- Strictest is that backports should be for regressions
- Andrew couldn't find the word 'regression'
- Backend maintainers do have some discression, low risk will be considered
- Michael's thoughts:
- Encourage author to backport
- Don't backport on speculation, only on direct request
- Backport ours if meets criteria
- How far back can you go to count it as a regression?
- Historically 2.95!
- Any bug fixes in ours that should be in FSF 4.6?
- NEON and post-increment was one
890657 send half looked big from Michael's point of view
- Richard had pinged but got no response
- Is a regression, but is it too invasive?
- No real work around
Might have approval at http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01933.html
714921 Michael to ping Julian, else propose a patch
WorkingGroups/ToolChain/Meetings/Archive/2011-11-21 (last modified 2013-08-30 11:49:07)