Merge branch '2023-02-23-assorted-fixes'
- btrfs bugfix, silence a bunch of gcc-12.2 linker warnings finally, relax one of the trace test time requirements (so CI doesn't fail due to test being slightly slow, but still correct), and correct env on MMC and checking for where GPT can be
This commit is contained in:
commit
0b58258a33
5 changed files with 16 additions and 7 deletions
1
Makefile
1
Makefile
|
@ -806,6 +806,7 @@ KBUILD_CPPFLAGS += $(KCPPFLAGS)
|
|||
KBUILD_AFLAGS += $(KAFLAGS)
|
||||
KBUILD_CFLAGS += $(KCFLAGS)
|
||||
|
||||
KBUILD_LDFLAGS += -z noexecstack
|
||||
KBUILD_LDFLAGS += $(call ld-option,--no-warn-rwx-segments)
|
||||
|
||||
KBUILD_HOSTCFLAGS += $(if $(CONFIG_TOOLS_DEBUG),-g)
|
||||
|
|
|
@ -37,7 +37,8 @@ KBUILD_LDFLAGS += -m $(if $(IS_32BIT),elf_i386,elf_x86_64)
|
|||
|
||||
# This is used in the top-level Makefile which does not include
|
||||
# KBUILD_LDFLAGS
|
||||
LDFLAGS_EFI_PAYLOAD := -Bsymbolic -Bsymbolic-functions -shared --no-undefined -s
|
||||
LDFLAGS_EFI_PAYLOAD := -Bsymbolic -Bsymbolic-functions -shared --no-undefined \
|
||||
-s -zexecstack
|
||||
|
||||
OBJCOPYFLAGS_EFI := -j .text -j .sdata -j .data -j .dynamic -j .dynsym \
|
||||
-j .rel -j .rela -j .reloc --strip-all
|
||||
|
|
12
env/mmc.c
vendored
12
env/mmc.c
vendored
|
@ -94,7 +94,7 @@ static inline int mmc_offset_try_partition(const char *str, int copy, s64 *val)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline s64 mmc_offset(int copy)
|
||||
static inline s64 mmc_offset(struct mmc *mmc, int copy)
|
||||
{
|
||||
const struct {
|
||||
const char *offset_redund;
|
||||
|
@ -108,8 +108,12 @@ static inline s64 mmc_offset(int copy)
|
|||
s64 val = 0, defvalue;
|
||||
const char *propname;
|
||||
const char *str;
|
||||
int hwpart = 0;
|
||||
int err;
|
||||
|
||||
if (IS_ENABLED(CONFIG_SYS_MMC_ENV_PART))
|
||||
hwpart = mmc_get_env_part(mmc);
|
||||
|
||||
/* look for the partition in mmc CONFIG_SYS_MMC_ENV_DEV */
|
||||
str = ofnode_conf_read_str(dt_prop.partition);
|
||||
if (str) {
|
||||
|
@ -121,7 +125,7 @@ static inline s64 mmc_offset(int copy)
|
|||
}
|
||||
|
||||
/* try the GPT partition with "U-Boot ENV" TYPE GUID */
|
||||
if (IS_ENABLED(CONFIG_PARTITION_TYPE_GUID)) {
|
||||
if (IS_ENABLED(CONFIG_PARTITION_TYPE_GUID) && hwpart == 0) {
|
||||
err = mmc_offset_try_partition(NULL, copy, &val);
|
||||
if (!err)
|
||||
return val;
|
||||
|
@ -138,7 +142,7 @@ static inline s64 mmc_offset(int copy)
|
|||
return ofnode_conf_read_int(propname, defvalue);
|
||||
}
|
||||
#else
|
||||
static inline s64 mmc_offset(int copy)
|
||||
static inline s64 mmc_offset(struct mmc *mmc, int copy)
|
||||
{
|
||||
s64 offset = ENV_MMC_OFFSET;
|
||||
|
||||
|
@ -151,7 +155,7 @@ static inline s64 mmc_offset(int copy)
|
|||
|
||||
__weak int mmc_get_env_addr(struct mmc *mmc, int copy, u32 *env_addr)
|
||||
{
|
||||
s64 offset = mmc_offset(copy);
|
||||
s64 offset = mmc_offset(mmc, copy);
|
||||
|
||||
if (offset == ENV_MMC_INVALID_OFFSET) {
|
||||
printf("Invalid ENV offset in MMC, copy=%d\n", copy);
|
||||
|
|
|
@ -956,6 +956,7 @@ int __btrfs_map_block(struct btrfs_fs_info *fs_info, int rw,
|
|||
struct btrfs_mapping_tree *map_tree = &fs_info->mapping_tree;
|
||||
struct cache_extent *ce;
|
||||
struct map_lookup *map;
|
||||
u64 orig_len = *length;
|
||||
u64 offset;
|
||||
u64 stripe_offset;
|
||||
u64 *raid_map = NULL;
|
||||
|
@ -1047,6 +1048,7 @@ again:
|
|||
} else {
|
||||
*length = ce->size - offset;
|
||||
}
|
||||
*length = min_t(u64, *length, orig_len);
|
||||
|
||||
if (!multi_ret)
|
||||
goto out;
|
||||
|
|
|
@ -299,6 +299,7 @@ def test_trace(u_boot_console):
|
|||
|
||||
fg_time = check_flamegraph(cons, fname, proftool, map_fname, trace_fg)
|
||||
|
||||
# Check that bootstage and flamegraph agree to within 10%
|
||||
# Check that bootstage and flamegraph agree to within 30%
|
||||
# This allows for CI being slow to run
|
||||
diff = abs(fg_time - dm_f_time)
|
||||
assert diff / dm_f_time < 0.1
|
||||
assert diff / dm_f_time < 0.3
|
||||
|
|
Loading…
Reference in a new issue