mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-16 13:34:30 +00:00
Kbuild fixes for v6.7
- Fix section mismatch warning messages for riscv and loongarch - Remove CONFIG_IA64 left-over from linux/export-internal.h - Fix the location of the quotes for UIMAGE_NAME - Fix a memory leak bug in Kconfig -----BEGIN PGP SIGNATURE----- iQJJBAABCgAzFiEEbmPs18K1szRHjPqEPYsBB53g2wYFAmVaPGwVHG1hc2FoaXJv eUBrZXJuZWwub3JnAAoJED2LAQed4NsGcCsP/RmB0YOMxnUsG7/OX+Wb1ULN13Y7 jWwwVEHU9k8GWrLfG/kDRROw1+VGGaP0l340YuTJWc8mqs+uiLNTzDIL8iRKPPTw Og/dr+UzTxYI+8DaW5l062VwC4pRdtm4LfScihUtP19319f3sEMFxSFazIrJDDFs /mZPu4WSvSOvzD5vxNfxrk6zlwMMKJ7vj9fwtHpZoiU299hHcS12IxHzsGGngRSE /AJH8fLzmYToJY3ZF82MJm/xy6LDS1yfm7L+o5rcxNeFC3VizBjqW96EgWGxILuV 5zcDcPqfMLYF0UoNhgXhGEG1hJ7qBJ1JWEdozP2V8YmXnqM2PHhvcYC2MCjT+oY7 KC/Kket2N6s6FDE9RK8AkCc8t4mPnDMEot+t/YydBVAEE36f415UC7ocYho05ULz r6lXWSCW1+yu58vBu9o9hJ3MMAdinyYHGPdP8a4rFhdlqlbad24cHtqlpO+HdSOA 2NV3Jt/48yoL2DBElNIjc5ynT2WRDXKgH63G5n+XKIN4AEdBj/zAPWhK3wXMNP0o Lx+BB4ynWNEz8tDJv/P1Ay3MHhGGPI9FIDssn00qRDwuHtCs5AgzsUr1Dam9RHyd Fy2Qes1xAoe4WsqcGB7Dz3D2VJuKm0EGF/U5iPtJ77hgdE0y6NafwrUamp3s/P9R OAd+4YeA0VUnc9J6 =cAfu -----END PGP SIGNATURE----- Merge tag 'kbuild-fixes-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild Pull Kbuild fixes from Masahiro Yamada: - Fix section mismatch warning messages for riscv and loongarch - Remove CONFIG_IA64 left-over from linux/export-internal.h - Fix the location of the quotes for UIMAGE_NAME - Fix a memory leak bug in Kconfig * tag 'kbuild-fixes-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: kconfig: fix memory leak from range properties kbuild: Move the single quotes for image name linux/export: clean up the IA-64 KSYM_FUNC macro modpost: fix section mismatch message for RELA
This commit is contained in:
commit
eb3479bc23
@ -50,9 +50,7 @@
|
||||
" .previous" "\n" \
|
||||
)
|
||||
|
||||
#ifdef CONFIG_IA64
|
||||
#define KSYM_FUNC(name) @fptr(name)
|
||||
#elif defined(CONFIG_PARISC) && defined(CONFIG_64BIT)
|
||||
#if defined(CONFIG_PARISC) && defined(CONFIG_64BIT)
|
||||
#define KSYM_FUNC(name) P%name
|
||||
#else
|
||||
#define KSYM_FUNC(name) name
|
||||
|
@ -487,14 +487,14 @@ UIMAGE_OPTS-y ?=
|
||||
UIMAGE_TYPE ?= kernel
|
||||
UIMAGE_LOADADDR ?= arch_must_set_this
|
||||
UIMAGE_ENTRYADDR ?= $(UIMAGE_LOADADDR)
|
||||
UIMAGE_NAME ?= 'Linux-$(KERNELRELEASE)'
|
||||
UIMAGE_NAME ?= Linux-$(KERNELRELEASE)
|
||||
|
||||
quiet_cmd_uimage = UIMAGE $@
|
||||
cmd_uimage = $(BASH) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \
|
||||
-C $(UIMAGE_COMPRESSION) $(UIMAGE_OPTS-y) \
|
||||
-T $(UIMAGE_TYPE) \
|
||||
-a $(UIMAGE_LOADADDR) -e $(UIMAGE_ENTRYADDR) \
|
||||
-n $(UIMAGE_NAME) -d $< $@
|
||||
-n '$(UIMAGE_NAME)' -d $< $@
|
||||
|
||||
# XZ
|
||||
# ---------------------------------------------------------------------------
|
||||
|
@ -122,9 +122,9 @@ static long long sym_get_range_val(struct symbol *sym, int base)
|
||||
static void sym_validate_range(struct symbol *sym)
|
||||
{
|
||||
struct property *prop;
|
||||
struct symbol *range_sym;
|
||||
int base;
|
||||
long long val, val2;
|
||||
char str[64];
|
||||
|
||||
switch (sym->type) {
|
||||
case S_INT:
|
||||
@ -140,17 +140,15 @@ static void sym_validate_range(struct symbol *sym)
|
||||
if (!prop)
|
||||
return;
|
||||
val = strtoll(sym->curr.val, NULL, base);
|
||||
val2 = sym_get_range_val(prop->expr->left.sym, base);
|
||||
range_sym = prop->expr->left.sym;
|
||||
val2 = sym_get_range_val(range_sym, base);
|
||||
if (val >= val2) {
|
||||
val2 = sym_get_range_val(prop->expr->right.sym, base);
|
||||
range_sym = prop->expr->right.sym;
|
||||
val2 = sym_get_range_val(range_sym, base);
|
||||
if (val <= val2)
|
||||
return;
|
||||
}
|
||||
if (sym->type == S_INT)
|
||||
sprintf(str, "%lld", val2);
|
||||
else
|
||||
sprintf(str, "0x%llx", val2);
|
||||
sym->curr.val = xstrdup(str);
|
||||
sym->curr.val = range_sym->curr.val;
|
||||
}
|
||||
|
||||
static void sym_set_changed(struct symbol *sym)
|
||||
|
@ -1383,13 +1383,15 @@ static void section_rela(struct module *mod, struct elf_info *elf,
|
||||
const Elf_Rela *rela;
|
||||
|
||||
for (rela = start; rela < stop; rela++) {
|
||||
Elf_Sym *tsym;
|
||||
Elf_Addr taddr, r_offset;
|
||||
unsigned int r_type, r_sym;
|
||||
|
||||
r_offset = TO_NATIVE(rela->r_offset);
|
||||
get_rel_type_and_sym(elf, rela->r_info, &r_type, &r_sym);
|
||||
|
||||
taddr = TO_NATIVE(rela->r_addend);
|
||||
tsym = elf->symtab_start + r_sym;
|
||||
taddr = tsym->st_value + TO_NATIVE(rela->r_addend);
|
||||
|
||||
switch (elf->hdr->e_machine) {
|
||||
case EM_RISCV:
|
||||
@ -1404,7 +1406,7 @@ static void section_rela(struct module *mod, struct elf_info *elf,
|
||||
break;
|
||||
}
|
||||
|
||||
check_section_mismatch(mod, elf, elf->symtab_start + r_sym,
|
||||
check_section_mismatch(mod, elf, tsym,
|
||||
fsecndx, fromsec, r_offset, taddr);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user