Merge "Merge keystone/android12-5.10-keystone-qcom-release.66+ (3499d10
) into msm-5.10"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
3380d355aa
@@ -174,8 +174,13 @@ clean := -f $(srctree)/scripts/Makefile.clean obj
|
||||
echo-cmd = $(if $($(quiet)cmd_$(1)),\
|
||||
echo ' $(call escsq,$($(quiet)cmd_$(1)))$(echo-why)';)
|
||||
|
||||
# sink stdout for 'make -s'
|
||||
redirect :=
|
||||
quiet_redirect :=
|
||||
silent_redirect := exec >/dev/null;
|
||||
|
||||
# printing commands
|
||||
cmd = @set -e; $(echo-cmd) $(cmd_$(1))
|
||||
cmd = @set -e; $(echo-cmd) $($(quiet)redirect) $(cmd_$(1))
|
||||
|
||||
###
|
||||
# if_changed - execute command if any prerequisite is newer than
|
||||
|
@@ -14,6 +14,7 @@ hostprogs-always-$(CONFIG_ASN1) += asn1_compiler
|
||||
hostprogs-always-$(CONFIG_MODULE_SIG_FORMAT) += sign-file
|
||||
hostprogs-always-$(CONFIG_SYSTEM_TRUSTED_KEYRING) += extract-cert
|
||||
hostprogs-always-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE) += insert-sys-cert
|
||||
hostprogs-always-$(CONFIG_SYSTEM_REVOCATION_LIST) += extract-cert
|
||||
|
||||
HOSTCFLAGS_sorttable.o = -I$(srctree)/tools/include
|
||||
HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include
|
||||
|
@@ -273,7 +273,8 @@ define rule_as_o_S
|
||||
endef
|
||||
|
||||
# Built-in and composite module parts
|
||||
$(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_dep) FORCE
|
||||
.SECONDEXPANSION:
|
||||
$(obj)/%.o: $(src)/%.c $(recordmcount_source) $$(objtool_dep) FORCE
|
||||
$(call if_changed_rule,cc_o_c)
|
||||
$(call cmd,force_checksrc)
|
||||
|
||||
@@ -354,7 +355,7 @@ cmd_modversions_S = \
|
||||
fi
|
||||
endif
|
||||
|
||||
$(obj)/%.o: $(src)/%.S $(objtool_dep) FORCE
|
||||
$(obj)/%.o: $(src)/%.S $$(objtool_dep) FORCE
|
||||
$(call if_changed_rule,as_o_S)
|
||||
|
||||
targets += $(filter-out $(subdir-builtin), $(real-obj-y))
|
||||
|
@@ -1,37 +1,16 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
export CFLAGS_UBSAN :=
|
||||
# Enable available and selected UBSAN features.
|
||||
ubsan-cflags-$(CONFIG_UBSAN_ALIGNMENT) += -fsanitize=alignment
|
||||
ubsan-cflags-$(CONFIG_UBSAN_ONLY_BOUNDS) += -fsanitize=bounds
|
||||
ubsan-cflags-$(CONFIG_UBSAN_ARRAY_BOUNDS) += -fsanitize=array-bounds
|
||||
ubsan-cflags-$(CONFIG_UBSAN_LOCAL_BOUNDS) += -fsanitize=local-bounds
|
||||
ubsan-cflags-$(CONFIG_UBSAN_SHIFT) += -fsanitize=shift
|
||||
ubsan-cflags-$(CONFIG_UBSAN_DIV_ZERO) += -fsanitize=integer-divide-by-zero
|
||||
ubsan-cflags-$(CONFIG_UBSAN_UNREACHABLE) += -fsanitize=unreachable
|
||||
ubsan-cflags-$(CONFIG_UBSAN_OBJECT_SIZE) += -fsanitize=object-size
|
||||
ubsan-cflags-$(CONFIG_UBSAN_BOOL) += -fsanitize=bool
|
||||
ubsan-cflags-$(CONFIG_UBSAN_ENUM) += -fsanitize=enum
|
||||
ubsan-cflags-$(CONFIG_UBSAN_TRAP) += -fsanitize-undefined-trap-on-error
|
||||
|
||||
ifdef CONFIG_UBSAN_ALIGNMENT
|
||||
CFLAGS_UBSAN += $(call cc-option, -fsanitize=alignment)
|
||||
endif
|
||||
|
||||
ifdef CONFIG_UBSAN_BOUNDS
|
||||
ifdef CONFIG_CC_IS_CLANG
|
||||
CFLAGS_UBSAN += -fsanitize=array-bounds
|
||||
else
|
||||
CFLAGS_UBSAN += $(call cc-option, -fsanitize=bounds)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef CONFIG_UBSAN_LOCAL_BOUNDS
|
||||
CFLAGS_UBSAN += -fsanitize=local-bounds
|
||||
endif
|
||||
|
||||
ifdef CONFIG_UBSAN_MISC
|
||||
CFLAGS_UBSAN += $(call cc-option, -fsanitize=shift)
|
||||
CFLAGS_UBSAN += $(call cc-option, -fsanitize=integer-divide-by-zero)
|
||||
CFLAGS_UBSAN += $(call cc-option, -fsanitize=unreachable)
|
||||
CFLAGS_UBSAN += $(call cc-option, -fsanitize=signed-integer-overflow)
|
||||
CFLAGS_UBSAN += $(call cc-option, -fsanitize=object-size)
|
||||
CFLAGS_UBSAN += $(call cc-option, -fsanitize=bool)
|
||||
CFLAGS_UBSAN += $(call cc-option, -fsanitize=enum)
|
||||
endif
|
||||
|
||||
ifdef CONFIG_UBSAN_TRAP
|
||||
CFLAGS_UBSAN += $(call cc-option, -fsanitize-undefined-trap-on-error)
|
||||
endif
|
||||
|
||||
# -fsanitize=* options makes GCC less smart than usual and
|
||||
# increase number of 'maybe-uninitialized false-positives
|
||||
CFLAGS_UBSAN += $(call cc-option, -Wno-maybe-uninitialized)
|
||||
export CFLAGS_UBSAN := $(ubsan-cflags-y)
|
||||
|
@@ -51,6 +51,7 @@ struct ignored_warning {
|
||||
const struct ignored_warning ignored_warnings[] = {
|
||||
IGNORE_WARNING("signal.c:51"),
|
||||
IGNORE_WARNING("signal.c:95"),
|
||||
IGNORE_WARNING("userfaultfd.c:1875"),
|
||||
{ NULL, 0 }
|
||||
};
|
||||
|
||||
|
@@ -192,15 +192,20 @@ static unsigned int get_symindex(Elf_Sym const *sym, Elf32_Word const *symtab,
|
||||
Elf32_Word const *symtab_shndx)
|
||||
{
|
||||
unsigned long offset;
|
||||
unsigned short shndx = w2(sym->st_shndx);
|
||||
int index;
|
||||
|
||||
if (sym->st_shndx != SHN_XINDEX)
|
||||
return w2(sym->st_shndx);
|
||||
if (shndx > SHN_UNDEF && shndx < SHN_LORESERVE)
|
||||
return shndx;
|
||||
|
||||
offset = (unsigned long)sym - (unsigned long)symtab;
|
||||
index = offset / sizeof(*sym);
|
||||
if (shndx == SHN_XINDEX) {
|
||||
offset = (unsigned long)sym - (unsigned long)symtab;
|
||||
index = offset / sizeof(*sym);
|
||||
|
||||
return w(symtab_shndx[index]);
|
||||
return w(symtab_shndx[index]);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int get_shnum(Elf_Ehdr const *ehdr, Elf_Shdr const *shdr0)
|
||||
|
@@ -17,7 +17,7 @@ Usage:
|
||||
$ cat /sys/kernel/debug/tracing/trace_pipe > ~/raw_trace_func
|
||||
Wait some times but not too much, the script is a bit slow.
|
||||
Break the pipe (Ctrl + Z)
|
||||
$ scripts/draw_functrace.py < raw_trace_func > draw_functrace
|
||||
$ scripts/tracing/draw_functrace.py < ~/raw_trace_func > draw_functrace
|
||||
Then you have your drawn trace in draw_functrace
|
||||
"""
|
||||
|
||||
@@ -103,10 +103,10 @@ def parseLine(line):
|
||||
line = line.strip()
|
||||
if line.startswith("#"):
|
||||
raise CommentLineException
|
||||
m = re.match("[^]]+?\\] +([0-9.]+): (\\w+) <-(\\w+)", line)
|
||||
m = re.match("[^]]+?\\] +([a-z.]+) +([0-9.]+): (\\w+) <-(\\w+)", line)
|
||||
if m is None:
|
||||
raise BrokenLineException
|
||||
return (m.group(1), m.group(2), m.group(3))
|
||||
return (m.group(2), m.group(3), m.group(4))
|
||||
|
||||
|
||||
def main():
|
||||
|
Reference in New Issue
Block a user