android_kernel_oneplus_msm8998/arch/arc/include/asm
Vineet Gupta 413d5877ef ARC: build: Better way to detect ISA compatible toolchain
commit 20d780374c81cf237834af2202c26df2100ddd69 upstream.

ARC architecture has 2 instruction sets: ARCompact/ARCv2.
While same gcc supports compiling for either (using appropriate toggles),
we can't use the same toolchain to build kernel because libgcc needs
to be unique and the toolchian (uClibc based) is not multilibed.

uClibc toolchain is convenient since it allows all userspace and
kernel to be built with a single install for an ISA.

This however means 2 gnu installs (with same triplet prefix) are needed
for building for 2 ISA and need to be in PATH.
As developers we keep switching the builds, but would occassionally fail
to update the PATH leading to usage of wrong tools. And this would only
show up at the end of kernel build when linking incompatible libgcc.

So the initial solution was to have gcc define a special preprocessor macro
DEFAULT_CPU_xxx which is unique for default toolchain configuration.
Claudiu proposed using grep for an existing preprocessor macro which is
again uniquely defined per ISA.

Cc: Michal Marek <mmarek@suse.cz>
Suggested-by: Claudiu Zissulescu <claziss@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-07 08:32:42 +02:00
..
arcregs.h ARC: build: Better way to detect ISA compatible toolchain 2016-09-07 08:32:42 +02:00
asm-offsets.h
atomic.h atomic, arch: Audit atomic_{read,set}() 2015-09-23 09:54:28 +02:00
barrier.h ARCv2: barriers 2015-06-25 06:00:17 +05:30
bitops.h ARC: bitops: Remove non relevant comments 2016-04-12 09:08:56 -07:00
bug.h ARC: BUG() dumps stack after @msg (@msg now same as in generic BUG)) 2014-10-13 14:46:18 +05:30
cache.h ARC: mm: fix building for MMU v2 2015-12-21 12:10:40 +05:30
cacheflush.h ARC: mm: PAE40: switch to using phys_addr_t for physical addresses 2015-10-28 19:50:29 +05:30
checksum.h
clk.h
cmpxchg.h ARC: add/fix some comments in code - no functional change 2015-08-20 19:05:49 +05:30
current.h ARC: remove extraneous __KERNEL__ guards 2014-10-13 14:46:20 +05:30
delay.h ARCv2: Adhere to Zero Delay loop restriction 2015-06-22 14:06:56 +05:30
disasm.h
dma-mapping.h Merge branch 'akpm' (patches from Andrew) 2015-07-01 17:47:51 -07:00
dma.h
elf.h ARCv2: Support for ARCv2 ISA and HS38x cores 2015-06-22 14:06:55 +05:30
entry-arcv2.h ARCv2: Support for ARCv2 ISA and HS38x cores 2015-06-22 14:06:55 +05:30
entry-compact.h ARC: [arcompact] entry.S: Improve early return from exception 2015-10-17 17:48:22 +05:30
entry.h ARCv2: STAR 9000808988: signals involving Delay Slot 2015-06-22 14:06:55 +05:30
exec.h
futex.h ARC: change some branchs to jumps to resolve linkage errors 2015-08-20 18:53:15 +05:30
highmem.h ARC: mm: HIGHMEM: kmap API implementation 2015-10-28 19:49:04 +05:30
hugepage.h ARCv2: mm: THP: Implement flush_pmd_tlb_range() optimization 2015-10-17 17:48:21 +05:30
io.h ARC: Add missing io barriers to io{read,write}{16,32}be() 2016-05-11 11:21:20 +02:00
irq.h ARC: smp: irqchip: handle IPI as percpu irq like timer 2015-10-28 16:13:39 +05:30
irqflags-arcv2.h ARCv2: SMP: Emulate IPI to self using software triggered interrupt 2016-03-03 15:07:28 -08:00
irqflags-compact.h ARC: Abstract out ISA specific SLEEP args 2015-11-16 14:17:02 +05:30
irqflags.h ARCv2: Support for ARCv2 ISA and HS38x cores 2015-06-22 14:06:55 +05:30
Kbuild Merge branch 'strscpy' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2015-10-04 16:31:13 +01:00
kdebug.h
kgdb.h ARC: Update order of registers in KGDB to match GDB 7.5 2014-10-13 14:46:20 +05:30
kmap_types.h ARC: mm: HIGHMEM: kmap API implementation 2015-10-28 19:49:04 +05:30
kprobes.h
linkage.h
mach_desc.h ARC: smp: Rename platform hook @init_cpu_smp -> @init_per_cpu 2015-12-17 12:56:56 +05:30
mcip.h ARCv2: smp: [plat-*]: No need to explicitly call mcip_init_smp() 2015-10-28 16:13:41 +05:30
mmu.h ARC: mm: PAE40 support 2015-10-29 18:41:30 +05:30
mmu_context.h
module.h
mutex.h
page.h ARC: mm: PAE40 support 2015-10-29 18:41:30 +05:30
perf_event.h ARCv2: perf: Finally introduce HS perf unit 2015-08-27 14:59:07 +05:30
pgalloc.h ARC: mm: PAE40 support 2015-10-29 18:41:30 +05:30
pgtable.h ARC: mm: don't loose PTE_SPECIAL in pte_modify() 2016-08-20 18:09:20 +02:00
processor.h ARC: cpu_relax() to be compiler barrier even for UP 2015-11-14 13:12:30 +05:30
ptrace.h ARC: Make pt_regs regs unsigned 2015-08-05 11:48:21 +05:30
sections.h
segment.h
serial.h ARC: Dynamically determine BASE_BAUD from DeviceTree 2015-02-02 17:08:37 +05:30
setup.h ARC: boot log: move helper macros to header for reuse 2015-10-17 17:48:25 +05:30
shmparam.h
smp.h ARC: rename smp operation init_irq_cpu() to init_per_cpu() 2015-12-17 12:56:43 +05:30
spinlock.h ARCv2: spinlock/rwlock/atomics: reduce 1 instruction in exponential backoff 2015-08-07 13:56:16 +05:30
spinlock_types.h ARC: LLOCK/SCOND based rwlock 2015-08-04 09:26:33 +05:30
stacktrace.h ARC: Make arc_unwind_core accessible externally 2015-02-27 10:15:00 +05:30
string.h ARC: remove extraneous __KERNEL__ guards 2014-10-13 14:46:20 +05:30
switch_to.h
syscall.h
syscalls.h ARC: remove extraneous __KERNEL__ guards 2014-10-13 14:46:20 +05:30
thread_info.h ARCv2: Support for ARCv2 ISA and HS38x cores 2015-06-22 14:06:55 +05:30
timex.h
tlb-mmu1.h
tlb.h
tlbflush.h ARCv2: mm: THP: flush_pmd_tlb_range make SMP safe 2015-10-17 17:48:21 +05:30
uaccess.h ARCv2: Adhere to Zero Delay loop restriction 2015-06-22 14:06:56 +05:30
unaligned.h ARC: rename kconfig option for unaligned emulation 2014-10-13 14:46:15 +05:30
unwind.h ARC: dw2 unwind: Reinstante unwinding out of modules 2015-12-17 11:10:23 +05:30