-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Heap: Improve debug caller address reporting #8720
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mhightower83
wants to merge
41
commits into
esp8266:master
Choose a base branch
from
mhightower83:pr-heap-refactor3
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
4ec3c81
Lite refactoring and expanded comments
mhightower83 6088147
Improve caller address reporting to indicate address in
mhightower83 a716193
missed items
mhightower83 1102256
improve comments
mhightower83 6dfd46a
Merge branch 'master' into pr-heap-refactor3
mhightower83 8b3bb1f
Merge branch 'master' into pr-heap-refactor3
mhightower83 ea9befa
Finish merge cleanuo
mhightower83 3dd08be
requested changes
mhightower83 45f1c3b
Added missing DRAM fallback to pvPortCallocIram, pvPortZallocIram, and
mhightower83 57eb2b3
Add nothrow to aliases
mhightower83 c2590a7
Merge branch 'master' into pr-heap-refactor3
mhightower83 0619034
Merge branch 'pr-heap-refactor3' of github.com:mhightower83/Arduino i…
mhightower83 19da675
Merge branch 'master' into pr-heap-refactor3
mhightower83 af7b962
Merge branch 'pr-heap-refactor3' of github.com:mhightower83/Arduino i…
mhightower83 9423c8e
Merge branch 'master' into pr-heap-refactor3
mhightower83 471f838
Merge branch 'pr-heap-refactor3' of github.com:mhightower83/Arduino i…
mhightower83 d829540
Merge branch 'master' into pr-heap-refactor3
mhightower83 4c96365
Merge branch 'pr-heap-refactor3' of github.com:mhightower83/Arduino i…
mhightower83 840e55a
Merge branch 'master' into pr-heap-refactor3
mhightower83 95c7e2c
Merge branch 'master' into pr-heap-refactor3
mhightower83 0ce295e
Merge branch 'master' into pr-heap-refactor3
mhightower83 4717dcf
Use the same format for printing caller, file, line details
mhightower83 b083043
refactored print_loc()
mhightower83 ecc1b14
Merge branch 'master' into pr-heap-refactor3
mhightower83 a0044d6
Merge branch 'master' into pr-heap-refactor3
mhightower83 01b238a
Merge branch 'master' into pr-heap-refactor3
mhightower83 b5aa1de
removed unused variable from umm_local.c
mhightower83 1c99daf
Merge branch 'master' into pr-heap-refactor3
mhightower83 2bbadca
Merge branch 'master' into pr-heap-refactor3
mhightower83 49b48fb
Requested changes
mhightower83 3786ce6
Added missing "new" operators
mhightower83 b9a0e55
Added missing delete array operators
mhightower83 a5f6d7d
malloc align build cleanup - fully builds
mhightower83 54b034b
Correct possition of UMM_ENABLE_MEMALIGN handling in umm_malloc/umm_m…
mhightower83 e948329
remove static_assert checks on alignment
mhightower83 5653249
Updated changes to match upstream style using uncrustify.
mhightower83 d303d01
update comments
mhightower83 01a89fd
Added test Sketch for "new" and "delete" operators
mhightower83 0574c1a
Oops, remove external debug libary from example.
mhightower83 31217f6
Improved build coverage of DEV_DEBUG_ABI_CPP option and operator dele…
mhightower83 ecc7eed
Changed printf format from %S => %s
mhightower83 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Requested changes
Cleanup remnants from backport
- Loading branch information
commit 49b48fb5fb813e8155af6ba64d4c943e7c6c61d3
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule ESP8266SdFat
updated
155 files
Submodule SoftwareSerial
updated
5 files
+1 −1 | library.json | |
+1 −1 | library.properties | |
+6 −0 | src/SoftwareSerial.cpp | |
+4 −4 | src/SoftwareSerial.h | |
+1 −1 | src/circular_queue/ghostl.h |
Submodule builder
updated
5 files
+6 −1 | glue-esp/lwip-esp.c | |
+12 −16 | glue-lwip/arduino/lwipopts.h | |
+5 −5 | glue-lwip/esp-ping.c | |
+14 −3 | glue-lwip/lwip-git.c | |
+22 −32 | glue-lwip/open/lwipopts.h |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
%s
not%S
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
%S
,umm_last_fail_alloc_file
can be aPROGMEM
stringAt least some SDK file name strings are in
.irom.text
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No special case in newlib here? Implementation thinks of both 's' and 'S' as exactly same
https://github.com/earlephilhower/newlib-xtensa/blob/ebc967552ce827f21fc579fd8c437037c1b472ab/newlib/libc/stdio/nano-vfprintf_i.c#L217
printf(3) says it is '%ls', which is wide-char ('wchar_t') and non-applicable here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have always been confused about this duality. Some print functions give an error (or is it a warning?) about %S and PROGMEM strings while other functions don't, like Serial.printf_P.
%S
is used throughoutcore_esp_8266_postmortem.cpp
for handling the printing of PROGMEM strings.The comment for the code you pointed out reads to me that Arduino intends to have %S for PROGMEM strings.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
6280e98 / #5376
requested in #4223 (...which I would guess gets dragged down from AVR Core?)
merged in the original newlib 3.x.x code via igrr/newlib-xtensa#5
as-is both '%s' and even '%.*s' work seamlessly, no need for extra care
but it is true that it is used across the file, probably better served in a separate PR. at the very least for consistency