Thanks Chris,
I'm cautiously optimistic... On one hand, assuming I'm running the experiment I think I am, it appear to work with your recommended change. On the other hand, the resulting Makefile still includes -g and -ggdb on the CFLAGS line (which I *thought* I had previously determined wouldn't work, so it goes...).
An unexpected side benefit is that your recommendation also appears to have fixed another VERY obscure problem wherein the static executable that includes cyassl (as well as other lib calls) no longer has the wrong instructions located at the locations the cyassl symbol references (but not for any of the other code...) in the loaded code (but *not* in the objdump -S listing of the same file as the one that is loaded).
Do you mind taking a quick sanity check of the following setup to see if there are other places we are making wrong assumptions on the ./configure setup? I've just included extracts from the relevant Makefiles (there's a tree of included makefiles so these extracts come out of a couple of different files...)
CYASSL_CFLAGS = -gdwarf-3 -mabi=aapcs -march=armv7e-m -mthumb
CYASSL_CPPFLAGS = -DFREERTOS
CYASSL_CPPFLAGS += -DSINGLE_THREADED -DUSE_CERT_BUFFERS_1024
CYASSL_CPPFLAGS += -DBENCH_EMBEDDED -DNO_FILESYSTEM -DNO_WRITEV
CYASSL_CPPFLAGS += -DCYASSL_USER_IO -DNO_DEV_RANDOM
CYASSL_CPPFLAGS += -DSTM32F417xx -DUSE_HAL_DRIVER
CYASSL_EXTRA_INCLUDES = $(LWIP_API_INCLUDES) $(FREE_RTOS_API_INCLUDES)
CYASSL_EXTRA_INCLUDES += $(STM32F4_API_INCLUDES)
CYASSL_LDLIBS = -llwip
CYASSL_LDLIBS += -lfreertos
CYASSL_LDLIBS += -lstm32f4_sys
CYASSL_LDFLAGS = -specs=rdimon.specs -Wl,--start-group -lgcc -lc -lm -lrdimon -Wl,--end-group
CYASSL_LDFLAGS += -L$(LWIP_DIR)
CYASSL_LDFLAGS += -L$(FREE_RTOS_DIR)
CYASSL_LDFLAGS += -L$(STM32F4_SYS_DIR)
CYASSL_EXTRA_CONFIGURE_FLAGS ?=
CYASSL_EXTRA_CONFIGURE_FLAGS += CC=$(CC) AR=$(AR) LD=$(LD)
#(was...)
#CYASSL_EXTRA_CONFIGURE_FLAGS += CFLAGS="$(CYASSL_CFLAGS)" CPPFLAGS="$(CYASSL_CPPFLAGS) $(CYASSL_EXTRA_INCLUDES)"
#(is...)
CYASSL_EXTRA_CONFIGURE_FLAGS += C_EXTRA_FLAGS="$(CYASSL_CFLAGS)" CPPFLAGS="$(CYASSL_CPPFLAGS) $(CYASSL_EXTRA_INCLUDES)"
CYASSL_EXTRA_CONFIGURE_FLAGS += --host=$(XI_HOST)
CYASSL_EXTRA_CONFIGURE_FLAGS += LIBS="$(CYASSL_LDLIBS)"
CYASSL_EXTRA_CONFIGURE_FLAGS += LDFLAGS="$(CYASSL_LDFLAGS)"
CYASSL_EXTRA_CONFIGURE_FLAGS += --enable-shared=no
./configure \
$(CYASSL_EXTRA_CONFIGURE_FLAGS) \
--enable-sni \
--enable-debug=yes \
--enable-static=yes \
--disable-examples \
--disable-filesystem \
--enable-ocsp \
--disable-oldtls; )
With MUCH appreciation,
Steve.