aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/compiler.h
AgeCommit message (Expand)AuthorFilesLines
2024-04-09compiler.h: Add missing quote in macro commentThorsten Blum1-1/+1
2024-03-22Merge tag 'loongarch-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ch...Linus Torvalds1-0/+9
2024-03-12Merge tag 'hardening-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-0/+39
2024-03-11LoongArch: Add ORC stack unwinder supportTiezhu Yang1-0/+9
2024-03-01compiler.h: Explain how __is_constexpr() worksKees Cook1-0/+39
2024-02-14Merge tag 'v6.8-rc4' into x86/percpu, to resolve conflicts and refresh the br...Ingo Molnar1-4/+9
2023-10-23x86/percpu: Introduce const-qualified const_pcpu_hot to micro-optimize code g...Uros Bizjak1-1/+1
2023-10-18compiler.h: move __is_constexpr() to compiler.hDavid Laight1-0/+8
2023-10-04compiler.h: unify __UNIQUE_IDNick Desaulniers1-4/+1
2023-05-17tracing: make ftrace_likely_update() declaration visibleArnd Bergmann1-3/+2
2022-11-02overflow: Introduce overflows_type() and castable_to_type()Kees Cook1-0/+1
2022-09-26treewide: Drop function_nocfiSami Tolvanen1-10/+0
2022-09-26cfi: Drop __CFI_ADDRESSABLESami Tolvanen1-2/+4
2022-08-29tracing: Define the is_signed_type() macro onceBart Van Assche1-0/+6
2022-04-22objtool: Add CONFIG_OBJTOOLJosh Poimboeuf1-3/+3
2022-03-15x86,objtool: Move the ASM_REACHABLE annotation to objtool.hPeter Zijlstra1-7/+0
2022-02-02x86/bug: Merge annotate_reachable() into _BUG_FLAGS() asmNick Desaulniers1-16/+5
2021-12-21compiler.h: Fix annotation macro misplacement with ClangJosh Poimboeuf1-2/+2
2021-09-15compiler.h: Introduce absolute_pointer macroGuenter Roeck1-0/+2
2021-06-30Merge tag 'clang-features-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-0/+10
2021-06-14CFI: Move function_nocfi() into compiler.hMark Rutland1-0/+10
2021-05-19compiler.h: Avoid using inline asm operand modifiersVasily Gorbik1-8/+14
2021-01-22jump_label: Do not profile branch annotationsSteven Rostedt (VMware)1-0/+2
2020-11-14compiler.h: fix barrier_data() on clangArvind Sankar1-2/+16
2020-10-25treewide: Convert macro and uses of __section(foo) to __section("foo")Joe Perches1-4/+4
2020-10-13compiler.h: avoid escaped section namesNick Desaulniers1-1/+1
2020-09-01compiler.h: Make __ADDRESSABLE() symbol truly uniqueJosh Poimboeuf1-1/+1
2020-08-03Merge tag 'core-headers-2020-08-03' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-53/+0
2020-07-24compiler.h: Move instrumentation_begin()/end() to new <linux/instrumentation....Ingo Molnar1-53/+0
2020-07-21compiler.h: Move compiletime_assert() macros into compiler_types.hWill Deacon1-41/+0
2020-07-21compiler.h: Split {READ,WRITE}_ONCE definitions out into rwonce.hWill Deacon1-91/+2
2020-06-25rcu: Fixup noinstr warningsPeter Zijlstra1-1/+1
2020-06-11compiler.h: Move function attributes to compiler_types.hMarco Elver1-29/+0
2020-06-11compiler.h: Avoid nested statement expression in data_race()Marco Elver1-5/+5
2020-06-11compiler.h: Remove data_race() and unnecessary checks from {READ,WRITE}_ONCE()Marco Elver1-11/+2
2020-06-11kcsan: Remove 'noinline' from __no_kcsan_or_inlineMarco Elver1-4/+2
2020-06-11Rebase locking/kcsan to locking/urgentThomas Gleixner1-11/+60
2020-06-10Merge branch 'rwonce/rework' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-79/+69
2020-06-05compiler.h: Enforce that READ_ONCE_NOCHECK() access size is sizeof(long)Will Deacon1-2/+5
2020-06-05READ_ONCE: Fix comment describing 2x32-bit atomicityWill Deacon1-3/+3
2020-06-01Merge tag 'core-kprobes-2020-06-01' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-0/+53
2020-05-19vmlinux.lds.h: Create section for protection against instrumentationThomas Gleixner1-0/+53
2020-05-15x86: Fix early boot crash on gcc-10, third tryBorislav Petkov1-0/+6
2020-05-08Merge branch 'kcsan-for-tip' of git://git.kernel.org/pub/scm/linux/kernel/git...Thomas Gleixner1-2/+2
2020-04-16READ_ONCE: Drop pointer qualifiers when reading from scalar typesWill Deacon1-3/+3
2020-04-16READ_ONCE: Enforce atomicity for {READ,WRITE}_ONCE() memory accessesWill Deacon1-3/+30
2020-04-16READ_ONCE: Simplify implementations of {READ,WRITE}_ONCE()Will Deacon1-79/+39
2020-04-13kcsan: Change data_race() to no longer require marking racing accessesMarco Elver1-2/+2
2020-04-13Merge tag 'v5.7-rc1' into locking/kcsan, to resolve conflicts and refreshIngo Molnar1-1/+1
2020-04-07compiler.h: fix error in BUILD_BUG_ON() reportingVegard Nossum1-1/+1
2020-03-21compiler.h, seqlock.h: Remove unnecessary kcsan.h includesMarco Elver1-2/+0
2020-03-21kcsan: Add docbook header for data_race()Paul E. McKenney1-6/+8
2020-01-07kcsan: Add __no_kcsan function attributeMarco Elver1-2/+5
2019-11-20kcsan: Improve various small stylistic detailsIngo Molnar1-1/+1
2019-11-16include/linux/compiler.h: Introduce data_race(expr) macroMarco Elver1-0/+20
2019-11-16kcsan: Add Kernel Concurrency Sanitizer infrastructureMarco Elver1-8/+29
2019-09-08include/linux/compiler.h: fix Oops for Clang-compiled kernelsNick Desaulniers1-4/+4
2019-07-09objtool: Add support for C jump tablesJosh Poimboeuf1-0/+5
2019-05-09tracing: Simplify "if" macro codeLinus Torvalds1-17/+18
2019-01-09include/linux/compiler*.h: fix OPTIMIZER_HIDE_VARMichael S. Tsirkin1-1/+3
2018-12-19Revert "x86/objtool: Use asm macros to work around GCC inlining bugs"Ingo Molnar1-43/+13
2018-11-05compiler: remove __no_sanitize_address_or_inline againMartin Schwidefsky1-1/+1
2018-11-01Merge tag 'compiler-attributes-for-linus-4.20-rc1' of https://github.com/ojed...Linus Torvalds1-11/+13
2018-10-28Merge tag 'vla-v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ke...Linus Torvalds1-16/+1
2018-10-19compiler.h: update definition of unreachable()ndesaulniers@google.com1-1/+4
2018-10-11compiler.h: give up __compiletime_assert_fallback()Masahiro Yamada1-16/+1
2018-10-04x86/objtool: Use asm macros to work around GCC inlining bugsNadav Amit1-13/+43
2018-09-30Compiler Attributes: remove uses of __attribute__ from compiler.hMiguel Ojeda1-6/+6
2018-09-30Compiler Attributes: KENTRY used twice the "used" attributeMiguel Ojeda1-1/+1
2018-09-30Compiler Attributes: remove unneeded sparse (__CHECKER__) testsMiguel Ojeda1-4/+0
2018-09-30Compiler Attributes: homogenize __must_be_arrayMiguel Ojeda1-0/+7
2018-09-30Compiler Attributes: always use the extra-underscores syntaxMiguel Ojeda1-4/+4
2018-09-30Compiler Attributes: remove unused attributesMiguel Ojeda1-4/+0
2018-08-22module: use relative references for __ksymtab entriesArd Biesheuvel1-0/+19
2018-08-22linux/compiler.h: don't use boolRasmus Villemoes1-1/+1
2018-06-04branch-check: fix long->int truncation when profiling branchesMikulas Patocka1-1/+1
2018-02-21bug.h: work around GCC PR82365 in BUG()Arnd Bergmann1-0/+5
2018-02-12Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert...Linus Torvalds1-0/+4
2018-02-08compiler-gcc.h: Introduce __optimize function attributeGeert Uytterhoeven1-0/+4
2018-02-01compiler.h: Add read_word_at_a_time() function.Andrey Ryabinin1-0/+8
2018-02-01compiler.h, kasan: Avoid duplicating __read_once_size_nocheck()Andrey Ryabinin1-8/+6
2017-12-12compiler.h: Remove ACCESS_ONCE()Mark Rutland1-36/+11
2017-11-14Merge branch 'linus' into core/objtool, to pick up dependent commitsIngo Molnar1-282/+4
2017-11-07objtool: Make unreachable annotation inline asms explicitly volatileJosh Poimboeuf1-8/+8
2017-11-07objtool: Add a comment for the unreachable annotation macrosJosh Poimboeuf1-0/+5
2017-11-07Merge branch 'linus' into locking/core, to resolve conflictsIngo Molnar1-2/+3
2017-11-04objtool: Prevent GCC from merging annotate_unreachable(), take 2Josh Poimboeuf1-2/+2
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-10-24locking/barriers: Kill lockless_dereference()Will Deacon1-20/+0
2017-10-24locking/barriers: Add implicit smp_read_barrier_depends() to READ_ONCE()Will Deacon1-0/+1
2017-10-24linux/compiler.h: Split into compiler.h and compiler_types.hWill Deacon1-262/+3
2017-09-04Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-0/+4
2017-09-04Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-1/+27
2017-08-31include/linux/compiler.h: don't perform compiletime_assert with -O0Joe Stringer1-1/+5
2017-08-26Merge branch 'linus' into x86/mm to pick up fixes and to fix conflictsIngo Molnar1-0/+5
2017-08-10Merge branch 'x86/urgent' into x86/asm, to pick up fixesIngo Molnar1-0/+5
2017-07-28objtool: Assume unannotated UD2 instructions are dead endsJosh Poimboeuf1-1/+24
2017-07-25x86/asm: Add ASM_UNREACHABLEKees Cook1-0/+3
2017-07-19Merge tag 'gcc-plugins-v4.13-rc2' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-0/+5
2017-07-18compiler-gcc.h: Introduce __nostackprotector function attributeTom Lendacky1-0/+4
2017-07-05Merge tag 'gcc-plugins-v4.13-rc1' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-0/+12
2017-06-30task_struct: Allow randomized layoutKees Cook1-0/+5
2017-06-22gcc-plugins: Add the randstruct pluginKees Cook1-0/+8
2017-06-08rcu: Remove SPARSE_RCU_POINTER Kconfig optionPaul E. McKenney1-4/+0
2017-05-28compiler: Add __designated_init annotationKees Cook1-0/+4
2017-02-27Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-8/+0
2017-02-27kprobes: move kprobe declarations to asm-generic/kprobes.hLuis R. Rodriguez1-8/+0
2017-02-27Merge tag 'trace-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rost...Linus Torvalds1-10/+17
2017-01-19tracing: Show number of constants profiled in likely profilerSteven Rostedt (VMware)1-5/+10
2017-01-18gcc-plugins: Add structleak for more stack initializationKees Cook1-1/+5
2017-01-17tracing: Process constants for (un)likely() profilerSteven Rostedt (VMware)1-6/+8
2016-10-15Merge tag 'gcc-plugins-v4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-0/+4
2016-10-14Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek...Linus Torvalds1-0/+23
2016-10-10latent_entropy: Mark functions with __latent_entropyEmese Revfy1-0/+4
2016-09-09kbuild: allow archs to select link dead code/data eliminationNicholas Piggin1-0/+23
2016-09-05locking/barriers: Don't use sizeof(void) in lockless_dereference()Johannes Berg1-3/+4
2016-08-18locking/barriers: Suppress sparse warnings in lockless_dereference()Johannes Berg1-3/+3
2016-07-28Merge tag 'libnvdimm-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-2/+0
2016-07-12pmem: kill __pmem address spaceDan Williams1-2/+0
2016-06-14locking/barriers: Move smp_cond_load_acquire() to asm-generic/barrier.hPeter Zijlstra1-37/+0
2016-06-14locking/barriers: Introduce smp_acquire__after_ctrl_dep()Peter Zijlstra1-5/+12
2016-06-14locking/barriers: Replace smp_cond_acquire() with smp_cond_load_acquire()Peter Zijlstra1-6/+19
2016-06-08locking/barriers: Validate lockless_dereference() is used on a pointer typePeter Zijlstra1-0/+4
2016-05-19compiler.h: add support for malloc attributeRasmus Villemoes1-0/+4
2016-03-15Merge commit 'fixes.2015.02.23a' into core/rcuIngo Molnar1-4/+8
2016-02-29Merge tag 'v4.5-rc6' into locking/core, to pick up fixesIngo Molnar1-1/+1
2016-02-23sparse: Add __private to privatize members of structsBoqun Feng1-4/+8
2016-02-15tracing: Fix freak link error caused by branch tracerArnd Bergmann1-1/+1
2016-02-09locking/atomics: Update comment about READ_ONCE() and structuresKonrad Rzeszutek Wilk1-2/+3
2015-12-04locking, sched: Introduce smp_cond_acquire() and use itPeter Zijlstra1-0/+17
2015-11-05compiler.h: add support for function attribute assume_alignedRasmus Villemoes1-0/+8
2015-11-04Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s39...Linus Torvalds1-1/+1
2015-11-03atomic: remove all traces of READ_ONCE_CTRL() and atomic*_read_ctrl()Linus Torvalds1-16/+0
2015-10-20compiler, atomics, kasan: Provide READ_ONCE_NOCHECK()Andrey Ryabinin1-13/+53
2015-10-14s390/compiler.h Fix sparse vs. hotpatchChristian Borntraeger1-1/+1
2015-08-12locking, compiler.h: Cast away attributes in the WRITE_ONCE() magicChristian Borntraeger1-1/+6
2015-07-11Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-1/+1
2015-07-01Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-0/+15
2015-06-30sparse: fix misplaced __pmem definitionDan Williams1-1/+1
2015-06-29Merge tag 'libnvdimm-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-0/+2
2015-06-26arch, x86: pmem api for ensuring durability of persistent memory updatesRoss Zwisler1-0/+2
2015-06-24rcu: merge fix for Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE()Stephen Rothwell1-1/+1
2015-06-22Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-2/+2
2015-05-28rcu: Move lockless_dereference() out of rcupdate.hPeter Zijlstra1-0/+15
2015-05-27smp: Make control dependencies work on Alpha, improve documentationPaul E. McKenney1-0/+16
2015-05-19locking/arch: Add WRITE_ONCE() to set_mb()Peter Zijlstra1-1/+1
2015-05-08kernel: Replace reference to ASSIGN_ONCE() with WRITE_ONCE() in commentPreeti U Murthy1-1/+1
2015-05-04lib: make memzero_explicit more robust against dead store eliminationDaniel Borkmann1-0/+4
2015-03-27locking: Remove atomicy checks from {READ,WRITE}_ONCEPeter Zijlstra1-16/+0
2015-02-21kernel: make READ_ONCE() valid on const argumentsLinus Torvalds1-3/+3
2015-02-14Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/borntr...Linus Torvalds1-5/+16
2015-02-11Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s39...Linus Torvalds1-0/+4
2015-01-29ftrace: let notrace function attribute disable hotpatching if necessaryHeiko Carstens1-0/+4
2015-01-21Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/pau...Ingo Molnar1-1/+1
2015-01-19kernel: Fix sparse warning for ACCESS_ONCEChristian Borntraeger1-1/+1
2015-01-19kernel: tighten rules for ACCESS ONCEChristian Borntraeger1-5/+16
2015-01-13kernel: Change ASSIGN_ONCE(val, x) to WRITE_ONCE(x, val)Christian Borntraeger1-6/+6
2015-01-06compiler: Allow 1- and 2-byte smp_load_acquire() and smp_store_release()Paul E. McKenney1-1/+1
2014-12-18kernel: Provide READ_ONCE and ASSIGN_ONCEChristian Borntraeger1-0/+74
2014-06-12Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-0/+2
2014-06-04compiler.h: avoid sparse errors in __compiletime_error_fallback()James Hogan1-2/+11
2014-04-24kprobes: Introduce NOKPROBE_SYMBOL() macro to maintain kprobes blacklistMasami Hiramatsu1-0/+2
2014-04-09LLVMLinux: Add support for clang to compiler.h and new compiler-clang.hMark Charlebois1-0/+7
2014-01-23Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6Linus Torvalds1-0/+4
2014-01-12arch: Introduce smp_load_acquire(), smp_store_release()Peter Zijlstra1-0/+9
2013-12-05crypto: more robust crypto_memneqCesar Eduardo Barros1-0/+4
2013-04-08kprobes: Move __kprobes definition into compiler.hMasami Hiramatsu1-0/+6
2013-02-21bug.h, compiler.h: introduce compiletime_assert & BUILD_BUG_ON_MSGDaniel Santos1-1/+25
2013-02-21compiler.h, bug.h: prevent double error messages with BUILD_BUG{,_ON}Daniel Santos1-0/+5
2013-02-21compiler{,-gcc4}.h, bug.h: Remove duplicate macrosDaniel Santos1-3/+0
2012-12-19Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-0/+9
2012-12-17linux/compiler.h: add __must_hold macro for functions called with a lock heldJosh Triplett1-0/+2
2012-12-14__UNIQUE_ID()Rusty Russell1-0/+9
2012-09-17compiler.h: add __visibleAndi Kleen1-0/+4
2012-02-28compiler.h: Fix typoAlexander Stein1-1/+1
2012-01-10kernel.h: add BUILD_BUG() macroDavid Daney1-1/+3
2010-08-19rcu: define __rcu address space modifier for sparsePaul E. McKenney1-0/+4
2010-06-14rcu: add __rcu API for later sparse checkingPaul E. McKenney1-0/+2
2010-01-05Merge branch 'master' into percpuTejun Heo1-0/+20
2009-12-05Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-0/+11
2009-12-05Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-0/+4
2009-12-05Add support for GCC-4.5's __builtin_unreachable() to compiler.h (v2)David Daney1-0/+5
2009-11-02compiler: Introduce __always_unusedLi Zefan1-0/+4
2009-10-29percpu: add __percpu for sparse.Rusty Russell1-1/+3
2009-10-02x86: Add a Kconfig option to turn the copy_from_user warnings into errorsArjan van de Ven1-0/+3
2009-10-01x86: Turn the copy_from_user check into an (optional) compile time warningArjan van de Ven1-0/+4
2009-09-26x86: Use __builtin_object_size() to validate the buffer size for copy_from_us...Arjan van de Ven1-0/+4
2009-06-12module_param: add __same_type convenience wrapper for __builtin_types_compati...Rusty Russell1-0/+5
2009-04-07branch tracer, intel-iommu: fix build with CONFIG_BRANCH_TRACER=yLinus Torvalds1-1/+3
2009-04-07branch tracer: Fix for enabling branch profiling makes sparse unusableBart Van Assche1-1/+2
2009-03-17tracing: optimization of branch tracerWitold Baryluk1-4/+2
2009-01-02Sanitize gcc version header includesLinus Torvalds1-6/+2
2008-11-23trace: profile all if conditionalsSteven Rostedt1-2/+36
2008-11-23trace: consolidate unlikely and likely profilerSteven Rostedt1-19/+5
2008-11-23trace: remove extra assign in branch checkSteven Rostedt1-2/+0
2008-11-12trace: rename unlikely profiler to branch profilerSteven Rostedt1-9/+10
2008-11-12tracing: branch tracer, fix vdso crashIngo Molnar1-1/+5
2008-11-12tracing: profile likely and unlikely annotationsSteven Rostedt1-2/+59
2008-10-14ftrace: move notrace to compiler.hSteven Rostedt1-0/+2
2008-08-18rcu: remove redundant ACCESS_ONCE definition from rcupreempt.cPaul E. McKenney1-1/+3