~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to arch/xtensa/kernel/Makefile

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# Makefile for the Linux/Xtensa kernel.
 
3
#
 
4
 
 
5
extra-y := head.o vmlinux.lds
 
6
 
 
7
obj-y := align.o entry.o irq.o coprocessor.o process.o ptrace.o \
 
8
         setup.o signal.o syscall.o time.o traps.o vectors.o platform.o  \
 
9
         pci-dma.o init_task.o io.o
 
10
 
 
11
obj-$(CONFIG_KGDB) += xtensa-stub.o
 
12
obj-$(CONFIG_PCI) += pci.o
 
13
obj-$(CONFIG_MODULES) += xtensa_ksyms.o module.o
 
14
 
 
15
# In the Xtensa architecture, assembly generates literals which must always
 
16
# precede the L32R instruction with a relative offset less than 256 kB.
 
17
# Therefore, the .text and .literal section must be combined in parenthesis
 
18
# in the linker script, such as: *(.literal .text).
 
19
#
 
20
# We need to post-process the generated vmlinux.lds scripts to convert
 
21
# *(xxx.text) to  *(xxx.literal xxx.text) for the following text sections:
 
22
#   .text .ref.text .*init.text .*exit.text .text.*
 
23
#
 
24
# Replicate rules in scripts/Makefile.build
 
25
 
 
26
sed-y = -e 's/\*(\(\.[a-z]*it\|\.ref\|\)\.text)/*(\1.literal \1.text)/g'    \
 
27
        -e 's/\*(\(\.text\.[a-z]*\))/*(\1.literal \1)/g'
 
28
 
 
29
quiet_cmd__cpp_lds_S = LDS     $@
 
30
      cmd__cpp_lds_S = $(CPP) $(cpp_flags) -P -C -Uxtensa -D__ASSEMBLY__ $< \
 
31
                       | sed $(sed-y) >$@
 
32
 
 
33
$(obj)/vmlinux.lds: $(src)/vmlinux.lds.S FORCE
 
34
        $(call if_changed_dep,_cpp_lds_S)