u-boot/scripts
Sean Anderson bdaeea1b68 malloc: Annotate allocator for valgrind
This annotates malloc and friends so that valgrind can track the heap. To
do this, we need to follow a few rules:

* Call VALGRIND_MALLOCLIKE_BLOCK whenever we malloc something
* Call VALGRIND_FREELIKE_BLOCK whenever we free something (generally after
  we have done our bookkeeping)
* Call VALGRIND_RESIZEINPLACE_BLOCK whenever we change the size of an
  allocation. We don't record the original request size of a block, and
  neither does valgrind. For this reason, we pretend that the old size of
  the allocation was for 0 bytes. This marks the whole allocaton as
  undefined, so in order to mark all bits correctly, we must make the whole
  new allocation defined with VALGRIND_MAKE_MEM_DEFINED. This may cause us
  to miss some invalid reads, but there is no way to detect these without
  recording the original size of the allocation.

In addition to the above, dlmalloc itself tends to make a lot of accesses
which we know are safe, but which would be unsafe outside of dlmalloc. For
this reason, we provide a suppression file which ignores errors ocurring in
dlmalloc.c

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2022-04-11 10:00:30 -04:00
..
basic WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
coccinelle scripts: ensure the cocci script for miiphy_register does not leak the MDIO bus 2021-09-28 18:50:57 +03:00
dtc scripts: dtc: libfdt: fdt_ro.c: always define fdt_check_full 2022-02-22 10:05:44 -07:00
kconfig WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
.gitignore docproc: Remove 2018-08-03 19:53:54 -04:00
bin2c.c scripts: import bin2c.c from Linux 4.10-rc6 2017-02-08 15:56:19 -05:00
binutils-version.sh scripts: fix binutils-version.sh for 'as' without a package. 2015-01-08 11:00:45 -05:00
build_OID_registry lib: add oid registry utility 2019-12-06 16:44:20 -05:00
build-cb.sh x86: coreboot: Add a sample script to build a qemu image 2021-12-26 23:33:28 +01:00
build-efi.sh efi: Add a script to build an image for testing on UEFI 2021-11-07 18:36:55 +01:00
build-whitelist.sh Revert "global: Remove CONFIG_SYS_EXTRA_OPTIONS support" 2022-04-02 18:18:57 -04:00
check-config.sh scripts/check-config.sh: fix to be compatible with BSD sed 2021-02-24 16:51:48 -05:00
check-of.sh fdt: Makefile: Ensure that OF_BOARD is used when needed 2021-12-23 11:19:39 -05:00
checkpatch.pl scripts/checkpatch.pl: Resync with v5.16 2022-02-03 12:16:00 -05:00
checkstack.pl avr32: Retire AVR32 for good 2017-07-06 16:17:19 -04:00
clang-version.sh kconfig / kbuild: Re-sync with Linux 4.20 2021-07-14 16:57:35 -04:00
cleanpatch Makefile: Move some scripts imported from Linux 2013-12-13 09:18:45 -05:00
coccicheck Makefile: add coccicheck target 2017-11-20 20:18:38 -05:00
config_whitelist.txt configs: Resync with savedefconfig 2022-04-08 13:36:51 -04:00
const_structs.checkpatch checkpatch: update from Linux v4.13-rc6 2017-09-14 21:33:00 -04:00
coreboot.sed SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
decodecode scripts: add decodecode from Linux 2018-05-23 22:06:41 -04:00
documentation-file-ref-check scripts: add documentation-file-ref-check 2020-04-17 12:32:36 -04:00
dtc-version.sh Makefile: Only build dtc if needed 2021-10-19 11:23:07 -04:00
env2string.awk env: Allow text-env tests to run with awk 2022-04-07 16:50:53 -04:00
event_dump.py event: Add a script to decode the event-spy list 2022-03-10 08:28:36 -05:00
gcc-stack-usage.sh SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gcc-version.sh kconfig / kbuild: Re-sync with Linux 4.20 2021-07-14 16:57:35 -04:00
gen_ll_addressable_symbols.sh build: remove the variable NM in gen_ll_addressable_symbols.sh 2021-07-28 20:46:34 -04:00
get_default_envs.sh scripts/get_default_envs.sh: Remove blank lines 2022-04-07 16:50:53 -04:00
get_maintainer.pl get_maintainer.pl: update from Linux kernel v5.13-rc6 2021-07-14 16:57:35 -04:00
Kbuild.include Revert "kbuild: remove unused dtc-version.sh script" 2021-10-19 11:23:07 -04:00
Kconfig.include kconfig: Add scripts/Kconfig.include from v4.19 2020-07-01 10:11:03 -04:00
kernel-doc doc: update Kernel documentation build system 2021-01-27 12:52:57 +01:00
ld-version.sh scripts/ld-version.sh: regular expression compile fails 2017-11-20 20:18:37 -05:00
Lindent scripts/Lindent: import from Linux 3.16 2014-08-21 12:01:29 -04:00
mailmapper scripts/mailmapper: enable running with Python 3 2021-09-28 18:50:55 +03:00
Makefile scripts: Makefile: also clean subdir dtc 2022-02-03 12:15:36 -05:00
Makefile.autoconf Revert "global: Remove CONFIG_SYS_EXTRA_OPTIONS support" 2022-04-02 18:18:57 -04:00
Makefile.build kconfig / kbuild: Re-sync with Linux 4.20 2021-07-14 16:57:35 -04:00
Makefile.clean kconfig / kbuild: Re-sync with Linux 4.19 2020-04-10 11:18:32 -04:00
Makefile.dts dts: automatically build necessary .dtb files 2022-02-09 12:26:12 -07:00
Makefile.extrawarn kconfig / kbuild: Re-sync with Linux 4.20 2021-07-14 16:57:35 -04:00
Makefile.host kbuild: cherry-pick kbuild changes from Linux 2020-04-24 16:40:09 -04:00
Makefile.lib scripts: Makefile.lib: generate dsdt_generated.c instead of dsdt.c 2022-02-25 11:21:24 -05:00
Makefile.spl sunxi: Support building a SPL as a TOC0 image 2022-04-04 23:24:17 +01:00
Makefile.uncmd_spl dm: gpio: Allow control of GPIO uclass in SPL 2019-12-15 08:52:29 +08:00
mkmakefile kconfig / kbuild: Re-sync with Linux 4.20 2021-07-14 16:57:35 -04:00
objdiff scripts: objdiff: Ignore debug info when comparing 2017-08-26 14:56:14 -04:00
of_allowlist.txt fdt: Makefile: Ensure that OF_BOARD is used when needed 2021-12-23 11:19:39 -05:00
pylint.base binman fixes/improvements to FIT generator 2022-02-23 13:34:08 -05:00
setlocalversion scripts: setlocalversion: remove quotes around localversion from config 2022-02-14 13:04:39 -05:00
show-gnu-make SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spdxcheck.py scripts/checkpatch.pl: Resync with v5.16 2022-02-03 12:16:00 -05:00
spelling.txt scripts: update spelling.txt from upstream Linux 2021-11-20 10:53:00 +01:00
u-boot.supp malloc: Annotate allocator for valgrind 2022-04-11 10:00:30 -04:00