mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-27 18:02:17 +03:00
Clean up code to build under GCC7, fix pgm_read_unaligned (#6270)
Apply most compatible changes needed to get the core compiling under GCC 7.2 to the main gcc 4.8 tree to ease porting for 3.0.0. Update pgmspace.h with corrected and optimized unaligned pgm_read macros. Now pgm_read_dword in the unaligned case gives proper results even if optimization is enabled and is also written in assembly and only 1 instruction longer than the pgm_read_byte macro (which also has been optimized to reduce 1 instruction). These changes should marginally shrink code and speed up flash reads accordingly. The toolchain should/will be rebuilt at a later time with this optimization to ensure it's used in the libc.a/etc. files.
This commit is contained in:
committed by
david gauchard
parent
76cda9bdbc
commit
d2a487dfd9
@ -127,6 +127,8 @@ SECTIONS
|
||||
*(.init.literal)
|
||||
*(.init)
|
||||
|
||||
*(.text.app_entry*) /* The main startup code */
|
||||
|
||||
/* all functional callers are placed in IRAM (including SPI/IRQ callbacks/etc) here */
|
||||
*(.text._ZNKSt8functionIF*EE*) /* std::function<any(...)>::operator()() const */
|
||||
} >iram1_0_seg :iram1_0_phdr
|
||||
|
Reference in New Issue
Block a user