Files
kernel_google_wahoo/include/linux/compiler-clang.h
Michael Bestas cd076db5aa Merge tag 'v4.4.268' into android-msm-wahoo-4.4
This is the 4.4.268 stable release

# gpg: Signature made Wed Apr 28 13:06:23 2021 EEST
# gpg:                using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
# gpg: Good signature from "Greg Kroah-Hartman <gregkh@kernel.org>" [full]
# gpg: gregkh@kernel.org: Verified 19 signatures in the past 2 hours.  Encrypted
#      0 messages.

# By Alexander Aring (7) and others
# Via Greg Kroah-Hartman
* tag 'v4.4.268':
  Linux 4.4.268
  net: hso: fix NULL-deref on disconnect regression
  x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access
  overflow.h: Add allocation size calculation helpers
  compiler.h: enable builtin overflow checkers and add fallback code
  ia64: tools: remove duplicate definition of ia64_mf() on ia64
  ia64: fix discontig.c section mismatches
  cavium/liquidio: Fix duplicate argument
  xen-netback: Check for hotplug-status existence before watching
  s390/entry: save the caller of psw_idle
  ARM: dts: Fix swapped mmc order for omap3
  ext4: correct error label in ext4_rename()
  net: hso: fix null-ptr-deref during tty device unregistration
  ARM: 9071/1: uprobes: Don't hook on thumb instructions
  i40e: fix the panic when running bpf in xdpdrv mode
  net: davicom: Fix regulator not turned off on failed probe
  scsi: libsas: Reset num_scatter if libata marks qc as NODATA
  Input: i8042 - fix Pegatron C15B ID entry
  pcnet32: Use pci_resource_len to validate PCI resource
  net: ieee802154: forbid monitor for add llsec seclevel
  net: ieee802154: stop dump llsec seclevels for monitors
  net: ieee802154: forbid monitor for add llsec devkey
  net: ieee802154: stop dump llsec devkeys for monitors
  net: ieee802154: forbid monitor for add llsec dev
  net: ieee802154: stop dump llsec devs for monitors
  net: ieee802154: stop dump llsec keys for monitors
  ASoC: fsl_esai: Fix TDM slot setup for I2S mode
  ARM: keystone: fix integer overflow warning
  neighbour: Disregard DEAD dst in neigh_update
  arc: kernel: Return -EFAULT if copy_to_user() fails
  ARM: dts: Fix moving mmc devices with aliases for omap4 & 5
  dmaengine: dw: Make it dependent to HAS_IOMEM
  Input: nspire-keypad - enable interrupts only when opened
  net/sctp: fix race condition in sctp_destroy_sock

 Conflicts:
	include/linux/compiler-clang.h

Change-Id: Ic2f20e4be818efa6a315dcd8d2b71974ea881e5b
2021-07-24 19:25:46 +03:00

43 lines
1.4 KiB
C

#ifndef __LINUX_COMPILER_H
#error "Please don't include <linux/compiler-clang.h> directly, include <linux/compiler.h> instead."
#endif
/* Some compiler specific definitions are overwritten here
* for Clang compiler
*/
#ifdef uninitialized_var
#undef uninitialized_var
#define uninitialized_var(x) x = *(&(x))
#endif
/* same as gcc, this was present in clang-2.6 so we can assume it works
* with any version that can compile the kernel
*/
#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
#undef __no_sanitize_address
#define __no_sanitize_address __attribute__((no_sanitize("address")))
/* all clang versions usable with the kernel support KASAN ABI version 5 */
#define KASAN_ABI_VERSION 5
/* emulate gcc's __SANITIZE_ADDRESS__ flag */
#if __has_feature(address_sanitizer)
#define __SANITIZE_ADDRESS__
#endif
/*
* Not all versions of clang implement the the type-generic versions
* of the builtin overflow checkers. Fortunately, clang implements
* __has_builtin allowing us to avoid awkward version
* checks. Unfortunately, we don't know which version of gcc clang
* pretends to be, so the macro may or may not be defined.
*/
#undef COMPILER_HAS_GENERIC_BUILTIN_OVERFLOW
#if __has_builtin(__builtin_mul_overflow) && \
__has_builtin(__builtin_add_overflow) && \
__has_builtin(__builtin_sub_overflow)
#define COMPILER_HAS_GENERIC_BUILTIN_OVERFLOW 1
#endif