Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
a91c4fb5
Commit
a91c4fb5
authored
Aug 16, 2004
by
Sam Ravnborg
Browse files
Options
Browse Files
Download
Plain Diff
Merge mars.ravnborg.org:/home/sam/bk/kbuild-mm2
into mars.ravnborg.org:/home/sam/bk/kbuild
parents
744dbb74
948a4d33
Changes
39
Hide whitespace changes
Inline
Side-by-side
Showing
39 changed files
with
99 additions
and
53 deletions
+99
-53
Documentation/kbuild/makefiles.txt
Documentation/kbuild/makefiles.txt
+31
-0
Makefile
Makefile
+7
-7
arch/alpha/kernel/Makefile
arch/alpha/kernel/Makefile
+1
-1
arch/arm/Makefile
arch/arm/Makefile
+1
-1
arch/arm/kernel/Makefile
arch/arm/kernel/Makefile
+1
-1
arch/arm26/Makefile
arch/arm26/Makefile
+1
-1
arch/arm26/kernel/Makefile
arch/arm26/kernel/Makefile
+1
-1
arch/cris/Makefile
arch/cris/Makefile
+1
-1
arch/cris/kernel/Makefile
arch/cris/kernel/Makefile
+1
-1
arch/h8300/kernel/Makefile
arch/h8300/kernel/Makefile
+1
-1
arch/i386/kernel/Makefile
arch/i386/kernel/Makefile
+1
-1
arch/ia64/kernel/Makefile
arch/ia64/kernel/Makefile
+5
-5
arch/m68k/kernel/Makefile
arch/m68k/kernel/Makefile
+1
-1
arch/m68knommu/kernel/Makefile
arch/m68knommu/kernel/Makefile
+1
-1
arch/mips/Makefile
arch/mips/Makefile
+1
-1
arch/mips/kernel/Makefile
arch/mips/kernel/Makefile
+1
-1
arch/parisc/kernel/Makefile
arch/parisc/kernel/Makefile
+1
-1
arch/ppc/Makefile
arch/ppc/Makefile
+1
-1
arch/ppc/kernel/Makefile
arch/ppc/kernel/Makefile
+1
-1
arch/ppc64/kernel/Makefile
arch/ppc64/kernel/Makefile
+1
-1
arch/s390/kernel/Makefile
arch/s390/kernel/Makefile
+1
-1
arch/sh/Makefile
arch/sh/Makefile
+1
-1
arch/sh/boot/compressed/Makefile
arch/sh/boot/compressed/Makefile
+1
-1
arch/sh/kernel/Makefile
arch/sh/kernel/Makefile
+1
-1
arch/sh64/boot/compressed/Makefile
arch/sh64/boot/compressed/Makefile
+3
-3
arch/sparc/boot/Makefile
arch/sparc/boot/Makefile
+1
-1
arch/sparc/kernel/Makefile
arch/sparc/kernel/Makefile
+1
-1
arch/sparc64/Makefile
arch/sparc64/Makefile
+1
-1
arch/sparc64/kernel/Makefile
arch/sparc64/kernel/Makefile
+1
-1
arch/um/Makefile
arch/um/Makefile
+4
-4
arch/um/Makefile-skas
arch/um/Makefile-skas
+1
-1
arch/um/kernel/Makefile
arch/um/kernel/Makefile
+1
-1
arch/v850/kernel/Makefile
arch/v850/kernel/Makefile
+1
-1
arch/x86_64/kernel/Makefile
arch/x86_64/kernel/Makefile
+1
-1
arch/x86_64/kernel/Makefile-HEAD
arch/x86_64/kernel/Makefile-HEAD
+1
-1
scripts/Makefile.build
scripts/Makefile.build
+8
-0
scripts/Makefile.lib
scripts/Makefile.lib
+5
-0
scripts/Makefile.modpost
scripts/Makefile.modpost
+2
-1
scripts/mod/modpost.c
scripts/mod/modpost.c
+4
-3
No files found.
Documentation/kbuild/makefiles.txt
View file @
a91c4fb5
...
...
@@ -938,6 +938,37 @@ When kbuild executes the following steps are followed (roughly):
will be displayed with "make KBUILD_VERBOSE=0".
--- 6.8 Preprocessing linker scripts
When the vmlinux image is build the linker script:
arch/$(ARCH)/kernel/vmlinux.lds is used.
The script is a preprocessed variant of the file vmlinux.lds.S
located in the same directory.
kbuild knows .lds file and includes a rule *lds.S -> *lds.
Example:
#arch/i386/kernel/Makefile
always := vmlinux.lds
#Makefile
export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH)
The assigment to $(always) is used to tell kbuild to build the
target: vmlinux.lds.
The assignment to $(CPPFLAGS_vmlinux.lds) tell kbuild to use the
specified options when building the target vmlinux.lds.
When building the *.lds target kbuild used the variakles:
CPPFLAGS : Set in top-level Makefile
EXTRA_CPPFLAGS : May be set in the kbuild makefile
CPPFLAGS_$(@F) : Target specific flags.
Note that the full filename is used in this
assignment.
The kbuild infrastructure for *lds file are used in several
architecture specific files.
=== 7 Kbuild Variables
The top Makefile exports the following variables:
...
...
Makefile
View file @
a91c4fb5
...
...
@@ -545,7 +545,7 @@ endef
quiet_cmd_sysmap
=
SYSMAP
cmd_sysmap
=
$(CONFIG_SHELL)
$(srctree)
/scripts/mksysmap
LDFLAGS_vmlinux
+=
-T
arch
/
$(ARCH)
/kernel/vmlinux.lds
.s
LDFLAGS_vmlinux
+=
-T
arch
/
$(ARCH)
/kernel/vmlinux.lds
# Generate section listing all symbols and add it into vmlinux
# It's a three stage process:
...
...
@@ -591,13 +591,13 @@ cmd_kallsyms = $(NM) -n $< | $(KALLSYMS) $(foreach x,$(CONFIG_KALLSYMS_ALL),--al
.tmp_kallsyms%.S
:
.tmp_vmlinux% $(KALLSYMS)
$(
call
cmd,kallsyms
)
.tmp_vmlinux1
:
$(vmlinux-objs) arch/$(ARCH)/kernel/vmlinux.lds
.s
FORCE
.tmp_vmlinux1
:
$(vmlinux-objs) arch/$(ARCH)/kernel/vmlinux.lds FORCE
$(
call
if_changed_rule,vmlinux__
)
.tmp_vmlinux2
:
$(vmlinux-objs) .tmp_kallsyms1.o arch/$(ARCH)/kernel/vmlinux.lds
.s
FORCE
.tmp_vmlinux2
:
$(vmlinux-objs) .tmp_kallsyms1.o arch/$(ARCH)/kernel/vmlinux.lds FORCE
$(
call
if_changed_rule,vmlinux__
)
.tmp_vmlinux3
:
$(vmlinux-objs) .tmp_kallsyms2.o arch/$(ARCH)/kernel/vmlinux.lds
.s
FORCE
.tmp_vmlinux3
:
$(vmlinux-objs) .tmp_kallsyms2.o arch/$(ARCH)/kernel/vmlinux.lds FORCE
$(
call
if_changed_rule,vmlinux__
)
endif
...
...
@@ -618,13 +618,13 @@ define rule_vmlinux
$(rule_verify_kallsyms)
endef
vmlinux
:
$(vmlinux-objs) $(kallsyms.o) arch/$(ARCH)/kernel/vmlinux.lds
.s
FORCE
vmlinux
:
$(vmlinux-objs) $(kallsyms.o) arch/$(ARCH)/kernel/vmlinux.lds FORCE
$(
call
if_changed_rule,vmlinux
)
# The actual objects are generated when descending,
# make sure no implicit rule kicks in
$(sort $(vmlinux-objs)) arch/$(ARCH)/kernel/vmlinux.lds
.s
:
$(vmlinux-dirs) ;
$(sort $(vmlinux-objs)) arch/$(ARCH)/kernel/vmlinux.lds
:
$(vmlinux-dirs) ;
# Handle descending into subdirectories listed in $(vmlinux-dirs)
# Preset locale variables to speed up the build process. Limit locale
...
...
@@ -682,7 +682,7 @@ prepare-all: prepare0 prepare
# Leave this as default for preprocessing vmlinux.lds.S, which is now
# done in arch/$(ARCH)/kernel/Makefile
export
AFLAGS_vmlinux.lds.o
+=
-P
-C
-U
$(ARCH)
export
CPPFLAGS_vmlinux.lds
+=
-P
-C
-U
$(ARCH)
# Single targets
# ---------------------------------------------------------------------------
...
...
arch/alpha/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -2,7 +2,7 @@
# Makefile for the linux kernel.
#
extra-y
:=
head.o vmlinux.lds
.s
extra-y
:=
head.o vmlinux.lds
EXTRA_AFLAGS
:=
$(CFLAGS)
EXTRA_CFLAGS
:=
-Werror
-Wno-sign-compare
...
...
arch/arm/Makefile
View file @
a91c4fb5
...
...
@@ -9,7 +9,7 @@
LDFLAGS_vmlinux
:=
-p
--no-undefined
-X
LDFLAGS_BLOB
:=
--format
binary
AFLAGS_vmlinux.lds.o
=
-DTEXTADDR
=
$(TEXTADDR)
-DDATAADDR
=
$(DATAADDR)
CPPFLAGS_vmlinux.lds
=
-DTEXTADDR
=
$(TEXTADDR)
-DDATAADDR
=
$(DATAADDR)
OBJCOPYFLAGS
:=
-O
binary
-R
.note
-R
.comment
-S
GZFLAGS
:=
-9
#CFLAGS +=-pipe
...
...
arch/arm/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -26,7 +26,7 @@ endif
head-y
:=
head.o
obj-$(CONFIG_DEBUG_LL)
+=
debug.o
extra-y
:=
$
(
head-y
)
init_task.o vmlinux.lds
.s
extra-y
:=
$
(
head-y
)
init_task.o vmlinux.lds
# Spell out some dependencies that aren't automatically figured out
$(obj)/entry-armv.o
:
$(obj)/entry-header.S include/asm-arm/constants.h
...
...
arch/arm26/Makefile
View file @
a91c4fb5
...
...
@@ -9,7 +9,7 @@
LDFLAGS_vmlinux
:=
-p
-X
LDFLAGS_BLOB
:=
--format
binary
AFLAGS_vmlinux.lds.o
=
-DTEXTADDR
=
$(TEXTADDR)
-DDATAADDR
=
$(DATAADDR)
CPPFLAGS_vmlinux.lds
=
-DTEXTADDR
=
$(TEXTADDR)
-DDATAADDR
=
$(DATAADDR)
OBJCOPYFLAGS
:=
-O
binary
-R
.note
-R
.comment
-S
GZFLAGS
:=
-9
...
...
arch/arm26/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -14,5 +14,5 @@ obj-y := compat.o dma.o entry.o irq.o \
obj-$(CONFIG_FIQ)
+=
fiq.o
obj-$(CONFIG_MODULES)
+=
armksyms.o
extra-y
:=
init_task.o vmlinux.lds
.s
extra-y
:=
init_task.o vmlinux.lds
arch/cris/Makefile
View file @
a91c4fb5
...
...
@@ -29,7 +29,7 @@ LDFLAGS_BLOB := --format binary --oformat elf32-cris \
OBJCOPYFLAGS
:=
-O
binary
-R
.note
-R
.comment
-S
AFLAGS_vmlinux.lds.o
=
-DDRAM_VIRTUAL_BASE
=
0x
$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
CPPFLAGS_vmlinux.lds
=
-DDRAM_VIRTUAL_BASE
=
0x
$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
AFLAGS
+=
-mlinux
CFLAGS
:=
$(CFLAGS)
-mlinux
-march
=
$
(
arch-y
)
-pipe
...
...
arch/cris/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -3,7 +3,7 @@
# Makefile for the linux kernel.
#
extra-y
:=
vmlinux.lds
.s
extra-y
:=
vmlinux.lds
obj-y
:=
process.o traps.o irq.o ptrace.o setup.o
\
time.o sys_cris.o semaphore.o
...
...
arch/h8300/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -2,7 +2,7 @@
# Makefile for the linux kernel.
#
extra-y
:=
vmlinux.lds
.s
extra-y
:=
vmlinux.lds
obj-y
:=
process.o traps.o ptrace.o ints.o
\
sys_h8300.o time.o semaphore.o signal.o
\
...
...
arch/i386/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -2,7 +2,7 @@
# Makefile for the linux kernel.
#
extra-y
:=
head.o init_task.o vmlinux.lds
.s
extra-y
:=
head.o init_task.o vmlinux.lds
obj-y
:=
process.o semaphore.o signal.o entry.o traps.o irq.o vm86.o
\
ptrace.o i8259.o ioport.o ldt.o setup.o time.o sys_i386.o
\
...
...
arch/ia64/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -2,7 +2,7 @@
# Makefile for the linux kernel.
#
extra-y
:=
head.o init_task.o vmlinux.lds
.s
extra-y
:=
head.o init_task.o vmlinux.lds
obj-y
:=
acpi.o entry.o efi.o efi_stub.o gate-data.o fsys.o ia64_ksyms.o irq.o irq_ia64.o
\
irq_lsapic.o ivt.o machvec.o pal.o patch.o process.o perfmon.o ptrace.o sal.o
\
...
...
@@ -21,25 +21,25 @@ obj-$(CONFIG_IA64_CYCLONE) += cyclone.o
# The gate DSO image is built using a special linker script.
targets
+=
gate.so gate-syms.o
extra-y
+=
gate.so gate-syms.o gate.lds.
s gate.o
extra-y
:=
gate.so gate-syms.o gate.ld
s gate.o
# fp_emulate() expects f2-f5,f16-f31 to contain the user-level state.
CFLAGS_traps.o
+=
-mfixed-range
=
f2-f5,f16-f31
AFLAGS_gate.lds.o
+
=
-P
-C
-U
$(ARCH)
CPPFLAGS_gate.lds
:
=
-P
-C
-U
$(ARCH)
quiet_cmd_gate
=
GATE
$@
cmd_gate
=
$(CC)
-nostdlib
$
(
GATECFLAGS_
$
(
@F
))
-Wl
,-T,
$(
filter-out
FORCE,
$^
)
-o
$@
GATECFLAGS_gate.so
=
-shared
-s
-Wl
,-soname
=
linux-gate.so.1
$(obj)/gate.so
:
$(obj)/gate.lds
.s
$(obj)/gate.o FORCE
$(obj)/gate.so
:
$(obj)/gate.lds $(obj)/gate.o FORCE
$(
call
if_changed,gate
)
$(obj)/built-in.o
:
$(obj)/gate-syms.o
$(obj)/built-in.o
:
ld_flags += -R $(obj)/gate-syms.o
GATECFLAGS_gate-syms.o
=
-r
$(obj)/gate-syms.o
:
$(
src)/gate.lds.
s $(obj)/gate.o FORCE
$(obj)/gate-syms.o
:
$(
obj)/gate.ld
s $(obj)/gate.o FORCE
$(
call
if_changed,gate
)
# gate-data.o contains the gate DSO image as data in section .data.gate.
...
...
arch/m68k/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -7,7 +7,7 @@ ifndef CONFIG_SUN3
else
extra-y
:=
sun3-head.o
endif
extra-y
+=
vmlinux.lds
.s
extra-y
+=
vmlinux.lds
obj-y
:=
entry.o process.o traps.o ints.o signal.o ptrace.o
\
sys_m68k.o time.o semaphore.o setup.o m68k_ksyms.o
...
...
arch/m68knommu/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -2,7 +2,7 @@
# Makefile for arch/m68knommu/kernel.
#
extra-y
:=
vmlinux.lds
.s
extra-y
:=
vmlinux.lds
obj-y
+=
dma.o entry.o init_task.o m68k_ksyms.o process.o ptrace.o semaphore.o
\
setup.o signal.o syscalltable.o sys_m68k.o time.o traps.o
...
...
arch/mips/Makefile
View file @
a91c4fb5
...
...
@@ -643,7 +643,7 @@ endif
# none has been choosen above.
#
AFLAGS_vmlinux.lds.o
:=
\
CPPFLAGS_vmlinux.lds
:=
\
-D
"LOADADDR=
$
(load-y)"
\
-D
"JIFFIES=
$(JIFFIES)
"
\
-imacros
$(srctree)
/include/asm-
$(ARCH)
/sn/mapped_kernel.h
...
...
arch/mips/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -2,7 +2,7 @@
# Makefile for the Linux/MIPS kernel.
#
extra-y
:=
head.o init_task.o vmlinux.lds
.s
extra-y
:=
head.o init_task.o vmlinux.lds
obj-y
+=
cpu-probe.o branch.o entry.o genex.o irq.o process.o
\
ptrace.o reset.o semaphore.o setup.o signal.o syscall.o
\
...
...
arch/parisc/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -4,7 +4,7 @@
head-y
:=
head.o
head-$(CONFIG_PARISC64)
:=
head64.o
extra-y
:=
init_task.o
$
(
head-y
)
vmlinux.lds
.s
extra-y
:=
init_task.o
$
(
head-y
)
vmlinux.lds
AFLAGS_entry.o
:=
-traditional
AFLAGS_pacache.o
:=
-traditional
...
...
arch/ppc/Makefile
View file @
a91c4fb5
...
...
@@ -70,7 +70,7 @@ BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd vmlinux.sm
all
:
zImage
AFLAGS_vmlinux.lds.o
:=
-Upowerpc
CPPFLAGS_vmlinux.lds
:=
-Upowerpc
# All the instructions talk about "make bzImage".
bzImage
:
zImage
...
...
arch/ppc/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -9,7 +9,7 @@ extra-$(CONFIG_E500) := head_e500.o
extra-$(CONFIG_8xx)
:=
head_8xx.o
extra-$(CONFIG_6xx)
+=
idle_6xx.o
extra-$(CONFIG_POWER4)
+=
idle_power4.o
extra-y
+=
vmlinux.lds
.s
extra-y
+=
vmlinux.lds
obj-y
:=
entry.o traps.o irq.o idle.o time.o misc.o
\
process.o signal.o ptrace.o align.o
\
...
...
arch/ppc64/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -3,7 +3,7 @@
#
EXTRA_CFLAGS
+=
-mno-minimal-toc
extra-y
:=
head.o vmlinux.lds
.s
extra-y
:=
head.o vmlinux.lds
obj-y
:=
setup.o entry.o traps.o irq.o idle.o dma.o
\
time.o process.o signal.o syscalls.o misc.o ptrace.o
\
...
...
arch/s390/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -10,7 +10,7 @@ obj-y := bitmap.o traps.o time.o process.o \
extra-$(CONFIG_ARCH_S390_31)
+=
head.o
extra-$(CONFIG_ARCH_S390X)
+=
head64.o
extra-y
+=
init_task.o vmlinux.lds
.s
extra-y
+=
init_task.o vmlinux.lds
obj-$(CONFIG_MODULES)
+=
s390_ksyms.o module.o
obj-$(CONFIG_SMP)
+=
smp.o
...
...
arch/sh/Makefile
View file @
a91c4fb5
...
...
@@ -122,7 +122,7 @@ drivers-$(CONFIG_OPROFILE) += arch/sh/oprofile/
boot
:=
arch
/sh/boot
AFLAGS_vmlinux.lds.o
:=
-traditional
CPPFLAGS_vmlinux.lds
:=
-traditional
prepare
:
target_links
...
...
arch/sh/boot/compressed/Makefile
View file @
a91c4fb5
...
...
@@ -22,7 +22,7 @@ CONFIG_MEMORY_START ?= 0x0c000000
CONFIG_BOOT_LINK_OFFSET
?=
0x00800000
IMAGE_OFFSET
:=
$(
shell
printf
"0x%8x"
$$
[
0x80000000+
$(CONFIG_MEMORY_START)
+
$(CONFIG_BOOT_LINK_OFFSET)
]
)
LDFLAGS_vmlinux
:=
-Ttext
$(IMAGE_OFFSET)
-e
startup
-T
$(obj)
/../../kernel/vmlinux.lds
.s
LDFLAGS_vmlinux
:=
-Ttext
$(IMAGE_OFFSET)
-e
startup
-T
$(obj)
/../../kernel/vmlinux.lds
$(obj)/vmlinux
:
$(OBJECTS) $(obj)/piggy.o FORCE
$(
call
if_changed,ld
)
...
...
arch/sh/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -2,7 +2,7 @@
# Makefile for the Linux/SuperH kernel.
#
extra-y
:=
head.o init_task.o vmlinux.lds
.s
extra-y
:=
head.o init_task.o vmlinux.lds
obj-y
:=
process.o signal.o entry.o traps.o irq.o
\
ptrace.o setup.o time.o sys_sh.o semaphore.o
\
...
...
arch/sh64/boot/compressed/Makefile
View file @
a91c4fb5
...
...
@@ -12,7 +12,7 @@
#
targets
:=
vmlinux vmlinux.bin vmlinux.bin.gz
\
head.o misc.o cache.o piggy.o vmlinux.lds
.o
head.o misc.o cache.o piggy.o vmlinux.lds
EXTRA_AFLAGS
:=
-traditional
...
...
@@ -25,7 +25,7 @@ OBJECTS := $(obj)/head.o $(obj)/misc.o $(obj)/cache.o
ZIMAGE_OFFSET
=
$(
shell
printf
"0x%8x"
$$
[
$(CONFIG_MEMORY_START)
+0x400000+0x10000]
)
LDFLAGS_vmlinux
:=
-Ttext
$(ZIMAGE_OFFSET)
-e
startup
\
-T
$(obj)
/../../kernel/vmlinux.lds
.s
\
-T
$(obj)
/../../kernel/vmlinux.lds
\
--no-warn-mismatch
$(obj)/vmlinux
:
$(OBJECTS) $(obj)/piggy.o FORCE
...
...
@@ -41,6 +41,6 @@ $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
LDFLAGS_piggy.o
:=
-r
--format
binary
--oformat
elf32-sh64-linux
-T
OBJCOPYFLAGS
+=
-R
.empty_zero_page
$(obj)/piggy.o
:
$(obj)/vmlinux.lds
.s
$(obj)/vmlinux.bin.gz FORCE
$(obj)/piggy.o
:
$(obj)/vmlinux.lds $(obj)/vmlinux.bin.gz FORCE
$(
call
if_changed,ld
)
arch/sparc/boot/Makefile
View file @
a91c4fb5
...
...
@@ -37,7 +37,7 @@ endef
BTOBJS
:=
$(HEAD_Y)
$(INIT_Y)
BTLIBS
:=
$(CORE_Y)
$(LIBS_Y)
$(DRIVERS_Y)
$(NET_Y)
LDFLAGS_image
:=
-T
arch
/sparc/kernel/vmlinux.lds
.s
$(BTOBJS)
\
LDFLAGS_image
:=
-T
arch
/sparc/kernel/vmlinux.lds
$(BTOBJS)
\
--start-group
$(BTLIBS)
--end-group
\
$(kallsyms.o)
$(obj)
/btfix.o
...
...
arch/sparc/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -2,7 +2,7 @@
# Makefile for the linux kernel.
#
extra-y
:=
head.o init_task.o vmlinux.lds
.s
extra-y
:=
head.o init_task.o vmlinux.lds
EXTRA_AFLAGS
:=
-ansi
...
...
arch/sparc64/Makefile
View file @
a91c4fb5
...
...
@@ -10,7 +10,7 @@
CHECK
:=
$(CHECK)
-D__sparc__
=
1
-D__sparc_v9__
=
1
AFLAGS_vmlinux.lds.o
+=
-Usparc
CPPFLAGS_vmlinux.lds
+=
-Usparc
CC
:=
$(
shell
if
$(CC)
-m64
-S
-o
/dev/null
-xc
/dev/null
>
/dev/null 2>&1
;
then
echo
$(CC)
;
else
echo
sparc64-linux-gcc
;
fi
)
...
...
arch/sparc64/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -5,7 +5,7 @@
EXTRA_AFLAGS
:=
-ansi
EXTRA_CFLAGS
:=
-Werror
extra-y
:=
head.o init_task.o vmlinux.lds
.s
extra-y
:=
head.o init_task.o vmlinux.lds
obj-y
:=
process.o setup.o cpu.o idprom.o
\
traps.o devices.o auxio.o
\
...
...
arch/um/Makefile
View file @
a91c4fb5
...
...
@@ -77,7 +77,7 @@ vmlinux: $(ARCH_DIR)/main.o
# CONFIG_MODE_SKAS + CONFIG_STATIC_LINK case.
LINK_TT
=
-static
LD_SCRIPT_TT
:=
uml.lds
.s
LD_SCRIPT_TT
:=
uml.lds
ifeq
($(CONFIG_STATIC_LINK),y)
LINK-y
+=
$(LINK_TT)
...
...
@@ -98,12 +98,12 @@ CPP_MODE_TT := $(shell [ "$(CONFIG_MODE_TT)" = "y" ] && echo -DMODE_TT)
CONFIG_KERNEL_STACK_ORDER
?=
2
STACK_SIZE
:=
$(
shell
echo
$$
[
4096
*
(
1 <<
$(CONFIG_KERNEL_STACK_ORDER)
)
]
)
AFLAGS_vmlinux.lds.o
=
-U
$(SUBARCH)
\
CPPFLAGS_vmlinux.lds
=
-U
$(SUBARCH)
\
-DSTART
=
$$
((
$(TOP_ADDR)
-
$(SIZE)
))
-DELF_ARCH
=
$(ELF_ARCH)
\
-DELF_FORMAT
=
\"
$(ELF_FORMAT)
\"
$(CPP_MODE_TT)
\
-DKERNEL_STACK_SIZE
=
$(STACK_SIZE)
AFLAGS_$(LD_SCRIPT-y
:
.s=).o = $(AFLAGS_vmlinux.lds.o
) -P -C -Uum
CPPFLAGS_$(LD_SCRIPT-y)
=
$(CPPFLAGS_vmlinux.lds
)
-P
-C
-Uum
LD_SCRIPT-y
:=
$(ARCH_DIR)
/
$
(
LD_SCRIPT-y
)
...
...
@@ -122,7 +122,7 @@ USER_CFLAGS := $(patsubst -D__KERNEL__,,$(USER_CFLAGS)) $(ARCH_INCLUDE) \
# To get a definition of F_SETSIG
USER_CFLAGS
+=
-D_GNU_SOURCE
CLEAN_FILES
+=
linux x.i gmon.out
$(ARCH_DIR)
/uml.lds
.s
\
CLEAN_FILES
+=
linux x.i gmon.out
$(ARCH_DIR)
/uml.lds
\
$(ARCH_DIR)
/dyn_link.ld.s
$(GEN_HEADERS)
$(ARCH_DIR)/main.o
:
$(ARCH_DIR)/main.c
...
...
arch/um/Makefile-skas
View file @
a91c4fb5
...
...
@@ -12,7 +12,7 @@ LINK-$(CONFIG_GPROF) += $(PROFILE)
MODE_INCLUDE += -I$(TOPDIR)/$(ARCH_DIR)/kernel/skas/include
LINK_SKAS = -Wl,-rpath,/lib
LD_SCRIPT_SKAS = dyn.lds
.s
LD_SCRIPT_SKAS = dyn.lds
GEN_HEADERS += $(ARCH_DIR)/kernel/skas/include/skas_ptregs.h
...
...
arch/um/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -3,7 +3,7 @@
# Licensed under the GPL
#
extra-y
:=
vmlinux.lds
.s
extra-y
:=
vmlinux.lds
obj-y
=
checksum.o config.o exec_kern.o exitcode.o frame_kern.o frame.o
\
helper.o init_task.o irq.o irq_user.o ksyms.o mem.o mem_user.o
\
...
...
arch/v850/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -9,7 +9,7 @@
# for more details.
#
extra-y
:=
head.o init_task.o vmlinux.lds
.s
extra-y
:=
head.o init_task.o vmlinux.lds
obj-y
+=
intv.o entry.o process.o syscalls.o time.o semaphore.o setup.o
\
signal.o irq.o mach.o ptrace.o bug.o
...
...
arch/x86_64/kernel/Makefile
View file @
a91c4fb5
...
...
@@ -2,7 +2,7 @@
# Makefile for the linux kernel.
#
extra-y
:=
head.o head64.o init_task.o vmlinux.lds
.s
extra-y
:=
head.o head64.o init_task.o vmlinux.lds
EXTRA_AFLAGS
:=
-traditional
obj-y
:=
process.o semaphore.o signal.o entry.o traps.o irq.o
\
ptrace.o i8259.o ioport.o ldt.o setup.o time.o sys_x86_64.o
\
...
...
arch/x86_64/kernel/Makefile-HEAD
View file @
a91c4fb5
...
...
@@ -2,7 +2,7 @@
# Makefile for the linux kernel.
#
extra-y := head.o head64.o init_task.o vmlinux.lds
.s
extra-y := head.o head64.o init_task.o vmlinux.lds
EXTRA_AFLAGS := -traditional
obj-y := process.o semaphore.o signal.o entry.o traps.o irq.o \
ptrace.o i8259.o ioport.o ldt.o setup.o time.o sys_x86_64.o \
...
...
scripts/Makefile.build
View file @
a91c4fb5
...
...
@@ -219,6 +219,14 @@ cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $<
targets
+=
$
(
real-objs-y
)
$
(
real-objs-m
)
$
(
lib-y
)
targets
+=
$
(
extra-y
)
$(MAKECMDGOALS)
$(always)
# Linker scripts preprocessor (.lds.S -> .lds)
# ---------------------------------------------------------------------------
quiet_cmd_cpp_lds_S
=
LDS
$@
cmd_cpp_lds_S
=
$(CPP)
$(cpp_flags)
-D__ASSEMBLY__
-o
$@
$<
%.lds
:
%.lds.S FORCE
$(
call
if_changed_dep,cpp_lds_S
)
# Build the compiled-in targets
# ---------------------------------------------------------------------------
...
...
scripts/Makefile.lib
View file @
a91c4fb5
...
...
@@ -100,6 +100,7 @@ modname_flags = $(if $(filter 1,$(words $(modname))),-DKBUILD_MODNAME=$(subst $
_c_flags
=
$(CFLAGS)
$(EXTRA_CFLAGS)
$
(
CFLAGS_
$
(
*
F
)
.o
)
_a_flags
=
$(AFLAGS)
$(EXTRA_AFLAGS)
$
(
AFLAGS_
$
(
*
F
)
.o
)
_cpp_flags
=
$(CPPFLAGS)
$(EXTRA_CPPFLAGS)
$
(
CPPFLAGS_
$
(
@F
))
# If building the kernel in a separate objtree expand all occurrences
# of -Idir to -I$(srctree)/dir except for absolute paths (starting with '/').
...
...
@@ -107,6 +108,7 @@ _a_flags = $(AFLAGS) $(EXTRA_AFLAGS) $(AFLAGS_$(*F).o)
ifeq
($(KBUILD_SRC),)
__c_flags
=
$(_c_flags)
__a_flags
=
$(_a_flags)
__cpp_flags
=
$(_cpp_flags)
else
# Prefix -I with $(srctree) if it is not an absolute path
...
...
@@ -120,6 +122,7 @@ flags = $(foreach o,$($(1)),$(if $(filter -I%,$(o)),$(call addtree,$(o)),$(o)))
# FIXME: Replace both with specific CFLAGS* statements in the makefiles
__c_flags
=
$(
call
addtree,-I
$(obj)
)
$(
call
flags,_c_flags
)
__a_flags
=
$(
call
flags,_a_flags
)
__cpp_flags
=
$(
call
flags,_cpp_flags
)
endif
c_flags
=
-Wp
,-MD,
$(depfile)
$(NOSTDINC_FLAGS)
$(CPPFLAGS)
\
...
...
@@ -129,6 +132,8 @@ c_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(CPPFLAGS) \
a_flags
=
-Wp
,-MD,
$(depfile)
$(NOSTDINC_FLAGS)
$(CPPFLAGS)
\
$(__a_flags)
$(modkern_aflags)
cpp_flags
=
-Wp
,-MD,
$(depfile)
$(NOSTDINC_FLAGS)
$(__cpp_flags)
ld_flags
=
$(LDFLAGS)
$(EXTRA_LDFLAGS)
# Finds the multi-part object the current object will be linked into
...
...
scripts/Makefile.modpost
View file @
a91c4fb5
...
...
@@ -50,7 +50,8 @@ _modpost: $(modules)
# Step 2), invoke modpost
# Includes step 3,4
quiet_cmd_modpost
=
MODPOST
cmd_modpost
=
scripts/mod/modpost
\
cmd_modpost
=
scripts/mod/modpost
\
$(
if
$(CONFIG_MODVERSIONS)
,-m
)
\
$(
if
$(KBUILD_EXTMOD)
,-i,-o
)
$(symverfile)
\
$(
filter-out
FORCE,
$^
)
...
...
scripts/mod/modpost.c
View file @
a91c4fb5
...
...
@@ -343,7 +343,6 @@ handle_modversions(struct module *mod, struct elf_info *info,
crc
=
(
unsigned
int
)
sym
->
st_value
;
add_exported_symbol
(
symname
+
strlen
(
CRC_PFX
),
mod
,
&
crc
);
modversions
=
1
;
}
break
;
case
SHN_UNDEF
:
...
...
@@ -649,7 +648,6 @@ read_dump(const char *fname)
if
(
!
(
mod
=
find_module
(
modname
)))
{
if
(
is_vmlinux
(
modname
))
{
modversions
=
1
;
have_vmlinux
=
1
;
}
mod
=
new_module
(
NOFAIL
(
strdup
(
modname
)));
...
...
@@ -696,11 +694,14 @@ main(int argc, char **argv)
char
*
dump_read
=
NULL
,
*
dump_write
=
NULL
;
int
opt
;
while
((
opt
=
getopt
(
argc
,
argv
,
"i:o:"
))
!=
-
1
)
{
while
((
opt
=
getopt
(
argc
,
argv
,
"i:
m
o:"
))
!=
-
1
)
{
switch
(
opt
)
{
case
'i'
:
dump_read
=
optarg
;
break
;
case
'm'
:
modversions
=
1
;
break
;
case
'o'
:
dump_write
=
optarg
;
break
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment