Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
ff5b1ce6
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ff5b1ce6
编写于
8年前
作者:
M
Michal Marek
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'kbuild/rc-fixes' into kbuild/misc
上级
d1e774f4
152b695d
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
81 addition
and
10 deletion
+81
-10
Makefile
Makefile
+3
-2
arch/x86/purgatory/Makefile
arch/x86/purgatory/Makefile
+1
-0
scripts/Makefile.build
scripts/Makefile.build
+75
-6
scripts/gcc-x86_64-has-stack-protector.sh
scripts/gcc-x86_64-has-stack-protector.sh
+1
-1
scripts/package/builddeb
scripts/package/builddeb
+1
-1
未找到文件。
Makefile
浏览文件 @
ff5b1ce6
...
...
@@ -399,11 +399,12 @@ KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-fno-strict-aliasing
-fno-common
\
-Werror-implicit-function-declaration
\
-Wno-format-security
\
-std
=
gnu89
-std
=
gnu89
$(
call
cc-option,-fno-PIE
)
KBUILD_AFLAGS_KERNEL
:=
KBUILD_CFLAGS_KERNEL
:=
KBUILD_AFLAGS
:=
-D__ASSEMBLY__
KBUILD_AFLAGS
:=
-D__ASSEMBLY__
$(
call
cc-option,-fno-PIE
)
KBUILD_AFLAGS_MODULE
:=
-DMODULE
KBUILD_CFLAGS_MODULE
:=
-DMODULE
KBUILD_LDFLAGS_MODULE
:=
-T
$(srctree)
/scripts/module-common.lds
...
...
This diff is collapsed.
Click to expand it.
arch/x86/purgatory/Makefile
浏览文件 @
ff5b1ce6
...
...
@@ -16,6 +16,7 @@ KCOV_INSTRUMENT := n
KBUILD_CFLAGS
:=
-fno-strict-aliasing
-Wall
-Wstrict-prototypes
-fno-zero-initialized-in-bss
-fno-builtin
-ffreestanding
-c
-MD
-Os
-mcmodel
=
large
KBUILD_CFLAGS
+=
-m
$(BITS)
KBUILD_CFLAGS
+=
$(
call
cc-option,-fno-PIE
)
$(obj)/purgatory.ro
:
$(PURGATORY_OBJS) FORCE
$(
call
if_changed,ld
)
...
...
This diff is collapsed.
Click to expand it.
scripts/Makefile.build
浏览文件 @
ff5b1ce6
...
...
@@ -159,7 +159,8 @@ cmd_cpp_i_c = $(CPP) $(c_flags) -o $@ $<
$(obj)/%.i
:
$(src)/%.c FORCE
$(
call
if_changed_dep,cpp_i_c
)
cmd_gensymtypes
=
\
# These mirror gensymtypes_S and co below, keep them in synch.
cmd_gensymtypes_c
=
\
$(CPP)
-D__GENKSYMS__
$(c_flags)
$<
|
\
$(GENKSYMS)
$(
if
$(1)
,
-T
$(2)
)
\
$(
patsubst
y,-s _,
$(CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX)
)
\
...
...
@@ -169,7 +170,7 @@ cmd_gensymtypes = \
quiet_cmd_cc_symtypes_c
=
SYM
$(quiet_modtag)
$@
cmd_cc_symtypes_c
=
\
set
-e
;
\
$(
call
cmd_gensymtypes
,true,
$@
)
>
/dev/null
;
\
$(
call
cmd_gensymtypes
_c,true,
$@
)
>
/dev/null
;
\
test
-s
$@
||
rm
-f
$@
$(obj)/%.symtypes
:
$(src)/%.c FORCE
...
...
@@ -198,9 +199,10 @@ else
# the actual value of the checksum generated by genksyms
cmd_cc_o_c
=
$(CC)
$(c_flags)
-c
-o
$
(
@D
)
/.tmp_
$
(
@F
)
$<
cmd_modversions
=
\
cmd_modversions_c
=
\
if
$(OBJDUMP)
-h
$
(
@D
)
/.tmp_
$
(
@F
)
|
grep
-q
__ksymtab
;
then
\
$(
call
cmd_gensymtypes,
$(KBUILD_SYMTYPES)
,
$
(
@:.o
=
.symtypes
))
\
$(
call
cmd_gensymtypes
_c
,
$(KBUILD_SYMTYPES)
,
$
(
@:.o
=
.symtypes
))
\
>
$
(
@D
)
/.tmp_
$
(
@F:.o
=
.ver
)
;
\
\
$(LD)
$(LDFLAGS)
-r
-o
$@
$
(
@D
)
/.tmp_
$
(
@F
)
\
...
...
@@ -268,13 +270,14 @@ endif # CONFIG_STACK_VALIDATION
define
rule_cc_o_c
$(call
echo-cmd,checksrc)
$(cmd_checksrc)
\
$(call
cmd_and_fixdep,cc_o_c)
\
$(cmd_modversions)
\
$(cmd_modversions
_c
)
\
$(cmd_objtool)
\
$(call
echo-cmd,record_mcount)
$(cmd_record_mcount)
endef
define
rule_as_o_S
$(call
cmd_and_fixdep,as_o_S)
\
$(cmd_modversions_S)
\
$(cmd_objtool)
endef
...
...
@@ -314,6 +317,39 @@ modkern_aflags := $(KBUILD_AFLAGS_KERNEL) $(AFLAGS_KERNEL)
$(real-objs-m)
:
modkern_aflags := $(KBUILD_AFLAGS_MODULE) $(AFLAGS_MODULE)
$(real-objs-m
:
.o=.s): modkern_aflags := $(KBUILD_AFLAGS_MODULE) $(AFLAGS_MODULE)
# .S file exports must have their C prototypes defined in asm/asm-prototypes.h
# or a file that it includes, in order to get versioned symbols. We build a
# dummy C file that includes asm-prototypes and the EXPORT_SYMBOL lines from
# the .S file (with trailing ';'), and run genksyms on that, to extract vers.
#
# This is convoluted. The .S file must first be preprocessed to run guards and
# expand names, then the resulting exports must be constructed into plain
# EXPORT_SYMBOL(symbol); to build our dummy C file, and that gets preprocessed
# to make the genksyms input.
#
# These mirror gensymtypes_c and co above, keep them in synch.
cmd_gensymtypes_S
=
\
(
echo
"
\#
include <linux/kernel.h>"
;
\
echo
"
\#
include <asm/asm-prototypes.h>"
;
\
$(CPP)
$(a_flags)
$<
|
\
grep
"
\<
___EXPORT_SYMBOL
\>
"
|
\
sed
's/.*___EXPORT_SYMBOL[[:space:]]*\([a-zA-Z0-9_]*\)[[:space:]]*,.*/EXPORT_SYMBOL(\1);/'
)
|
\
$(CPP)
-D__GENKSYMS__
$(c_flags)
-xc
- |
\
$(GENKSYMS)
$(
if
$(1)
,
-T
$(2)
)
\
$(
patsubst
y,-s _,
$(CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX)
)
\
$(
if
$(KBUILD_PRESERVE)
,-p
)
\
-r
$(
firstword
$(
wildcard
$(2:.symtypes=.symref)
/dev/null
))
quiet_cmd_cc_symtypes_S
=
SYM
$(quiet_modtag)
$@
cmd_cc_symtypes_S
=
\
set
-e
;
\
$(
call
cmd_gensymtypes_S,true,
$@
)
>
/dev/null
;
\
test
-s
$@
||
rm
-f
$@
$(obj)/%.symtypes
:
$(src)/%.S FORCE
$(
call
cmd,cc_symtypes_S
)
quiet_cmd_cpp_s_S
=
CPP
$(quiet_modtag)
$@
cmd_cpp_s_S
=
$(CPP)
$(a_flags)
-o
$@
$<
...
...
@@ -321,7 +357,37 @@ $(obj)/%.s: $(src)/%.S FORCE
$(
call
if_changed_dep,cpp_s_S
)
quiet_cmd_as_o_S
=
AS
$(quiet_modtag)
$@
cmd_as_o_S
=
$(CC)
$(a_flags)
-c
-o
$@
$<
ifndef
CONFIG_MODVERSIONS
cmd_as_o_S
=
$(CC)
$(a_flags)
-c
-o
$@
$<
else
ASM_PROTOTYPES
:=
$(
wildcard
$(srctree)
/arch/
$(SRCARCH)
/include/asm/asm-prototypes.h
)
ifeq
($(ASM_PROTOTYPES),)
cmd_as_o_S
=
$(CC)
$(a_flags)
-c
-o
$@
$<
else
# versioning matches the C process described above, with difference that
# we parse asm-prototypes.h C header to get function definitions.
cmd_as_o_S
=
$(CC)
$(a_flags)
-c
-o
$
(
@D
)
/.tmp_
$
(
@F
)
$<
cmd_modversions_S
=
\
if
$(OBJDUMP)
-h
$
(
@D
)
/.tmp_
$
(
@F
)
|
grep
-q
__ksymtab
;
then
\
$(
call
cmd_gensymtypes_S,
$(KBUILD_SYMTYPES)
,
$
(
@:.o
=
.symtypes
))
\
>
$
(
@D
)
/.tmp_
$
(
@F:.o
=
.ver
)
;
\
\
$(LD)
$(LDFLAGS)
-r
-o
$@
$
(
@D
)
/.tmp_
$
(
@F
)
\
-T
$
(
@D
)
/.tmp_
$
(
@F:.o
=
.ver
)
;
\
rm
-f
$
(
@D
)
/.tmp_
$
(
@F
)
$
(
@D
)
/.tmp_
$
(
@F:.o
=
.ver
)
;
\
else
\
mv
-f
$
(
@D
)
/.tmp_
$
(
@F
)
$@
;
\
fi
;
endif
endif
$(obj)/%.o
:
$(src)/%.S $(objtool_obj) FORCE
$(
call
if_changed_rule,as_o_S
)
...
...
@@ -430,6 +496,9 @@ cmd_export_list = $(OBJDUMP) -h $< | \
$(obj)/lib-ksyms.o
:
$(lib-target) FORCE
$(
call
if_changed,export_list
)
targets
+=
$(obj)
/lib-ksyms.o
endif
#
...
...
This diff is collapsed.
Click to expand it.
scripts/gcc-x86_64-has-stack-protector.sh
浏览文件 @
ff5b1ce6
#!/bin/sh
echo
"int foo(void) { char X[200]; return 3; }"
|
$*
-S
-x
c
-c
-O0
-mcmodel
=
kernel
-fstack-protector
-
-o
- 2> /dev/null |
grep
-q
"%gs"
echo
"int foo(void) { char X[200]; return 3; }"
|
$*
-S
-x
c
-c
-O0
-mcmodel
=
kernel
-f
no-PIE
-f
stack-protector
-
-o
- 2> /dev/null |
grep
-q
"%gs"
if
[
"
$?
"
-eq
"0"
]
;
then
echo
y
else
...
...
This diff is collapsed.
Click to expand it.
scripts/package/builddeb
浏览文件 @
ff5b1ce6
...
...
@@ -51,7 +51,7 @@ set_debarch() {
debarch
=
hppa
;;
mips
*
)
debarch
=
mips
$(
grep
-q
CPU_LITTLE_ENDIAN
=
y
$KCONFIG_CONFIG
&&
echo
el
||
true
)
;;
arm64
)
a
arch64|a
rm64
)
debarch
=
arm64
;;
arm
*
)
if
grep
-q
CONFIG_AEABI
=
y
$KCONFIG_CONFIG
;
then
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
新手
引导
客服
返回
顶部