[llvmlinux] LLVMLinux Meeting 2013-08-01
Behan Webster
behanw at converseincode.com
Fri Aug 2 23:18:16 UTC 2013
LLVMLinux Project: http://llvm.linuxfoundation.org/
<http://llvm.linuxfoundation.org/>
This week the meeting was on Wednesday, August 1 2013 on Google Plus
Hangout at 15:00
UTC.<https://www.google.com/calendar/embed?src=su5vu85fj58ncfrgalmq4vbbf0%40group.calendar.google.com&ctz=GMT>
<https://www.google.com/calendar/embed?src=su5vu85fj58ncfrgalmq4vbbf0%40group.calendar.google.com&ctz=GMT>
If you haven't use G+ Hangouts before, make sure you have the appropriate
Chrome or Firefox plugin installed, and tested before the time of the
meeting. You can try a test hangout with me today before the meeting if you
want to. G+ recently changed, so hopefully that won’t be an issue for our
meeting.
-------------------------------------------------------------------------------------------------------------------------
Previous meeting’s top 2-3 work items:
-
This is what people said they’d be working on at the end of the last
meeting:
-
Behan
-
Remove make_kernel.sh
-
Concentrate on upstreaming kernel patches surrounding clang and
kbuild
-
Upstream ARM patches where possible
-
Eduard
-
Make final “initial” selection on checkers
-
Bring code into state ready for merge
-
Do merge after review
-
Jan-Simon
-
Upstream x86 boot blockers (based on Kernel HEAD and clang/llvm
v3.)
-
unbreak x86 buildbot
-
Fix build breakage on x86 (llvm/clang/head).
-
Tinti
-
Postponed for next meeting.
-------------------------------------------------------------------------------------------------------------------------
Agenda for this week:
-
(5 mins total) Everyone shared a quick summary of the progress they've
made from the last 4 weeks
-
Behan
-
Removed make_kernel.sh with only minimal breakage ;)
-
Worked on upstreaming kernel patches.
-
Helped Jan-Simon and Eduard with build related issues
-
Fixed several dependency bugs in the build system
-
A lot of work herding speakers for the LLVM uConf for Linux
Plumbers
-
Eduard
-
Code for scan-build + kbuild’s $CHECK pushed to master
-
Initial selection of checkers done
-
Working on selection of alpha-stage checkers
-
Jan-Simon
-
Fixed x86_64 boot with LLVM 3.3 . Issue found with help from
pipacs.
-
Prepared bot for deployment now as boot works - running scan-build
and exporting the results.
-
Found/Fixed issue with wound/wait mutex patchset. Uses
__builtin_constant_p probably wrong.
-
Tinti
-
Working on LLVM ARM inline issue.
-
(45 mins) General meeting discussions:
-
LLVM update (current wish list)
-
The decision during the last meeting was that for the near future (up
until Linux Plumbers at least) people should use LLVM/Clang v3.3 and
concentrate on upstreaming kernel fixes where ever possible. Since kernel
developers can now use a stock compiler, it’s important that we get the
kernel patches into mainline.
-
This doesn’t mean that people can’t work on LLVM/Clang, just that the
focus has moved from Clang to the kernel
-
Latest SVN/git Clang+LLVM is broken for ARM (Vinicius is working on
fixing this)
-
Clang+LLVM head for x86_64 is having SSE issues in Real mode at boot
time
-
We’ve confirmed that LLVM/Clang v3.3 works for ARM and x86_64 kernel
HEAD
-
Kernel Patch triage (highest priority now)
-
This should now be the focus of our combined efforts
-
If patches aren’t strictly necessary for the kernel to run with
clang, they should be set aside for now
-
Patches which remove false positive warnings should be kept in.
Kernel devs don’t want to see any unnecessary compiler noise.
-
The best way to participate in upstreaming patches is with the
following spreadsheet. Ask for access if you want to be able to update it
-
https://docs.google.com/spreadsheet/ccc?key=0Ao2VHhaw1DTqdERLUDBmVlpiY2pUNUlLa1k3ck1Zc1E#gid=0
-
Spreadsheet integrates with “make kernel-patch-status” in LLVMLinux
build
-
Patches will be sent to Bruce Ashfield (yocto) soon, so
non-upstreamable patches need fixing soon.
-
Pipacs has noted that more nested functions have been added to the
block cache (so we’ll need to patch that too)
-
X86_64 #1: w/w mutex patchset uses __builtin_constant_p which breaks
in clang.
-
Solution - just remove __builtin_constant_p . Probably not used in
a good way.
-
X86_64 #2: arch/x86/include/asm/uaccess.h uses a 32bit register in
get_user also on 64bit. Gcc just takes also the next register to
store it.
Clang goes by the book and truncates.
-
Solution - Use %rdx on 64bit istead of edx.
-
LLVMLinux build system
-
A number of dependency issues have been fixed recently
-
Also the make_kernel.sh scripts have been integrated into the
makefiles (and the old make_kernel.sh scripts have been deleted)
-
Also we can now create a checkpoint as follows which saves all the
patches and settings in order to build a particular version of the code.
Combined ideas from many people on the mailing list.
-
make CHECKPOINT=checkpoint_name checkpoint
-
Merged globals/section mismatches update
-
Still needs more investigation (has been lowe priority for many
months)
-
Investigation so far
https://lftraining.dyndns.org/pad/p/llvm-section-mismatch
-
These dropped attributes mess up where init and exit code is linked
which is causing the section mismatches
-
Try use clang with gnu89 and see what happens?
-
Tools
-
Clang Static Analyzer
-
New build targets have been added to LLVMLinux mainline:
kernel-scan-build and kernel-check-build
-
Full builds are currently failing due to apparent out-of-memory
problems
-
Jan-Simon has given Eduard access to a build machine with 32G of
memory in order to debug this.
-
Not sure whether scan-build (perl) or clang itself is the culprit
-
Eduard and Jan-Simon are working to find the issue
-
Jan-Simon points out there have been a number of memory leak fixes
to LLVM recently which might help.
-
The initial demo checker is still at:
http://buildbot.llvm.linuxfoundation.org/2013-06-17-1/
-
Jan-Simon is working on a better example built into the buildbot
which we can link to from the wiki
-
Still full of false positives. Will publish more widely when it’s
less noisy (Eduard is working on removing checkers which are
useless to the
kernel code base)
-
A current x86_64 checker build takes about 4 hours on Eduard’s
laptop
-
Still having issues with ARM cross compile with static analyzer
(but this will work eventually. Upstream bug.)
-
Raspberry Pi Update
-
USB hub driver is still broken
-
otherwise no change.
-
Cubieboard
-
no change
-
LLVM micro conference at Linux Plumbers Conference
-
Mark and Behan were asked to lead the LLVM Micro-conference at Linux
Plumbers Conference
-
http://wiki.linuxplumbersconf.org/2013:llvm
-
New link for submitting proposals to micro conference
-
http://www.linuxplumbersconf.org/2013/ocw/events/LPC2013/proposals
-
5 proposals have been submitted (2 more to come)
-
Everyone must register ASAP as there are only 300 attendees/speakers
at LPC each year.
-
Behan will contact everyone to make sure proposals + registrations
are in this week
-
Mark and Behan will review proposals and make suggestions next week.
-
(5 mins) Each meeting attendee listed the top 2 items to be worked on
for the next 2 weeks
-
Behan
-
LLVM uConf organization and proposal reviews
-
Upstreaming kernel patches
-
Update talk for LinuxConf North America
-
Eduard
-
Finalize checker selection
-
Once buildbot is start reaching out kernel hacker community
-
Try out tinti’s nexus4 images
-
Jan-Simon
-
x86 bot tonight
-
scan-build run + export
-
patch upstreaming
-
Tinti
-
Get ARM working from HEAD again
-
Add GDB tutorial on Wiki
Next meeting in 2-ish weeks. doodle poll to follow.
--
Behan Webster
behanw at converseincode.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/llvmlinux/attachments/20130802/f2361f5c/attachment-0001.html>
More information about the LLVMLinux
mailing list