1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-12 01:53:07 +03:00

Automatic stack location selection (SYS or HEAP), enable per library AR-chive in arduino build system (#5018)

Automatic stack location selection (SYS or HEAP), enable per library AR-chive in arduino build system 

* enable dot_a_linkage on internal libraries
* add device tests
* boards generator: deprecate --noextra4k/--allowWPS and fix documentation
This commit is contained in:
david gauchard
2018-08-20 14:35:52 +02:00
committed by GitHub
parent 9f67d83907
commit 85e68093e9
37 changed files with 268 additions and 151 deletions

View File

@ -41,6 +41,7 @@ extern "C" {
#include "lwip/netif.h"
#include "include/ClientContext.h"
#include "c_types.h"
#include "coredecls.h"
namespace BearSSL {
@ -1259,14 +1260,12 @@ bool WiFiClientSecure::loadPrivateKey(Stream& stream, size_t size) {
// SSL debugging which should focus on the WiFiClientBearSSL objects.
extern "C" {
#include <cont.h>
extern cont_t g_cont;
extern size_t br_esp8266_stack_proxy_usage();
void _BearSSLCheckStack(const char *fcn, const char *file, int line) {
static int cnt = 0;
register uint32_t *sp asm("a1");
int freestack = 4 * (sp - g_cont.stack);
int freestack = 4 * (sp - g_pcont->stack);
int freeheap = ESP.getFreeHeap();
static int laststack, lastheap, laststack2;
if ((laststack != freestack) || (lastheap != freeheap) || (laststack2 != (int)br_esp8266_stack_proxy_usage())) {