android_kernel_sony_sdm845/arch
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Finn Thain 9cfc01bb17 m68k: Add -ffreestanding to CFLAGS
commit 28713169d879b67be2ef2f84dcf54905de238294 upstream.

This patch fixes a build failure when using GCC 8.1:

/usr/bin/ld: block/partitions/ldm.o: in function `ldm_parse_tocblock':
block/partitions/ldm.c:153: undefined reference to `strcmp'

This is caused by a new optimization which effectively replaces a
strncmp() call with a strcmp() call. This affects a number of strncmp()
call sites in the kernel.

The entire class of optimizations is avoided with -fno-builtin, which
gets enabled by -ffreestanding. This may avoid possible future build
failures in case new optimizations appear in future compilers.

I haven't done any performance measurements with this patch but I did
count the function calls in a defconfig build. For example, there are now
23 more sprintf() calls and 39 fewer strcpy() calls. The effect on the
other libc functions is smaller.

If this harms performance we can tackle that regression by optimizing
the call sites, ideally using semantic patches. That way, clang and ICC
builds might benfit too.

Cc: stable@vger.kernel.org
Reference: https://marc.info/?l=linux-m68k&m=154514816222244&w=2
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-03-23 13:19:47 +01:00
..
alpha alpha: Fix Eiger NR_IRQS to 128 2019-02-20 10:18:32 +01:00
arc ARC: uacces: remove lp_start, lp_end from clobber list 2019-03-23 13:19:44 +01:00
arm ARM: 8824/1: fix a migrating irq bug when hotplug cpu 2019-03-23 13:19:42 +01:00
arm64 crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling 2019-03-23 13:19:45 +01:00
avr32 Merge branch 'akpm' (patches from Andrew) 2016-10-07 21:38:00 -07:00
blackfin pinctrl: adi2: Fix Kconfig build problem 2017-12-20 10:07:32 +01:00
c6x c6x/ptrace: Remove useless PTRACE_SETREGSET implementation 2017-03-31 10:31:46 +02:00
cris cris: Only build flash rescue image if CONFIG_ETRAX_AXISFLASHMAP is selected 2017-01-12 11:39:24 +01:00
frv futex: Remove duplicated code and fix undefined behaviour 2018-05-19 10:27:00 +02:00
h8300 h8300/ptrace: Fix incorrect register transfer count 2017-03-31 10:31:46 +02:00
hexagon hexagon: modify ffs() and fls() to return int 2018-10-10 08:53:21 +02:00
ia64 kbuild: Consolidate header generation from ASM offset information 2018-11-23 08:20:34 +01:00
m32r mm: replace access_process_vm() write parameter with gup_flags 2016-10-19 08:31:25 -07:00
m68k m68k: Add -ffreestanding to CFLAGS 2019-03-23 13:19:47 +01:00
metag metag/uaccess: Check access_ok in strncpy_from_user 2017-05-25 15:44:46 +02:00
microblaze microblaze: Fix simpleImage format generation 2018-08-03 07:55:25 +02:00
mips MIPS: Remove function size check in get_frame_info() 2019-03-13 14:05:01 -07:00
mn10300 mn10300/misalignment: Use SIGSEGV SEGV_MAPERR to report a failed user copy 2018-02-17 13:21:20 +01:00
nios2 nios2: reserve boot memory for device tree 2017-04-12 12:41:14 +02:00
openrisc kthread: fix boot hang (regression) on MIPS/OpenRISC 2018-09-19 22:47:11 +02:00
parisc parisc: Fix ptrace syscall number modification 2019-02-27 10:07:01 +01:00
powerpc powerpc: Always initialize input array when calling epapr_hypercall() 2019-03-05 17:57:06 +01:00
s390 s390/smp: Fix calling smp_call_ipl_cpu() from ipl CPU 2019-01-31 08:12:36 +01:00
score Merge branch 'gup_flag-cleanups' 2016-10-19 08:39:47 -07:00
sh sh: fix debug trap failure to process signals before return to user 2018-05-30 07:50:39 +02:00
sparc sparc64: Make proc_id signed. 2018-11-13 11:16:47 -08:00
tile futex: Remove duplicated code and fix undefined behaviour 2018-05-19 10:27:00 +02:00
um um: Avoid marking pages with "changed protection" 2019-02-12 19:44:58 +01:00
unicore32 unicore32: use simpler API for random address requests 2016-10-11 15:06:32 -07:00
x86 perf/x86: Fixup typo in stub functions 2019-03-19 13:14:11 +01:00
xtensa xtensa: SMP: limit number of possible CPUs by NR_CPUS 2019-03-13 14:04:56 -07:00
.gitignore
Kconfig cpu/hotplug: Provide knobs to control SMT 2018-08-15 18:14:46 +02:00