1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-02-01 18:30:56 +00:00
Go to file
Roman Zeyde 2a19b35f3e build(core): export Rust functions' stack sizes
It is useful to find the top-most stack consuming functions:

```
$ make build_firmware
$ arm-none-eabi-size -A build/firmware/firmware.elf | grep .stack_sizes
.stack_sizes          7523           0

$ cargo install stack-sizes@0.4.0
$ stack-sizes build/firmware/firmware.elf | grep trezor_lib | sort -k2 -n | tail -n10
0x081c1721	3536	trezor_lib::ui::api::firmware_micropython::new_confirm_properties::h2ab0feebaf154486
0x081c0e7d	3560	trezor_lib::ui::api::firmware_micropython::new_confirm_modify_output::h04465b97d57fafb6
0x081c6161	3688	trezor_lib::ui::api::firmware_micropython::new_show_checklist::he16b109bc4dff398
0x081c4089	4240	trezor_lib::ui::api::firmware_micropython::new_request_pin::h3280c5eff8900a22
0x081be3e1	4960	trezor_lib::ui::api::firmware_micropython::new_confirm_action::h860f874d714ace74
0x081bf545	5096	trezor_lib::ui::api::firmware_micropython::new_confirm_emphasized::h9ade56f5c88001c0
0x081c1ded	5736	trezor_lib::ui::api::firmware_micropython::new_confirm_summary::he2e1274bbc07703e
0x081c7ee9	6760	trezor_lib::ui::api::firmware_micropython::new_show_remaining_shares::h1f67cbfdfeb4c683
0x081c127d	6768	trezor_lib::ui::api::firmware_micropython::new_confirm_more::h107a4be9b5431bb4
0x081c5441	8312	trezor_lib::ui::api::firmware_micropython::new_show_address_details::h352e0b87c58914ce
```

[no changelog]
2025-01-31 06:28:15 +01:00
.clusterfuzzlite Run fuzzer in CI 2023-07-12 10:13:17 +02:00
.github ci: fix JSONDecodeError when combining .coverage.gw* files 2025-01-30 14:44:23 +01:00
ci refactor(core): restructure embed folder 2024-11-18 09:41:02 +01:00
common chore(common): add ARB, BASE and OP evm networks 2025-01-28 14:17:46 +01:00
core build(core): export Rust functions' stack sizes 2025-01-31 06:28:15 +01:00
crypto fix(crypto): make ge25519_cmove_stride4b constant time 2024-12-16 12:20:11 +01:00
docs style: add make changelog_style for automatic changelog formatting 2025-01-28 12:10:33 +02:00
legacy fix(legacy): fix a minor typo in a warning message 2025-01-29 11:51:41 +02:00
python fix(core): calculate image hash including padding between header and code 2025-01-29 16:56:11 +01:00
rust fix(all): make more protobuf fields required 2025-01-17 11:28:12 +01:00
storage build(core): use internal model names everywhere 2025-01-13 16:24:35 +01:00
tests chore: update translated UI fixtures 2025-01-30 13:26:22 +01:00
tools chore(common): add ARB, BASE and OP evm networks 2025-01-28 14:17:46 +01:00
vendor refactor(core): consistent naming of UI layouts 2025-01-20 12:29:24 +01:00
.clang-format style: update cstyle to add new line at EOF if needed 2025-01-07 10:02:43 +01:00
.editorconfig style: add .editorconfig [skip ci] 2020-11-05 16:45:52 +01:00
.gitattributes chore: tag generated files for github diffs 2024-03-15 13:11:17 +01:00
.gitignore fix(core,crypto): add more test cases from bip-173 2021-07-21 11:20:11 +02:00
.gitlab-ci.yml refactor(core): restructure embed folder 2024-11-18 09:41:02 +01:00
.gitmodules chore(core): change STM32Cube submodule to separate hal driver and cmsis submodules. 2024-02-29 23:05:56 +01:00
.pylintrc style(core): add check for utils.INTERNAL_MODEL in (tuple) 2024-08-29 10:56:21 +02:00
.yamllint.yml style: ignore yaml files in venv 2021-06-08 09:55:19 +02:00
build-docker.sh build(core): use internal model names everywhere 2025-01-13 16:24:35 +01:00
CODEOWNERS chore(CODEOWNERS): remove me from some components 2021-10-17 10:45:14 +02:00
COMMITS.md docs: introduce conventional-commits (#1234) 2020-09-15 16:11:39 +02:00
CONTRIBUTING.md docs: add PR workflow info; move CONTRIBUTING to docs 2020-04-30 14:49:47 +02:00
COPYING docs: clear up licensing information 2021-03-31 18:51:52 +02:00
create_monorepo.py chore: update branch name to main where its used 2023-10-18 10:40:05 +02:00
LICENSE.md docs: clear up licensing information 2021-03-31 18:51:52 +02:00
Makefile style: add make changelog_style for automatic changelog formatting 2025-01-28 12:10:33 +02:00
poetry.lock chore(python): bump pillow dependency 2025-01-28 09:52:56 +01:00
poetry.toml build(poetry): use new (parallel) installer 2022-11-08 12:21:46 +01:00
pyproject.toml chore(python): bump pillow dependency 2025-01-28 09:52:56 +01:00
README.md chore(readme): add link to trezor.io KB disclosure article 2023-01-09 10:45:31 +01:00
SECURITY.md docs: use monospace for fingerprints 2019-08-16 18:47:46 +02:00
setup.cfg feat(core): enforce return type annotations 2024-11-12 16:55:17 +01:00
shell.nix build: update editorconfig-checker to 2.7.2 2025-01-27 13:07:53 +02:00

Trezor Firmware

img

Repository Structure

  • ci: Gitlab CI configuration files
  • common/defs: JSON coin definitions and support tables
  • common/protob: Common protobuf definitions for the Trezor protocol
  • common/tools: Tools for managing coin definitions and related data
  • core: Trezor Core, firmware implementation for Trezor T
  • crypto: Stand-alone cryptography library used by both Trezor Core and the Trezor One firmware
  • docs: Assorted documentation
  • legacy: Trezor One firmware implementation
  • python: Python client library and the trezorctl command
  • storage: NORCOW storage implementation used by both Trezor Core and the Trezor One firmware
  • tests: Firmware unit test suite
  • tools: Miscellaneous build and helper scripts
  • vendor: Submodules for external dependencies

Contribute

See CONTRIBUTING.md.

Using Conventional Commits is strongly recommended and might be enforced in future.

Also please have a look at the docs, either in the docs folder or at docs.trezor.io before contributing. The misc chapter should be read in particular because it contains some useful assorted knowledge.

Security vulnerability disclosure

Please report suspected security vulnerabilities in private to security@satoshilabs.com, also see the disclosure section on the Trezor.io website. Please do NOT create publicly viewable issues for suspected security vulnerabilities.

Documentation

See the docs folder or visit docs.trezor.io.