aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormydongistiny <jaysonedson@gmail.com>2015-11-23 17:01:42 -0800
committerMoyster <oysterized@gmail.com>2018-11-29 12:38:19 +0100
commitff505baaf412985af758d5820cd620ed9f1a7e05 (patch)
tree6486963ab0ffa407e1d67cbd539a968c7ab1c615
parent3d29fcecea03b179e8a07cd7f025402aa344f12e (diff)
GCC: Fix up for gcc 5+
Signed-off-by: mydongistiny <jaysonedson@gmail.com> Signed-off-by: Mister Oyster <oysterized@gmail.com>
-rw-r--r--arch/arm/boot/compressed/Makefile1
-rw-r--r--arch/arm64/crypto/Makefile1
-rw-r--r--drivers/base/Makefile1
-rw-r--r--drivers/input/Makefile1
-rw-r--r--drivers/md/Makefile1
-rw-r--r--drivers/media/v4l2-core/Makefile1
-rw-r--r--drivers/mmc/Makefile1
-rw-r--r--drivers/net/Makefile2
-rw-r--r--drivers/net/phy/Makefile1
-rw-r--r--drivers/of/Makefile2
-rw-r--r--drivers/platform/Makefile1
-rw-r--r--drivers/scsi/Makefile2
-rw-r--r--drivers/thermal/Makefile1
-rw-r--r--drivers/usb/Makefile1
-rw-r--r--drivers/usb/gadget/Makefile2
-rw-r--r--fs/Makefile1
-rw-r--r--fs/ext4/Makefile1
-rw-r--r--fs/proc/Makefile2
-rw-r--r--include/linux/compiler.h3
-rw-r--r--init/Makefile2
-rw-r--r--kernel/Makefile13
-rw-r--r--kernel/sched/Makefile2
-rw-r--r--kernel/trace/Makefile2
-rw-r--r--lib/Makefile6
-rw-r--r--lib/mpi/Makefile1
-rw-r--r--mm/Makefile1
-rw-r--r--mm/rmap.c2
-rw-r--r--net/Makefile1
-rw-r--r--net/ipv4/Makefile1
-rw-r--r--net/netfilter/Makefile2
-rw-r--r--security/Makefile2
-rw-r--r--security/selinux/Makefile1
-rw-r--r--sound/Makefile1
-rw-r--r--sound/soc/Makefile2
34 files changed, 61 insertions, 4 deletions
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
index 36dd9aa8e..2d2cb1039 100644
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -3,6 +3,7 @@
#
# create a compressed vmlinuz image from the original vmlinux
#
+CFLAGS_decompress.o := -Os -fno-strict-aliasing -fno-graphite -fno-graphite-identity -fno-unsafe-loop-optimizations -fno-unsafe-math-optimizations -fno-loop-flatten -fno-tree-loop-linear -fno-loop-interchange -fno-loop-strip-mine -fno-loop-block -fno-loop-nest-optimize -fno-loop-unroll-and-jam -fno-loop-parallelize-all -ftree-parallelize-loops=0 -fno-openmp
OBJS =
diff --git a/arch/arm64/crypto/Makefile b/arch/arm64/crypto/Makefile
index c6e63e650..1ff15437b 100644
--- a/arch/arm64/crypto/Makefile
+++ b/arch/arm64/crypto/Makefile
@@ -7,6 +7,7 @@
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-$(CONFIG_CRYPTO_SHA1_ARM64_CE) += sha1-ce.o
sha1-ce-y := sha1-ce-glue.o sha1-ce-core.o
diff --git a/drivers/base/Makefile b/drivers/base/Makefile
index 154bd4a5e..aa6689653 100644
--- a/drivers/base/Makefile
+++ b/drivers/base/Makefile
@@ -1,4 +1,5 @@
# Makefile for the Linux device tree
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-y := core.o bus.o dd.o syscore.o \
driver.o class.o platform.o \
diff --git a/drivers/input/Makefile b/drivers/input/Makefile
index ee4c06520..f57537760 100644
--- a/drivers/input/Makefile
+++ b/drivers/input/Makefile
@@ -3,6 +3,7 @@
#
# Each configuration option enables a list of files.
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-$(CONFIG_INPUT) += input-core.o
input-core-y := input.o input-compat.o input-mt.o ff-core.o
diff --git a/drivers/md/Makefile b/drivers/md/Makefile
index 771180662..b774a8bc1 100644
--- a/drivers/md/Makefile
+++ b/drivers/md/Makefile
@@ -1,6 +1,7 @@
#
# Makefile for the kernel software RAID and LVM drivers.
#
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
dm-mod-y += dm.o dm-table.o dm-target.o dm-linear.o dm-stripe.o \
dm-ioctl.o dm-io.o dm-kcopyd.o dm-sysfs.o
diff --git a/drivers/media/v4l2-core/Makefile b/drivers/media/v4l2-core/Makefile
index aa50c4631..7ecccb36d 100644
--- a/drivers/media/v4l2-core/Makefile
+++ b/drivers/media/v4l2-core/Makefile
@@ -1,6 +1,7 @@
#
# Makefile for the V4L2 core
#
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
tuner-objs := tuner-core.o
diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile
index 400756ec7..2e3a1a514 100644
--- a/drivers/mmc/Makefile
+++ b/drivers/mmc/Makefile
@@ -1,6 +1,7 @@
#
# Makefile for the kernel mmc device drivers.
#
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
subdir-ccflags-$(CONFIG_MMC_DEBUG) := -DDEBUG
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index ef3d090ef..04551a15c 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for the Linux network device drivers.
#
-
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
#
# Networking Core Drivers
#
diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
index 9645e389a..975c421a4 100644
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -1,4 +1,5 @@
# Makefile for Linux PHY drivers
+CFLAGS_KERNEL := -Os -fno-unsafe-math-optimizations -fno-strict-aliasing
libphy-objs := phy.o phy_device.o mdio_bus.o
diff --git a/drivers/of/Makefile b/drivers/of/Makefile
index 8098b4dd3..f08047219 100644
--- a/drivers/of/Makefile
+++ b/drivers/of/Makefile
@@ -1,3 +1,5 @@
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
+
obj-y = base.o
obj-$(CONFIG_OF_FLATTREE) += fdt.o
obj-$(CONFIG_OF_PROMTREE) += pdt.o
diff --git a/drivers/platform/Makefile b/drivers/platform/Makefile
index 8a44a4cd6..7990aac1c 100644
--- a/drivers/platform/Makefile
+++ b/drivers/platform/Makefile
@@ -1,6 +1,7 @@
#
# Makefile for linux/drivers/platform
#
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-$(CONFIG_X86) += x86/
obj-$(CONFIG_OLPC) += olpc/
diff --git a/drivers/scsi/Makefile b/drivers/scsi/Makefile
index b607ba4f5..4a470a086 100644
--- a/drivers/scsi/Makefile
+++ b/drivers/scsi/Makefile
@@ -12,7 +12,7 @@
# lastly SCSI peripheral drivers (disk/tape/cdrom/etc.) to
# satisfy certain initialization assumptions in the SCSI layer.
# *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!
-
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
CFLAGS_aha152x.o = -DAHA152X_STAT -DAUTOCONF
CFLAGS_gdth.o = # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ -DGDTH_STATISTICS
diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile
index 082e607fb..874dab35e 100644
--- a/drivers/thermal/Makefile
+++ b/drivers/thermal/Makefile
@@ -1,6 +1,7 @@
#
# Makefile for sensor chip drivers.
#
+CFLAGS_thermal_core.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-$(CONFIG_THERMAL) += thermal_sys.o
thermal_sys-y += thermal_core.o
diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
index c41feba8d..f875e7456 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
@@ -3,6 +3,7 @@
#
# Object files in subdirectories
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-$(CONFIG_USB) += core/
diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
index f21aa18f3..33f5dc9fd 100644
--- a/drivers/usb/gadget/Makefile
+++ b/drivers/usb/gadget/Makefile
@@ -1,6 +1,8 @@
#
# USB peripheral controller drivers
#
+CFLAGS_KERNEL := -Wno-unused-label
+
ccflags-$(CONFIG_USB_GADGET_DEBUG) := -DDEBUG
include $(srctree)/drivers/misc/mediatek/Makefile.custom
diff --git a/fs/Makefile b/fs/Makefile
index 3f84895b8..f5e3ba300 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -4,6 +4,7 @@
# 14 Sep 2000, Christoph Hellwig <hch@infradead.org>
# Rewritten to use lists instead of if-statements.
#
+CFLAGS_binfmt_elf.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-y := open.o read_write.o file_table.o super.o \
char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
diff --git a/fs/ext4/Makefile b/fs/ext4/Makefile
index f52cf54f0..407af9689 100644
--- a/fs/ext4/Makefile
+++ b/fs/ext4/Makefile
@@ -1,6 +1,7 @@
#
# Makefile for the linux ext4-filesystem routines.
#
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-$(CONFIG_EXT4_FS) += ext4.o
diff --git a/fs/proc/Makefile b/fs/proc/Makefile
index ab3071658..7f537d45c 100644
--- a/fs/proc/Makefile
+++ b/fs/proc/Makefile
@@ -1,6 +1,8 @@
#
# Makefile for the Linux proc filesystem routines.
#
+CFLAGS_proc_net.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_namespaces.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-y += proc.o
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index a1df48993..9974e409e 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -3,6 +3,9 @@
#ifndef __ASSEMBLY__
+/* Make the optimizer believe the variable can be manipulated arbitrarily. */
+#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var))
+
#ifdef __CHECKER__
# define __user __attribute__((noderef, address_space(1)))
# define __kernel __attribute__((address_space(0)))
diff --git a/init/Makefile b/init/Makefile
index 243f61de2..77111b940 100644
--- a/init/Makefile
+++ b/init/Makefile
@@ -1,6 +1,8 @@
#
# Makefile for the linux kernel.
#
+CFLAGS_do_mounts.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_init_task.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-y := main.o version.o mounts.o
obj-y += noinitramfs.o
diff --git a/kernel/Makefile b/kernel/Makefile
index 5a51e6c71..fdd731dcf 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -1,6 +1,19 @@
#
# Makefile for the linux kernel.
#
+CFLAGS_fork.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_exit.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_sysctl_binary.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_sysctl.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_pid.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_signal.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_workqueue.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_cred.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_nsproxy.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_audit.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_auditfilter.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_cgroup.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_audit.o := -Wno-tautological-compare
obj-y = fork.o exec_domain.o panic.o printk.o \
cpu.o exit.o itimer.o time.o softirq.o resource.o \
diff --git a/kernel/sched/Makefile b/kernel/sched/Makefile
index 078c9feb3..f79dfa7ac 100644
--- a/kernel/sched/Makefile
+++ b/kernel/sched/Makefile
@@ -1,3 +1,5 @@
+CFLAGS_cpuacct.o := -Wno-tautological-compare
+
ifdef CONFIG_FUNCTION_TRACER
CFLAGS_REMOVE_clock.o = -pg
endif
diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile
index 45012122f..bbe01d93e 100644
--- a/kernel/trace/Makefile
+++ b/kernel/trace/Makefile
@@ -1,4 +1,4 @@
-
+CFLAGS_ring_buffer.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
# Do not instrument the tracer itself:
ifdef CONFIG_FUNCTION_TRACER
diff --git a/lib/Makefile b/lib/Makefile
index 8db4b868a..ab58b6835 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -1,6 +1,12 @@
#
# Makefile for some libs needed in the kernel.
#
+CFLAGS_libcrc32c.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_nlattr.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_klist.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_kobject_uevent.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_radix-tree.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_vsprintf.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
ifdef CONFIG_FUNCTION_TRACER
ORIG_CFLAGS := $(KBUILD_CFLAGS)
diff --git a/lib/mpi/Makefile b/lib/mpi/Makefile
index 019a68c90..d76ac5ad8 100644
--- a/lib/mpi/Makefile
+++ b/lib/mpi/Makefile
@@ -1,6 +1,7 @@
#
# MPI multiprecision maths library (from gpg)
#
+CFLAGS_KERNEL := -fno-graphite -fno-graphite-identity -fno-loop-flatten -fno-tree-loop-linear -fno-loop-interchange -fno-loop-strip-mine -fno-loop-block -fno-loop-nest-optimize -fno-loop-parallelize-all -ftree-parallelize-loops=0 -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-$(CONFIG_MPILIB) = mpi.o
diff --git a/mm/Makefile b/mm/Makefile
index 30e403700..59cd756ac 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -1,6 +1,7 @@
#
# Makefile for the linux memory manager.
#
+CFLAGS_KERNEL := -Wno-implicit-function-declaration -Wno-discarded-qualifiers -Wno-int-conversion
mmu-y := nommu.o
mmu-$(CONFIG_MMU) := fremap.o highmem.o madvise.o memory.o mincore.o \
diff --git a/mm/rmap.c b/mm/rmap.c
index 93d27a446..e055ea71e 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -531,7 +531,7 @@ __vma_address(struct page *page, struct vm_area_struct *vma)
}
inline unsigned long
-vma_address(struct page *page, struct vm_area_struct *vma)
+static vma_address(struct page *page, struct vm_area_struct *vma)
{
unsigned long address = __vma_address(page, vma);
diff --git a/net/Makefile b/net/Makefile
index 67d460aa1..b26a4b5f4 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -4,6 +4,7 @@
# 2 Sep 2000, Christoph Hellwig <hch@infradead.org>
# Rewritten to use lists instead of if-statements.
#
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-y := nonet.o
diff --git a/net/ipv4/Makefile b/net/ipv4/Makefile
index 5a9af0a9b..668013a63 100644
--- a/net/ipv4/Makefile
+++ b/net/ipv4/Makefile
@@ -1,6 +1,7 @@
#
# Makefile for the Linux TCP/IP (INET) layer.
#
+CFLAGS_KERNEL := -Wno-array-bounds
obj-y := route.o inetpeer.o protocol.o \
ip_input.o ip_fragment.o ip_forward.o ip_options.o \
diff --git a/net/netfilter/Makefile b/net/netfilter/Makefile
index d9655f6f3..577bd9c8a 100644
--- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile
@@ -1,3 +1,5 @@
+CFLAGS_KERNEL := -fno-graphite -fno-graphite-identity -fno-loop-flatten -fno-tree-loop-linear -fno-loop-interchange -fno-loop-strip-mine -fno-loop-block -fno-loop-nest-optimize -fno-loop-parallelize-all -ftree-parallelize-loops=0 -fno-openmp -fno-fast-math -fno-strict-aliasing -fno-unsafe-math-optimizations
+
netfilter-objs := core.o nf_log.o nf_queue.o nf_sockopt.o
nf_conntrack-y := nf_conntrack_core.o nf_conntrack_standalone.o nf_conntrack_expect.o nf_conntrack_helper.o nf_conntrack_proto.o nf_conntrack_l3proto_generic.o nf_conntrack_proto_generic.o nf_conntrack_proto_tcp.o nf_conntrack_proto_udp.o nf_conntrack_extend.o nf_conntrack_acct.o
diff --git a/security/Makefile b/security/Makefile
index c26c81e92..bbbc54b9f 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -1,6 +1,8 @@
#
# Makefile for the kernel security code
#
+CFLAGS_commoncap.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
+CFLAGS_lsm_audit.o := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-$(CONFIG_KEYS) += keys/
subdir-$(CONFIG_SECURITY_SELINUX) += selinux
diff --git a/security/selinux/Makefile b/security/selinux/Makefile
index ad5cd76ec..1306e009f 100644
--- a/security/selinux/Makefile
+++ b/security/selinux/Makefile
@@ -1,6 +1,7 @@
#
# Makefile for building the SELinux module as part of the kernel tree.
#
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-$(CONFIG_SECURITY_SELINUX) := selinux.o
diff --git a/sound/Makefile b/sound/Makefile
index ce9132b1c..981c8e663 100644
--- a/sound/Makefile
+++ b/sound/Makefile
@@ -1,5 +1,6 @@
# Makefile for the Linux sound card driver
#
+CFLAGS_KERNEL := -fno-graphite -fno-graphite-identity -fno-loop-flatten -fno-tree-loop-linear -fno-loop-interchange -fno-loop-strip-mine -fno-loop-block -fno-loop-nest-optimize -fno-loop-parallelize-all -ftree-parallelize-loops=0 -fno-unsafe-math-optimizations -fno-strict-aliasing
obj-$(CONFIG_SOUND) += soundcore.o
obj-$(CONFIG_SOUND_PRIME) += sound_firmware.o
diff --git a/sound/soc/Makefile b/sound/soc/Makefile
index 7ce86fd6e..a8ad24f3e 100644
--- a/sound/soc/Makefile
+++ b/sound/soc/Makefile
@@ -1,3 +1,5 @@
+CFLAGS_KERNEL := -fno-unsafe-math-optimizations -fno-strict-aliasing
+
snd-soc-core-objs := soc-core.o soc-dapm.o soc-jack.o soc-cache.o soc-utils.o
snd-soc-core-objs += soc-pcm.o soc-compress.o soc-io.o