zephyr/scripts
Ulf Magnusson 59c8ae8caf kconfiglib: Fix incorrectly ordered props. for some multi.def symbols
This commit fixes a pretty nasty bug that could cause properties on
symbols and choices defined in multiple locations to end up in the wrong
order, potentially affecting evaluation.

Alexander Wachter ran into this for an out-of-tree build.

Multi.def. symbols are rare in the Linux kernel, which is what the
Kconfiglib test suite uses for compatibility testing, so this managed to
slip through. Comprehensive selftests have been added for property
ordering on nested multi.def. symbols/choices.

This bug was introduced by commit e307ba340c ("kconfiglib: Record
which MenuNode has each property").

Commit message from Kconfiglib (c8801514d63aa)
==============================================

Fix incorrectly ordered properties for some nested multi.def. symbols

_propagate_deps() visits menu nodes roughly breadth-first, meaning
properties on symbols and choices defined in multiple locations could
end up in the wrong order when copied from the menu node for some
unlucky if/menu nestings.

Fix it by moving the menu-node-to-symbol/choice property copying in
_finalize_tree() so that it's guaranteed to happen in definition order.

This bug was introduced by commit 63a4418 ("Record which MenuNode has
each property").

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-06-14 19:45:58 +02:00
..
checkpatch
ci scripts: check-compliance: Allow to run from any path 2018-05-24 16:57:24 -04:00
cmake
cross_compiler
dts scripts: extract: globals.py: fix node name when it includes "@" 2018-06-12 03:54:26 -04:00
footprint
gitlint
kconfig kconfiglib: Fix incorrectly ordered props. for some multi.def symbols 2018-06-14 19:45:58 +02:00
meta/west scripts: west: cherry-pick upstream 321ab2e17 2018-06-08 16:06:16 -05:00
sanity_chk release: update footprint data 2018-06-11 10:37:14 -05:00
support scripts: make runner a west subpackage 2018-05-19 07:01:39 +03:00
.gitignore
check_host_is_ok.py
check_link_map.py
checkpatch.pl checkpatch: downgrade COMPLEX_MACRO to a warning 2018-05-08 08:56:12 -07:00
checkstack.pl
dir_is_writeable.py
elf_helper.py Fix struct offsets (DWARF v2 compatibility) 2018-05-25 16:49:42 +02:00
file2hex.py
filter-known-issues.py
gen_alignment_script.py
gen_gdt.py
gen_idt.py
gen_kobject_list.py scripts: generalize kobject -> enum naming 2018-05-23 11:37:47 -07:00
gen_mmu_x86.py
gen_offset_header.py
gen_priv_stacks.py
gen_syscall_header.py
gen_syscalls.py
parse_syscalls.py
process_gperf.py
py2-requirements.txt
qemu-machine-hack.py
requirements.txt sanitycheck: we need pyserial for sanitycheck 2018-05-08 07:56:18 -04:00
sanitycheck sanitycheck: Add progress to verbose mode 2018-06-11 17:30:58 -04:00
spelling.txt
subfolder_list.py cmake: Update to dependency handling for syscalls.json 2018-06-13 13:22:46 +02:00
tags.sh
waitpid
west scripts: create meta-tool package, "west" 2018-05-19 07:01:39 +03:00
west-win.py scripts: create meta-tool package, "west" 2018-05-19 07:01:39 +03:00