OVMS3-idf/components
Ivan Grokhotkov 499d087c91 C++: add provisions for optional RTTI support
Ref. https://github.com/espressif/esp-idf/issues/1684

This change allows RTTI to be enabled in menuconfig. For full RTTI
support, libstdc++.a in the toolchain should be built without
-fno-rtti, as it is done now.

Generally if libstdc++.a is built with RTTI, applications which do not
use RTTI (and build with -fno-rtti) could still include typeinfo
structures referenced from STL classes’ vtables. This change works
around this, by moving all typeinfo structures from libstdc++.a into
a non-loadable section, placed into a non-existent memory region
starting at address 0. This can be done because when the application
is compiled with -fno-rtti, typeinfo structures are not used at run
time. This way, typeinfo structures do not contribute to the
application binary size.

If the application is build with RTTI support, typeinfo structures are
linked into the application .rodata section as usual.

Note that this commit does not actually enable RTTI support.
The respective Kconfig option is hidden, and will be made visible when
the toolchain is updated.
2019-10-13 14:46:44 +02:00
..
app_trace timer_group: use the LL 2019-08-09 13:46:31 +08:00
app_update Merge branch 'bugfix/remove_v40_deprecations' into 'master' 2019-09-19 16:07:01 +08:00
asio components: use new component registration api 2019-06-21 19:53:29 +08:00
bootloader Merge branch 'feature/load_elf' into 'master' 2019-09-27 19:36:25 +08:00
bootloader_support bootloader: shrink bin size 2019-09-27 10:58:30 +08:00
bt NimBLE: Misc changes in NimBLE porting layer and menuconfig option 2019-10-10 17:20:15 +08:00
cbor cbor: add tinycbor library and example 2019-08-22 17:44:29 +08:00
coap ESP32/coap_mbedtls:add macro checks 2019-10-09 16:46:46 +08:00
console tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
cxx cxx: force pthread to appear later in link line 2019-09-17 20:08:12 +08:00
driver spi: move deprecated functions into internal header 2019-10-08 11:51:39 +08:00
efuse bootloader: shrink bin size 2019-09-27 10:58:30 +08:00
esp-tls ESP32/esp-tls: include esp_err.h in esp_tls.h 2019-10-07 19:47:32 +08:00
esp32 C++: add provisions for optional RTTI support 2019-10-13 14:46:44 +02:00
esp_adc_cal esp_adc_cal: Remove deprecated ADC calibration functions 2019-09-13 09:44:07 +10:00
esp_common Cosmetic Kconfig fixes 2019-10-08 08:11:53 +00:00
esp_eth ethernet: enable unit test 2019-09-25 11:58:16 +08:00
esp_event esp_wifi: wifi support new event mechanism 2019-08-20 09:39:51 +00:00
esp_gdbstub espcoredump: fix issue with spi_flash access 2019-09-06 15:37:55 +08:00
esp_http_client fixes : set_url discards username and password 2019-10-04 10:42:43 +05:30
esp_http_server esp_http_server : Bugfix in parsing of empty header values 2019-09-06 11:02:36 +08:00
esp_https_ota esp_https_ota: Added error checking functionalities. 2019-08-15 21:10:00 +08:00
esp_https_server esp-tls: Naming variables refering to certificates and keys in a neutral way to suggest that both PEM and DER format could be used, added comments descibing important details about using these formats 2019-08-02 09:25:16 +02:00
esp_local_ctrl tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
esp_ringbuf ringbuf: Remove deprecated RingbufferType_t 2019-09-13 09:44:07 +10:00
esp_rom Support ELF files loadable with gdb 2019-09-24 07:19:50 +00:00
esp_websocket_client ws_client: added subprotocol configuration option to websocket client 2019-10-03 07:33:32 +02:00
esp_wifi ci: fix ci issues of wifi lib 2019-10-09 15:07:19 +08:00
espcoredump coredump: use esp_flash api in coredump 2019-09-14 17:02:08 +08:00
esptool_py Merge branch 'bugfix/missing_build_targets_cmake' into 'master' 2019-10-08 16:24:40 +08:00
expat components: use new component registration api 2019-06-21 19:53:29 +08:00
fatfs fatfs: Remove esp_vfs_fat_unregister() 2019-09-13 09:44:07 +10:00
freemodbus timer_group: use the LL 2019-08-09 13:46:31 +08:00
freertos freertos: remove semicolon in xTaskNotifyGive 2019-09-26 15:27:48 +08:00
heap heap: Remove esp_heap_alloc_caps header 2019-09-13 09:44:07 +10:00
idf_test idf_test: Disable tests for Wi-Fi auto reconnect 2019-09-17 18:41:09 +10:00
jsmn components: use new component registration api 2019-06-21 19:53:29 +08:00
json Update cJSON to v1.7.12 2019-08-14 10:03:27 +10:00
libsodium Merge branch 'bugfix/libsodium_test_timeouts' into 'master' 2019-08-08 15:02:51 +08:00
log tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
lwip Merge branch 'bugfix/err_code_collision' into 'master' 2019-09-03 08:30:40 +08:00
mbedtls NimBLE: Add optional mbedTLS support to NimBLE 2019-09-30 14:15:43 +08:00
mdns esp_wifi: wifi support new event mechanism 2019-08-20 09:39:51 +00:00
mqtt esp_wifi: wifi support new event mechanism 2019-08-20 09:39:51 +00:00
newlib newlib: Fix UT - test time adjustment happens linearly 2019-10-01 03:09:22 +08:00
nghttp nghttp: move config.h to private_include dirs 2019-10-01 11:19:44 +00:00
nvs_flash Fix Kconfig issues discovered by upstream Kconfiglib 2019-09-23 16:10:57 +02:00
openssl Fix Kconfig issues discovered by upstream Kconfiglib 2019-09-23 16:10:57 +02:00
partition_table Fix Kconfig issues discovered by upstream Kconfiglib 2019-09-23 16:10:57 +02:00
protobuf-c components: use new component registration api 2019-06-21 19:53:29 +08:00
protocomm NimBLE: Fix bug in protocomm_nimble chararcteristic access callback 2019-08-15 10:50:30 +08:00
pthread tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
sdmmc tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
soc Support ELF files loadable with gdb 2019-09-24 07:19:50 +00:00
spi_flash spi: move deprecated functions into internal header 2019-10-08 11:51:39 +08:00
spiffs cmake: Add new compiler optimization levels definitions 2019-09-06 17:37:19 +08:00
tcp_transport ws_client: fix ping-pong mechanism to use mask, support reception of zero-payload PONG and sending non-zero-payload PING 2019-10-03 07:32:17 +02:00
tcpip_adapter esp_wifi: wifi support new event mechanism 2019-08-20 09:39:51 +00:00
ulp ulp: Add aditional uint32_t object to ulp_insn_t 2019-08-15 17:34:26 +02:00
unity Fix remaining -Wstrict-prototypes warnings 2019-08-01 16:28:56 +07:00
vfs Add Chinese translation for the 2nd batch of the files in storage folder in api-reference. 2019-09-20 12:32:55 +08:00
wear_levelling Add Chinese translation for README files in components and tools folders, including: 2019-09-06 20:18:19 +08:00
wifi_provisioning cmake: Add new compiler optimization levels definitions 2019-09-06 17:37:19 +08:00
wpa_supplicant Merge branch 'feature/compile_option_O0' into 'master' 2019-09-17 16:54:55 +08:00
xtensa make code conform to Wstrict-prototypes 2019-08-01 16:28:56 +07:00