Skip to content
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

Put temporary fix for function pointer casting error in arm gcc #14830

Conversation

fessehaeve
Copy link
Contributor

Problem

Function pointer cast ignores return value. This seems to be a compiler issue as later arm-gcc versions fix or don't exhibit this error.
This was affecting write IM on nrf platform.

Change overview

Separate the cast and call of the function.

Testing

Tested with chip-tool along with nrf based application.

@github-actions
Copy link

github-actions bot commented Feb 7, 2022

PR #14830: Size comparison from 0f7be8b to d9da2fc

Full report (34 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 0f7be8b d9da2fc change % change
cyw30739 light cyw930739m2evb_01 (read/write) 587670 587670 0 0.0
.app_xip_area 494404 494404 0 0.0
.bss 75988 75988 0 0.0
.data 624 624 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 545586 545586 0 0.0
.app_xip_area 453880 453880 0 0.0
.bss 74460 74460 0 0.0
.data 588 588 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 570010 570010 0 0.0
.app_xip_area 468984 468984 0 0.0
.bss 83452 83452 0 0.0
.data 532 532 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 857496 857496 0 0.0
(read/write) 125744 125744 0 0.0
.bss 123816 123816 0 0.0
.data 1924 1924 0 0.0
.text 857488 857488 0 0.0
BRD4161A+rpc (read only) 844848 844848 0 0.0
(read/write) 142400 142400 0 0.0
.bss 140376 140376 0 0.0
.data 2024 2024 0 0.0
.text 844840 844840 0 0.0
window-app BRD4161A (read only) 829732 829732 0 0.0
(read/write) 124384 124384 0 0.0
.bss 122504 122504 0 0.0
.data 1880 1880 0 0.0
.text 829724 829724 0 0.0
esp32 all-clusters-app c3devkit (read only) 936986 936986 0 0.0
(read/write) 1401242 1401242 0 0.0
.dram0.bss 70064 70064 0 0.0
.dram0.data 14276 14276 0 0.0
.flash.rodata 198000 198000 0 0.0
.flash.text 936986 936986 0 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 984975 984975 0 0.0
(read/write) 465592 465592 0 0.0
.dram0.bss 74816 74816 0 0.0
.dram0.data 34040 34040 0 0.0
.flash.rodata 224608 224608 0 0.0
.flash.text 979591 979591 0 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 672212 672212 0 0.0
.bss 75688 75688 0 0.0
.data 1884 1884 0 0.0
.text 588840 588840 0 0.0
lock k32w061+release (read/write) 673744 673744 0 0.0
.bss 76016 76016 0 0.0
.data 1924 1924 0 0.0
.text 590004 590004 0 0.0
linux chip-tool-ipv6only arm64 (read only) 7238916 7238916 0 0.0
(read/write) 287921 287921 0 0.0
.bss 50641 50641 0 0.0
.data 1176 1176 0 0.0
.data.rel.ro 186528 186528 0 0.0
.dynamic 560 560 0 0.0
.got 45784 45784 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 392812 392812 0 0.0
.text 6241268 6241268 0 0.0
thermostat-no-ble arm64 (read only) 2127300 2127300 0 0.0
(read/write) 140561 140561 0 0.0
.bss 57601 57601 0 0.0
.data 968 968 0 0.0
.data.rel.ro 74872 74872 0 0.0
.dynamic 560 560 0 0.0
.got 4152 4152 0 0.0
.init 24 24 0 0.0
.init_array 328 328 0 0.0
.rodata 131412 131412 0 0.0
.text 1777936 1777936 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2389192 2389192 0 0.0
.bss 188972 188972 0 0.0
.data 5296 5296 0 0.0
.text 1351792 1351792 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2348448 2348448 0 0.0
.bss 180936 180936 0 0.0
.data 5600 5600 0 0.0
.text 1311048 1311048 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2312368 2312368 0 0.0
.bss 180824 180824 0 0.0
.data 5584 5584 0 0.0
.text 1274968 1274968 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2302708 2302708 0 0.0
.bss 178100 178100 0 0.0
.data 5400 5400 0 0.0
.text 1265280 1265280 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 998095 998095 0 0.0
bss 120404 120404 0 0.0
rodata 117308 117308 0 0.0
text 681464 681464 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 969451 969451 0 0.0
bss 116260 116260 0 0.0
rodata 108696 108696 0 0.0
text 666020 666020 0 0.0
nrf52840dongle_nrf52840 (read/write) 1014783 1014783 0 0.0
bss 121768 121768 0 0.0
rodata 116144 116144 0 0.0
text 686956 686956 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 904786 904786 0 0.0
bss 116964 116964 0 0.0
rodata 110564 110564 0 0.0
text 596472 596472 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 930235 930235 0 0.0
bss 118740 118740 0 0.0
rodata 105656 105656 0 0.0
text 627324 627324 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 837762 837762 0 0.0
bss 115336 115336 0 0.0
rodata 98828 98828 0 0.0
text 543108 543108 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541779 541779 0 0.0
bss 52588 52588 0 0.0
rodata 50048 50048 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 932867 932867 0 0.0
bss 118492 118492 0 0.0
rodata 106128 106128 0 0.0
text 629660 629660 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 927807 927807 0 0.0
bss 118496 118496 0 0.0
rodata 105132 105132 0 0.0
text 625600 625600 0 0.0
shell nrf52840dk_nrf52840 (read/write) 802811 802811 0 0.0
bss 110968 110968 0 0.0
rodata 78480 78480 0 0.0
text 535792 535792 0 0.0
p6 all-clusters-app default (read/write) 2450304 2450304 0 0.0
.bss 117128 117128 0 0.0
.data 2584 2584 0 0.0
.text 1408568 1408568 0 0.0
light-app default (read/write) 2353736 2353736 0 0.0
.bss 106128 106128 0 0.0
.data 2432 2432 0 0.0
.text 1312000 1312000 0 0.0
lock-app default (read/write) 2318944 2318944 0 0.0
.bss 105848 105848 0 0.0
.data 2392 2392 0 0.0
.text 1277208 1277208 0 0.0
qpg lighting-app qpg6105+debug (read only) 580468 580468 0 0.0
(read/write) 146940 146940 0 0.0
.bss 87976 87976 0 0.0
.data 1088 1088 0 0.0
.text 575148 575148 0 0.0
lock-app qpg6105+debug (read only) 526548 526548 0 0.0
(read/write) 146940 146940 0 0.0
.bss 87424 87424 0 0.0
.data 1024 1024 0 0.0
.text 521228 521228 0 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 859102 859102 0 0.0
bss 88332 88332 0 0.0
noinit 37160 37160 0 0.0
text 602176 602176 0 0.0

@github-actions
Copy link

github-actions bot commented Feb 7, 2022

PR #14830: Size comparison from 0f7be8b to 53c174f

Increases (16 builds for cyw30739, efr32, k32w, linux, p6, qpg, telink)
platform target config section 0f7be8b 53c174f change % change
cyw30739 light cyw930739m2evb_01 (read/write) 587670 587734 64 0.0
.app_xip_area 494404 494468 64 0.0
lock cyw930739m2evb_01 (read/write) 545586 545646 60 0.0
.app_xip_area 453880 453940 60 0.0
ota-requestor cyw930739m2evb_01 (read/write) 570010 570090 80 0.0
.app_xip_area 468984 469064 80 0.0
efr32 lighting-app BRD4161A (read only) 857496 857524 28 0.0
.text 857488 857516 28 0.0
BRD4161A+rpc (read only) 844848 844900 52 0.0
.text 844840 844892 52 0.0
window-app BRD4161A (read only) 829732 829776 44 0.0
.text 829724 829768 44 0.0
k32w light k32w061+release (read/write) 672212 672292 80 0.0
.text 588840 588920 80 0.0
lock k32w061+release (read/write) 673744 673760 16 0.0
.text 590004 590020 16 0.0
linux chip-tool-ipv6only arm64 (read only) 7238916 7239492 576 0.0
.text 6241268 6241844 576 0.0
thermostat-no-ble arm64 (read only) 2127300 2127652 352 0.0
.text 1777936 1778288 352 0.0
p6 all-clusters-app default (read/write) 2450304 2450352 48 0.0
.text 1408568 1408616 48 0.0
light-app default (read/write) 2353736 2353784 48 0.0
.text 1312000 1312048 48 0.0
lock-app default (read/write) 2318944 2318984 40 0.0
.text 1277208 1277248 40 0.0
qpg lighting-app qpg6105+debug (read only) 580468 580504 36 0.0
.text 575148 575184 36 0.0
lock-app qpg6105+debug (read only) 526548 526572 24 0.0
.text 521228 521252 24 0.0
telink lighting-app tlsr9518adk80d (read/write) 859102 859166 64 0.0
text 602176 602234 58 0.0
Decreases (1 build for efr32)
platform target config section 0f7be8b 53c174f change % change
efr32 lighting-app BRD4161A (read/write) 125744 125740 -4 -0.0
Full report (17 builds for cyw30739, efr32, k32w, linux, p6, qpg, telink)
platform target config section 0f7be8b 53c174f change % change
cyw30739 light cyw930739m2evb_01 (read/write) 587670 587734 64 0.0
.app_xip_area 494404 494468 64 0.0
.bss 75988 75988 0 0.0
.data 624 624 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 545586 545646 60 0.0
.app_xip_area 453880 453940 60 0.0
.bss 74460 74460 0 0.0
.data 588 588 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 570010 570090 80 0.0
.app_xip_area 468984 469064 80 0.0
.bss 83452 83452 0 0.0
.data 532 532 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 857496 857524 28 0.0
(read/write) 125744 125740 -4 -0.0
.bss 123816 123816 0 0.0
.data 1924 1924 0 0.0
.text 857488 857516 28 0.0
BRD4161A+rpc (read only) 844848 844900 52 0.0
(read/write) 142400 142400 0 0.0
.bss 140376 140376 0 0.0
.data 2024 2024 0 0.0
.text 844840 844892 52 0.0
window-app BRD4161A (read only) 829732 829776 44 0.0
(read/write) 124384 124384 0 0.0
.bss 122504 122504 0 0.0
.data 1880 1880 0 0.0
.text 829724 829768 44 0.0
k32w light k32w061+release (read/write) 672212 672292 80 0.0
.bss 75688 75688 0 0.0
.data 1884 1884 0 0.0
.text 588840 588920 80 0.0
lock k32w061+release (read/write) 673744 673760 16 0.0
.bss 76016 76016 0 0.0
.data 1924 1924 0 0.0
.text 590004 590020 16 0.0
linux chip-tool-ipv6only arm64 (read only) 7238916 7239492 576 0.0
(read/write) 287921 287921 0 0.0
.bss 50641 50641 0 0.0
.data 1176 1176 0 0.0
.data.rel.ro 186528 186528 0 0.0
.dynamic 560 560 0 0.0
.got 45784 45784 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 392812 392812 0 0.0
.text 6241268 6241844 576 0.0
thermostat-no-ble arm64 (read only) 2127300 2127652 352 0.0
(read/write) 140561 140561 0 0.0
.bss 57601 57601 0 0.0
.data 968 968 0 0.0
.data.rel.ro 74872 74872 0 0.0
.dynamic 560 560 0 0.0
.got 4152 4152 0 0.0
.init 24 24 0 0.0
.init_array 328 328 0 0.0
.rodata 131412 131412 0 0.0
.text 1777936 1778288 352 0.0
p6 all-clusters-app default (read/write) 2450304 2450352 48 0.0
.bss 117128 117128 0 0.0
.data 2584 2584 0 0.0
.text 1408568 1408616 48 0.0
light-app default (read/write) 2353736 2353784 48 0.0
.bss 106128 106128 0 0.0
.data 2432 2432 0 0.0
.text 1312000 1312048 48 0.0
lock-app default (read/write) 2318944 2318984 40 0.0
.bss 105848 105848 0 0.0
.data 2392 2392 0 0.0
.text 1277208 1277248 40 0.0
qpg lighting-app qpg6105+debug (read only) 580468 580504 36 0.0
(read/write) 146940 146940 0 0.0
.bss 87976 87976 0 0.0
.data 1088 1088 0 0.0
.text 575148 575184 36 0.0
lock-app qpg6105+debug (read only) 526548 526572 24 0.0
(read/write) 146940 146940 0 0.0
.bss 87424 87424 0 0.0
.data 1024 1024 0 0.0
.text 521228 521252 24 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 859102 859166 64 0.0
bss 88332 88332 0 0.0
noinit 37160 37160 0 0.0
text 602176 602234 58 0.0

@bzbarsky-apple bzbarsky-apple merged commit 56be65c into project-chip:master Feb 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants