[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