LLVMLinux: Embracing the Dragon
|
|
- August Lawson
- 8 years ago
- Views:
Transcription
1 LLVMLinux: Embracing the Dragon Presented by: Behan Webster ( lead) Presentation Date:
2 Clang/LLVM LLVM is a Toolchain Toolkit (libraries from which compilers and related technologies can be built) Clang is a C/C++ toolchain
3 New Clang Benchmarks (compilation) Timed ImageMagick Compilation v Time To Compile Seconds, Less Is Better OpenBenchmarking.org GCC SE +/ GCC RC SE +/ LLVM Clang SE +/ Powered By Phoronix Test Suite
4 New Clang Benchmarks (execution) ebizzy v0.3 Records/s Seconds, More Is Better OpenBenchmarking.org GCC SE +/ GCC RC SE +/ LLVM Clang SE +/ Powered By Phoronix Test Suite (CC) gcc options: -pthread -lpthread -O3 -march=native
5 Other Interesting LLVM Related Projects Clang Static Analyzer Energy consumption analysis of programs using LLVM CUDA llvmpipe (Galium3D) OpenCL (most implementations are based on LLVM) Clang is one of the Android NDK compilers Renderscript in Android is based on LLVM Code transformation tools
6 The LLVMLinux Project Goals Fully build the Linux kernel for multiple architectures, using the Clang/LLVM toolchain Discover LLVM/Kernel issues early and find fixes quickly across both communities Upstream patches to the Linux Kernel and LLVM projects Bring together like-minded developers Enable the kernel community to do more in depth analysis of the kernel code
7 LLVMLinux Build/Test System Fetches, patches, builds, tests: clang, kernel, qemu, etc git clone cd llvmlinux/target/vexpress (or x86_64) make
8 Patched Mainline Kernel Tree A mainline kernel tree with all LLVMLinux patches applied on top is now available: git://git.linuxfoundation.org/llvmlinux/kernel.git Dated llvmlinux branches remotes/origin/llvmlinux The master branch is rebased regularly
9 Supported Architectures X86 (i586 and x86_64) ARM AARCH64 And now MIPS (Work in progress)
10 Linux-Next now has a branch which is pulled into Linux-Next git://git.linuxfoundation.org/llvmlinux/kernel.git remotes/origin/for-next Broader testing of our patches by more people Last step before being submitted to mainline
11 Improved Buildbot Farm New better buildbot master 4 slave build servers (2 more on the way) More CI builds for targets are in the works Configs for known good compiler versions and kernels
12 Other Avenues of Interest Clang Static Analysis of the Linux kernel Kernel specific Checkers (GSoC) Compiling the Android kernel and AOSP with clang Supporting Linaro LLVM team Adding clang support to yocto Building better tools based on LLVM for the kernel community
13 LLVMLinux Project Status LLVM/clang: All LLVMLinux patches for LLVM are Upstream Newer LLVM patches to support the Linux kernel are mostly being added by upstream maintainers Linux Kernel: Roughly 47 kernel patches for various arches LLVMLinux branch in linux-next
14 Kernel Patches Patches still working their way upstream Architecture all arm aarch64 x86_64 TOTALS Number of patches Submitted
15 Kbuild Basic Kbuild support for clang and x86 has been upstreamed Specific support for ARM and aarch64 ready to be upstreamed
16 Integrated Assembly Status David Woodhouse added.code16 support for X86 ASM Renato Golin, Vicinius Tinti, Saleem Abdulrasool and Stepan Dyatkovskiy are working on fixing IA issues in clang to support the Linux ARM kernel code (and ultimately AARCH64) For now we disable the IA and use GNU as instead
17 Different option passing gcc passes -march to GNU as clang doesn't... (Bug submitted PR) -CFLAGS_aes-ce-cipher.o += -march=armv8-a+crypto +CFLAGS_aes-ce-cipher.o += -march=armv8-a+crypto -Wa,-march=armv8-a+crypto
18 extern inline: Different for gnu89 and gnu99 GNU89/GNU90 (used by gcc) Function will be inlined where it is used No function definition is emitted A non-inlined function may also be provided GNU99/C99 (used by clang) Function will be inlined where it is used An external function is emitted No other function of the same name may be provided. Solution? Use static inline instead. Only still an issue for ARM support for ftrace (submitted)
19 Attribute Order gcc is less picky about placement of attribute (()) clang requires it at the end of the type or variable -struct read_mostly va_alignment va_align = { +struct va_alignment read_mostly va_align = {
20 Named Registers Named registers for X86 kernel have been fixed in mainline kernel by Andi Kleen clang now supports using a globally named register for the stack pointer For ARM/AARCH64 move to using a global in asm/thread_info.h register unsigned long current_stack_pointer asm ("sp");
21 ARM percpu patch One of the uses of Named Registers in the ARM code is due to a deficiency in gcc. The new code which works with gcc fails in clang. Solution, provide routines for both, and choose at compile time Gcc: asm("mrc p15, 0, %0, c13, c0, 4" : "=r" (off) : "Q" (*sp)); Clang: asm("mrc p15, 0, %0, c13, c0, 4" : "=r" (off) : : "memory");
22 Section Mismatch Issues (MergedGlobals) By default clang merges globals with internal linkage into one: MergedGlobals Allows globals to be addressed using offsets from a base pointer Can reduce the number of registers used Modpost uses symbol names to look for section mismatches MergedGlobals breaks modpost (false positive section mismatches) Current solution: use -mno-global-merge to stop global merging Updates to modpost may allow this optimization to be enabled again
23 Deprecated clang options clang options have been deprecated -KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior) +KBUILD_CFLAGS += $(call cc-option, -fsanitize=undefined-trap) +KBUILD_CFLAGS += $(call cc-option, -fsanitize-undefined-trap-on-error)
24 ARM eabi support Clang emits code which uses the aeabi ARM calls which are implemented in compiler-rt (equivalient to libgcc) Compiler-rt doesn't easily cross compile yet... void aeabi_memcpy(void *dest, const void *src, size_t n) void aeabi_memmove(void *dest, const void *src, size_t n) void aeabi_memset(void *s, size_t n, int c)
25 Variable Length Arrays In Structs VLAIS isn't supported by Clang (undocumented gcc extension) char vla[n]; /* Supported, C99/C11 */ struct { char flexible_member[]; /* Supported, C99/C11 */ } struct_with_flexible_member; struct { char vlais[n]; /* Explicitly not allowed by C99/C11 */ } variable_length_array_in_struct; VLAIS is used in the Linux kernel in a number of places, spreading mostly through reusing patterns from data structures found in crypto
26 VLAIS Removal Example - struct { - struct shash_desc shash; - char ctx[crypto_shash_descsize(hash)]; - } desc; + char desc[sizeof(struct shash_desc) + + crypto_shash_descsize(hash)] CRYPTO_MINALIGN_ATTR; + struct shash_desc *shash = (struct shash_desc *)desc; unsigned int i; - desc.shash.tfm = hash; + shash->tfm = hash; (from crypto/hmac.c)
27 VLAIS Removal Example (cont.) (the missing pieces) #define ARCH_KMALLOC_MINALIGN alignof (unsigned long long) #define CRYPTO_MINALIGN ARCH_KMALLOC_MINALIGN #define CRYPTO_MINALIGN_ATTR attribute (( aligned (CRYPTO_MINALIGN))) struct shash_desc { struct crypto_shash *tfm; u32 flags; void * ctx[] CRYPTO_MINALIGN_ATTR; };
28 Status of VLAIS in the Linux Kernel USB Gadget patch is in mainline Mac80211 patch is in mainline Netfilter patch is in mainline Only the VLAIS patches for crypto are left: (apparmor, btrfs, dm-crypt, hmac, libcrc32c, testmgr)
29 How Can You Help? Make it known you want to be able to use Clang to compile the kernel Test LLVMLinux patches Report bugs to the mailing list Help get LLVMLinux patches upstream Work on unsupported features and Bugs Submit new targets and arch support Patches welcome
30 Embrace the Dragon. He's cuddly. Thank you
31 Contribute to the LLVMLinux Project Project wiki page Project Mailing List IRC Channel #llvmlinux on OFTC LLVMLinux Community on Google Plus
Applying Clang Static Analyzer to Linux Kernel
Applying Clang Static Analyzer to Linux Kernel 2012/6/7 FUJITSU COMPUTER TECHNOLOGIES LIMITED Hiroo MATSUMOTO 管 理 番 号 1154ka1 Copyright 2012 FUJITSU COMPUTER TECHNOLOGIES LIMITED Abstract Now there are
More informationRISC-V Software Ecosystem. Andrew Waterman UC Berkeley waterman@eecs.berkeley.edu!
RISC-V Software Ecosystem Andrew Waterman UC Berkeley waterman@eecs.berkeley.edu! 2 Tethered vs. Standalone Systems Tethered systems are those that cannot stand alone - They depend on a host system to
More informationC Programming Review & Productivity Tools
Review & Productivity Tools Giovanni Agosta Piattaforme Software per la Rete Modulo 2 Outline Preliminaries 1 Preliminaries 2 Function Pointers Variadic Functions 3 Build Automation Code Versioning 4 Preliminaries
More informationValgrind BoF Ideas, new features and directions
Valgrind BoF Ideas, new features and directions Everybody! Valgrind developers and users are encouraged to participate by joining the discussion. And of course by kindly (or bitterly:) complain about bugs
More informationRED HAT DEVELOPER TOOLSET Build, Run, & Analyze Applications On Multiple Versions of Red Hat Enterprise Linux
RED HAT DEVELOPER TOOLSET Build, Run, & Analyze Applications On Multiple Versions of Red Hat Enterprise Linux Dr. Matt Newsome Senior Engineering Manager, Tools RED HAT ENTERPRISE LINUX RED HAT DEVELOPER
More informationDeveloping Embedded Linux Devices Using the Yocto Project
It s not an embedded Linux distribu2on It creates a custom one for you. Developing Embedded Linux Devices Using the Yocto Project Mark Hatle mark.hatle@windriver.com Wind River Systems September, 2012
More informationContinuous Integration/Testing and why you should assume every change breaks your code
MÜNSTER Continuous Integration/Testing and why you should assume every change breaks your code René Milk 4th November 2015 MÜNSTER Continuous Integration/Testing 2 /16 Not talking about C functions Continuous
More informationLLVM on IBM POWER processors A progress report
LLVM on IBM POWER processors A progress report Dr. Ulrich Weigand Senior Technical Staff Member GNU/Linux Compilers & Toolchain Date: Apr 29, 2013 2013 IBM Corporation and System z LLVM on IBM POWER processors
More informationDeveloping Embedded Linux Devices Using the Yocto Project
It s not an embedded Linux distribution It creates a custom one for you. Developing Embedded Linux Devices Using the Yocto Project David Stewart Intel Corporation October, 2011 Agenda What is the Yocto
More informationStatus and Direction of Kernel Development
Status and Direction of Kernel Development Andrew Morton Linux Foundation Japan Linux Symposium 2008 July 2008 Page 1 of 18 Overview Process The linux-next
More informationIOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center
IOTIVITY AND EMBEDDED LINUX SUPPORT Kishen Maloor Intel Open Source Technology Center Outline Brief introduction to IoTivity Software development challenges in embedded Yocto Project and how it addresses
More informationSoftware configuration management
Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2015-09-30 2 Maintenance Requirements System Design (Architecture,
More informationumps software development
Laboratorio di Sistemi Operativi Anno Accademico 2006-2007 Software Development with umps Part 2 Mauro Morsiani Software development with umps architecture: Assembly language development is cumbersome:
More informationLaboratorio di Sistemi Operativi Anno Accademico 2009-2010
Laboratorio di Sistemi Operativi Anno Accademico 2009-2010 Software Development with umps Part 2 Mauro Morsiani Copyright Permission is granted to copy, distribute and/or modify this document under the
More informationBinary compatibility for library developers. Thiago Macieira, Qt Core Maintainer LinuxCon North America, New Orleans, Sept. 2013
Binary compatibility for library developers Thiago Macieira, Qt Core Maintainer LinuxCon North America, New Orleans, Sept. 2013 Who am I? Open Source developer for 15 years C++ developer for 13 years Software
More informationFive standard procedures for building the android system. Figure1. Procedures for building android embedded systems
Standard Operating Procedures for Android Embedded Systems Anupama M. Kulkarni, Shang-Yang Chang, Ying-Dar Lin National Chiao Tung University, Hsinchu, Taiwan November 2012 Android is considered to be
More informationVersion Control using Git and Github. Joseph Rivera
Version Control using Git and Github Joseph Rivera 1 What is Version Control? Powerful development tool! Management of additions, deletions, and modifications to software/source code or more generally
More informationFully Automated Static Analysis of Fedora Packages
Fully Automated Static Analysis of Fedora Packages Red Hat Kamil Dudka August 9th, 2014 Abstract There are static analysis tools (such as Clang or Cppcheck) that are able to find bugs in Fedora packages
More informationThe care of open source creatures. Vincent Sanders
The care of open source creatures Vincent Sanders What am I on about? An examination of: What a services a project ought to have What options exist to fulfil those requirements A practical look at some
More informationCommon Errors in C/C++ Code and Static Analysis
Common Errors in C/C++ Code and Static Analysis Red Hat Ondřej Vašík and Kamil Dudka 2011-02-17 Abstract Overview of common programming mistakes in the C/C++ code, and comparison of a few available static
More informationWIND RIVER DIAB COMPILER
AN INTEL COMPANY WIND RIVER DIAB COMPILER Boost application performance, reduce memory footprint, and produce high-quality, standards-compliant object code for embedded systems with Wind River Diab Compiler.
More informationgcc link time optimization and the Linux kernel Andi Kleen Intel OTC Apr 2013 andi@firstfloor.org
gcc link time optimization and the Linux kernel Andi Kleen Intel OTC Apr 2013 andi@firstfloor.org Acknowledgments Lots of people helped/contributed Ralf Baechle, Richard Biener, Tim Bird, Honza Hubicka,
More informationStacey D. Son Consultant/SRI International. BSDCan Developer s Summit 15-May-2013
CTSR Trustworthy Systems Research and CTSRDCRASH-worthy Development Cross Building Packages Stacey D. Son Consultant/SRI International BSDCan Developer s Summit 15-May-2013 Approved for public release.
More informationTýr: a dependent type system for spatial memory safety in LLVM
Týr: a dependent type system for spatial memory safety in LLVM Vítor De Araújo Álvaro Moreira (orientador) Rodrigo Machado (co-orientador) August 13, 2015 Vítor De Araújo Álvaro Moreira (orientador) Týr:
More informationAndroid Development: a System Perspective. Javier Orensanz
Android Development: a System Perspective Javier Orensanz 1 ARM - Linux and Communities Linux kernel GNU Tools 2 Linaro Partner Initiative Mission: Make open source development easier by delivering a common
More informationCompilers and Tools for Software Stack Optimisation
Compilers and Tools for Software Stack Optimisation EJCP 2014 2014/06/20 christophe.guillon@st.com Outline Compilers for a Set-Top-Box Compilers Potential Auto Tuning Tools Dynamic Program instrumentation
More informationVersion Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF
1 Version Control with Svn, Git and git-svn Kate Hedstrom ARSC, UAF 2 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
More informationQEMU, a Fast and Portable Dynamic Translator
QEMU, a Fast and Portable Dynamic Translator Fabrice Bellard Abstract We present the internals of QEMU, a fast machine emulator using an original portable dynamic translator. It emulates several CPUs (x86,
More informationUsing Code Coverage Tools in the Linux Kernel
Using Code Coverage Tools in the Linux Kernel Nigel Hinds Paul Larson Hubertus Franke Marty Ridgeway { nhinds, plars, frankeh, mridge } @ us.ibm.com Defining software reliability is hard enough, let alone
More informationGoing Linux on Massive Multicore
Embedded Linux Conference Europe 2013 Going Linux on Massive Multicore Marta Rybczyńska 24th October, 2013 Agenda Architecture Linux Port Core Peripherals Debugging Summary and Future Plans 2 Agenda Architecture
More informationAndroid Renderscript. Stephen Hines, Shih-wei Liao, Jason Sams, Alex Sakhartchouk srhines@google.com November 18, 2011
Android Renderscript Stephen Hines, Shih-wei Liao, Jason Sams, Alex Sakhartchouk srhines@google.com November 18, 2011 Outline Goals/Design of Renderscript Components Offline Compiler Online JIT Compiler
More informationRelease Notes for Open Grid Scheduler/Grid Engine. Version: Grid Engine 2011.11
Release Notes for Open Grid Scheduler/Grid Engine Version: Grid Engine 2011.11 New Features Berkeley DB Spooling Directory Can Be Located on NFS The Berkeley DB spooling framework has been enhanced such
More informationMOOSE-Based Application Development on GitLab
MOOSE-Based Application Development on GitLab MOOSE Team Idaho National Laboratory September 9, 2014 Introduction The intended audience for this talk is developers of INL-hosted, MOOSE-based applications.
More informationFrysk The Systems Monitoring and Debugging Tool. Andrew Cagney
Frysk The Systems Monitoring and Debugging Tool Andrew Cagney Agenda Two Use Cases Motivation Comparison with Existing Free Technologies The Frysk Architecture and GUI Command Line Utilities Current Status
More informationCSC230 Getting Starting in C. Tyler Bletsch
CSC230 Getting Starting in C Tyler Bletsch What is C? The language of UNIX Procedural language (no classes) Low-level access to memory Easy to map to machine language Not much run-time stuff needed Surprisingly
More informationkgraft Live patching of the Linux kernel
kgraft Live patching of the Linux kernel Vojtěch Pavlík Director SUSE Labs vojtech@suse.com Why live patching? Common tiers of change management: 1. Incident response (we're down, actively exploited )
More informationCommon clock framework: how to use it
Embedded Linux Conference 2013 Common clock framework: how to use it Gregory CLEMENT Free Electrons gregory.clement@free-electrons.com Free Electrons. Kernel, drivers and embedded Linux development, consulting,
More informationVersion Control with Git. Kate Hedstrom ARSC, UAF
1 Version Control with Git Kate Hedstrom ARSC, UAF Linus Torvalds 3 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
More informationSecurity types to the rescue
Security types to the rescue p. 1 Security types to the rescue David Wagner and Rob Johnson {daw,rtjohnso}@cs.berkeley.edu University of California, Berkeley Security types to the rescue p. 2 Problem statement
More informationVirtual Servers. Virtual machines. Virtualization. Design of IBM s VM. Virtual machine systems can give everyone the OS (and hardware) that they want.
Virtual machines Virtual machine systems can give everyone the OS (and hardware) that they want. IBM s VM provided an exact copy of the hardware to the user. Virtual Servers Virtual machines are very widespread.
More informationMatrixSSL Porting Guide
MatrixSSL Porting Guide Electronic versions are uncontrolled unless directly accessed from the QA Document Control system. Printed version are uncontrolled except when stamped with VALID COPY in red. External
More informationYocto Project ADT, Eclipse plug-in and Developer Tools
Yocto Project ADT, Eclipse plug-in and Developer Tools Jessica Zhang LinuxCon - Japan Tokyo 2013 Agenda The Application Development Toolkit Usage Flow And Roles Yocto Project Eclipse Plug-in Interacts
More informationDistributed Version Control
Distributed Version Control Faisal Tameesh April 3 rd, 2015 Executive Summary Version control is a cornerstone of modern software development. As opposed to the centralized, client-server architecture
More informationEMSCRIPTEN - COMPILING LLVM BITCODE TO JAVASCRIPT (?!)
EMSCRIPTEN - COMPILING LLVM BITCODE TO JAVASCRIPT (?!) ALON ZAKAI (MOZILLA) @kripken JavaScript..? At the LLVM developer's conference..? Everything compiles into LLVM bitcode The web is everywhere, and
More informationEmbedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C 1 An essential part of any embedded system design Programming 2 Programming in Assembly or HLL Processor and memory-sensitive
More informationIntroduction to Version Control
Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Winter semester 2014 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline
More informationLecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com
CSCI-UA.0201-003 Computer Systems Organization Lecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Some slides adapted (and slightly modified)
More informationI Control Your Code Attack Vectors Through the Eyes of Software-based Fault Isolation. Mathias Payer, ETH Zurich
I Control Your Code Attack Vectors Through the Eyes of Software-based Fault Isolation Mathias Payer, ETH Zurich Motivation Applications often vulnerable to security exploits Solution: restrict application
More informationEmbedded Linux Platform Developer
Embedded Linux Platform Developer Course description Advanced training program on Embedded Linux platform development with comprehensive coverage on target board bring up, Embedded Linux porting, Linux
More informationDevelopment With ARM DS-5. Mervyn Liu FAE Aug. 2015
Development With ARM DS-5 Mervyn Liu FAE Aug. 2015 1 Support for all Stages of Product Development Single IDE, compiler, debug, trace and performance analysis for all stages in the product development
More informationCS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
More informationUsing Intel C++ Compiler in Eclipse* for Embedded Linux* targets
Using Intel C++ Compiler in Eclipse* for Embedded Linux* targets Contents Introduction... 1 How to integrate Intel C++ compiler with Eclipse*... 1 Automatic Integration during Intel System Studio installation...
More informationAndroid Sensors 101. 2014 This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. CC-BY Google
Android Sensors 101 Atilla Filiz atilla@mind.be 2014 This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License CC-BY Google These slides are made available to you under
More informationLinux Foundation Automotive Summit - Yokohama, Japan
It s not an embedded Linux distribution It creates a custom one for you. The Yocto Project Linux Foundation Automotive Summit - Yokohama, Japan Tracey M. Erway The Yocto Project Advocacy and Communications
More informationVisualizing Information Flow through C Programs
Visualizing Information Flow through C Programs Joe Hurd, Aaron Tomb and David Burke Galois, Inc. {joe,atomb,davidb}@galois.com Systems Software Verification Workshop 7 October 2010 Joe Hurd, Aaron Tomb
More informationRVDS 3.x with Eclipse IDE
RVDS 3.x with Eclipse IDE Title Keywords Abstract Integrated Development Environment Eclipse and RVDS Eclipse, RVDS This is a guide for setting up RVDS development environment on the basis of Eclipse IDE.
More informationReminders. Lab opens from today. Many students want to use the extra I/O pins on
Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students
More informationData Types in the Kernel
,ch11.3440 Page 288 Thursday, January 20, 2005 9:25 AM CHAPTER 11 Data Types in the Kernel Chapter 11 Before we go on to more advanced topics, we need to stop for a quick note on portability issues. Modern
More informationComputer Forensics. Torbjörn Pettersson 2007 2007-04-19. Torbjörn Pettersson. Archive, CCC. Title Cryptographic key recovery from Linux memory dumps
Computer Forensics Title Cryptographic key recovery from Linux memory dumps Torbjörn Pettersson 2007 Doc. ID Author Distribution Torbjörn Pettersson Archive, CCC Version Saved A 2007-04-19 Preface Contents
More informationInteger Set Library: Manual
Integer Set Library: Manual Version: isl-0.15 Sven Verdoolaege June 11, 2015 Contents 1 User Manual 3 1.1 Introduction............................... 3 1.1.1 Backward Incompatible Changes...............
More informationObfuscatorreloaded. Pascal Junod HEIG-VD Julien Rinaldini HEIG-VD Marc Romanens- EIA-FR Jean-Roland Schuler EIA-FR
Obfuscatorreloaded Pascal Junod HEIG-VD Julien Rinaldini HEIG-VD Marc Romanens- EIA-FR Jean-Roland Schuler EIA-FR Application Security Forum - 2012 Western Switzerland 7-8 novembre 2012 - Y-Parc / Yverdon-les-Bains
More informationAndroid Programming and Security
Android Programming and Security Dependable and Secure Systems Andrea Saracino andrea.saracino@iet.unipi.it Outlook (1) The Android Open Source Project Philosophy Players Outlook (2) Part I: Android System
More informationSQLITE C/C++ TUTORIAL
http://www.tutorialspoint.com/sqlite/sqlite_c_cpp.htm SQLITE C/C++ TUTORIAL Copyright tutorialspoint.com Installation Before we start using SQLite in our C/C++ programs, we need to make sure that we have
More informationPattern Insight Clone Detection
Pattern Insight Clone Detection TM The fastest, most effective way to discover all similar code segments What is Clone Detection? Pattern Insight Clone Detection is a powerful pattern discovery technology
More informationResearch and Design of Universal and Open Software Development Platform for Digital Home
Research and Design of Universal and Open Software Development Platform for Digital Home CaiFeng Cao School of Computer Wuyi University, Jiangmen 529020, China cfcao@126.com Abstract. With the development
More informationCloud Computing Performance Benchmarking Report. Comparing ProfitBricks and Amazon EC2 using standard open source tools UnixBench, DBENCH and Iperf
Cloud Computing Performance Benchmarking Report Comparing and Amazon EC2 using standard open source tools UnixBench, DBENCH and Iperf October 2014 TABLE OF CONTENTS The Cloud Computing Performance Benchmark
More informationChannel Access Client Programming. Andrew Johnson Computer Scientist, AES-SSG
Channel Access Client Programming Andrew Johnson Computer Scientist, AES-SSG Channel Access The main programming interface for writing Channel Access clients is the library that comes with EPICS base Written
More informationNEON. Support in Compilation Tools. Development Article. Copyright 2009 ARM Limited. All rights reserved. DHT 0004A (ID081609)
NEON Support in Compilation Tools Development Article Copyright 2009 ARM Limited. All rights reserved. DHT 0004A () NEON Support in Compilation Tools Development Article Copyright 2009 ARM Limited. All
More informationNVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X
NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X DU-05348-001_v6.5 August 2014 Installation and Verification on Mac OS X TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2. About
More informationDeveloper Workshop 2015. Marc Dumontier McMaster/OSCAR-EMR
Developer Workshop 2015 Marc Dumontier McMaster/OSCAR-EMR Agenda Code Submission 101 Infrastructure Tools Developing OSCAR Code Submission: Process OSCAR EMR Sourceforge http://www.sourceforge.net/projects/oscarmcmaster
More informationHow To Write A Program In Anieme Frontend 2.3.2.2 (For A Non-Programmable Language)
The Insieme Compiler Frontend: A Clang-based C/C++ Frontend Master Thesis in Computer Science by Bernhard Höckner submitted to the Faculty of Mathematics, Computer Science and Physics of the University
More informationBusiness Life Path - Red Hat, CFS roadmap
The Kernel Report Vision 2007 edition Jonathan Corbet LWN.net corbet@lwn.net The Plan 1) A very brief history overview 2) The development process 3) Guesses about the future History 1 An extremely rushed
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer GIT
i About the Tutorial Git is a distributed revision control and source code management system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development.
More informationDeveloping tests for the KVM autotest framework
Lucas Meneghel Rodrigues lmr@redhat.com KVM Forum 2010 August 9, 2010 1 Automated testing Autotest The wonders of virtualization testing 2 How KVM autotest solves the original problem? Features Test structure
More informationCPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)
Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source
More informationAutomated Performance-Tracking of LLVMGenerated Code. Kristof Beyls LLVMdev meeting October 2015
Automated Performance-Tracking of LLVMGenerated Code Kristof Beyls LLVMdev meeting October 2015 1 Why bother? Most of us care about Top-Of-Trunk always being in a releasable state. For all/majority of
More informationRTI Monitoring Library Getting Started Guide
RTI Monitoring Library Getting Started Guide Version 5.1.0 2011-2013 Real-Time Innovations, Inc. All rights reserved. Printed in U.S.A. First printing. December 2013. Trademarks Real-Time Innovations,
More informationProject Discussion Multi-Core Architectures and Programming
Project Discussion Multi-Core Architectures and Programming Oliver Reiche, Christian Schmitt, Frank Hannig Hardware/Software Co-Design, University of Erlangen-Nürnberg May 15, 2014 Administrative Trivia
More informationHow To Write Portable Programs In C
Writing Portable Programs COS 217 1 Goals of Today s Class Writing portable programs in C Sources of heterogeneity Data types, evaluation order, byte order, char set, Reading period and final exam Important
More informationFor a 64-bit system. I - Presentation Of The Shellcode
#How To Create Your Own Shellcode On Arch Linux? #Author : N3td3v!l #Contact-mail : 4nonymouse@usa.com #Website : Nopotm.ir #Spcial tnx to : C0nn3ct0r And All Honest Hackerz and Security Managers I - Presentation
More informationMontaVista Linux 6. Streamlining the Embedded Linux Development Process
MontaVista Linux 6 WHITE PAPER Streamlining the Embedded Linux Development Process Using MontaVista Linux 6 to get the most out of open source software and improve development efficiencies ABSTRACT: The
More informationMatrixSSL Developer s Guide
MatrixSSL Developer s Guide This document discusses developing with MatrixSSL. It includes instructions on integrating MatrixSSL into an application and a description of the configurable options for modifying
More informationFast Arithmetic Coding (FastAC) Implementations
Fast Arithmetic Coding (FastAC) Implementations Amir Said 1 Introduction This document describes our fast implementations of arithmetic coding, which achieve optimal compression and higher throughput by
More informationGit Basics. Christian Hanser. Institute for Applied Information Processing and Communications Graz University of Technology. 6.
Git Basics Christian Hanser Institute for Applied Information Processing and Communications Graz University of Technology 6. March 2013 Christian Hanser 6. March 2013 Seite 1/39 Outline Learning Targets
More informationVersion control with GIT
AGV, IIT Kharagpur September 13, 2012 Outline 1 Version control system What is version control Why version control 2 Introducing GIT What is GIT? 3 Using GIT Using GIT for AGV at IIT KGP Help and Tips
More informationopensuse.org Build Service
opensuse.org Build Service Maintain one source for all Linux platforms Putting cross development support into OBS Martin Mohring 5e Datasoft GmbH martin.mohring@opensuse.org How to join such a FOSS project
More informationYocto Project Experience: Continuous Integration
Yocto Project Experience: Continuous Integration Mark Hatle Senior Member of Technical Staff Wind River Edinburgh, Scotland 23 Oct 2013 Agenda Our experiences as an OSV, productizing the Yocto Project
More informationIntroducing PgOpenCL A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child
Introducing A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child Bio Tim Child 35 years experience of software development Formerly VP Oracle Corporation VP BEA Systems Inc.
More informationCS 33. Multithreaded Programming V. CS33 Intro to Computer Systems XXXVII 1 Copyright 2015 Thomas W. Doeppner. All rights reserved.
CS 33 Multithreaded Programming V CS33 Intro to Computer Systems XXXVII 1 Copyright 2015 Thomas W. Doeppner. All rights reserved. Alternatives to Mutexes: Atomic Instructions Read-modify-write performed
More informationCloud Computing Performance. Benchmark Testing Report. Comparing ProfitBricks vs. Amazon EC2
Cloud Computing Performance Benchmark Testing Report Comparing vs. Amazon EC2 April 2014 Contents The Cloud Computing Performance Benchmark report is divided into several sections: Topics.Page Introduction...
More informationYocto Project Eclipse plug-in and Developer Tools Hands-on Lab
Yocto Project Eclipse plug-in and Developer Tools Hands-on Lab Yocto Project Developer Day San Francisco, 2013 Jessica Zhang Introduction Welcome to the Yocto Project Eclipse plug-in
More informationUsing Git for Project Management with µvision
MDK Version 5 Tutorial AN279, Spring 2015, V 1.0 Abstract Teamwork is the basis of many modern microcontroller development projects. Often teams are distributed all over the world and over various time
More informationRun-Time Type Checking for Binary Programs
Run-Time Type Checking for Binary Programs Michael Burrows 1, Stephen N. Freund 2, and Janet L. Wiener 3 1 Microsoft Corporation, 1065 La Avenida, Mountain View, CA 94043 2 Department of Computer Science,
More informationSoftware Development Processes For Embedded Development A checklist for efficient development using open-source tools
Software Development Processes For Embedded Development A checklist for efficient development using open-source tools Senior Embedded Software Architect Embedded evolution More processing power available
More informationLinux Powered Storage:
Linux Powered Storage: Building a Storage Server with Linux Architect & Senior Manager rwheeler@redhat.com June 6, 2012 1 Linux Based Systems are Everywhere Used as the base for commercial appliances Enterprise
More informationANDROID DEVELOPER TOOLS TRAINING GTC 2014. Sébastien Dominé, NVIDIA
ANDROID DEVELOPER TOOLS TRAINING GTC 2014 Sébastien Dominé, NVIDIA AGENDA NVIDIA Developer Tools Introduction Multi-core CPU tools Graphics Developer Tools Compute Developer Tools NVIDIA Developer Tools
More informationA Memory Model for Static Analysis of C Programs
A Memory Model for Static Analysis of C Programs Zhongxing Xu 1, Ted Kremenek 2, and Jian Zhang 1 1 State Key Laboratory of Computer Science Institute of Software Chinese Academy of Sciences xzx@ios.ac.cn
More informationLeak Check Version 2.1 for Linux TM
Leak Check Version 2.1 for Linux TM User s Guide Including Leak Analyzer For x86 Servers Document Number DLC20-L-021-1 Copyright 2003-2009 Dynamic Memory Solutions LLC www.dynamic-memory.com Notices Information
More information