lkml.org 
[lkml]   [2013]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 31/76] ARC: Build system: Makefiles, Kconfig, Linker script
On Saturday 19 January 2013 12:34 AM, Sam Ravnborg wrote:
>> +#
>> +
>> +config ARC
>> + def_bool y
>> + select ARCH_NO_VIRT_TO_BUS
>> + # ARC Busybox based initramfs absolutely relies on DEVTMPFS for /dev
>> + # DEVTMPS in turn needs HOTPLUG
>> + select DEVTMPFS if !INITRAMFS_SOURCE=""
>> + select GENERIC_ATOMIC64
>> + select GENERIC_CLOCKEVENTS
>> + select GENERIC_FIND_FIRST_BIT
>> + # for now, we don't need GENERIC_IRQ_PROBE, CONFIG_GENERIC_IRQ_CHIP
>> + select GENERIC_IRQ_SHOW
>> + select GENERIC_PENDING_IRQ if SMP
>> + select GENERIC_SMP_IDLE_THREAD
>> + select HAVE_GENERIC_HARDIRQS
>> + select HOTPLUG if !INITRAMFS_SOURCE=""
> HOTPLUG is alwyas y now.

Done !

>> +# Hacks to enable final link due to absence of link-time branch relexation
>> +# and gcc choosing optimal(shorter) branches at -O3
>> +#
>> +# vineetg Feb 2010: -mlong-calls switched off for overall kernel build
>> +# However lib/decompress_inflate.o (.init.text) calls
>> +# zlib_inflate_workspacesize (.text) causing relocation errors.
>> +# Thus forcing all exten calls in this file to be long calls
>> +export CFLAGS_decompress_inflate.o = -mmedium-calls
>> +export CFLAGS_initramfs.o = -mmedium-calls
> This is gross..
> But I see no better way to do this for now.

Precisely - there's no better way as of now. Our GNU tools team is aware of this
and likely to provide us the much needed fix in future. Link time branch
relaxation is particularly complicated for ARCompact ISA given that we can have
insns which are 2,4,6,8 bytes long in same compilation unit. Internally I have a
hack - a build script which extracts the offending file from build errors, appends
the corresponding line to makefile and rebuilds - this is done recursively until
all relo errors are gone.

>
>> +
>> +obj-y := arcksyms.o setup.o irq.o time.o reset.o ptrace.o entry.o process.o \
>> + signal.o traps.o sys.o troubleshoot.o stacktrace.o clk.o
> For new stuff I usually recommend to drop line continuation using \
>
> Just do the much prettier:
> obj-y := arcksyms.o setup.o irq.o time.o reset.o ptrace.o entry.o process.o
> obj-y += signal.o traps.o sys.o troubleshoot.o stacktrace.o clk.o
>
>> ....
>> +# published by the Free Software Foundation.
>> +
>> +lib-y := strchr-700.o strcmp.o strcpy-700.o strlen.o \
>> + memcmp.o memcpy-700.o memset.o
> Avoid '\'
>
>> ....
>> +
>> +obj-y := extable.o ioremap.o dma.o fault.o init.o \
>> + tlb.o tlbex.o cache_arc700.o
> Avoid '\'
>
> Other these small nits I did not notice anything.
> General impression is that this looks good!
>
> Sam

All line continuations fixed.

Thx for the review,
-Vineet


\
 
 \ /
  Last update: 2013-01-19 13:41    [W:0.118 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site