533a728392
This slightly increases the RAM consumption per context, but saves code size on architectures with an instruction for direct byte access (which is most of them). Although this is technically an API break, in practice, a realistic application won't break: it would have had to bypass API functions and rely on the field size (e.g. relying on -1 == 1 in a 1-bit field). Results (arm-none-eabi-gcc 7.3.1, build_arm_none_eabi_gcc_m0plus build): library/ssl_cli.o: 19543 -> 19559 (diff: -16) library/ssl_msg.o: 24726 -> 24690 (diff: 36) library/ssl_srv.o: 20462 -> 20418 (diff: 44) library/ssl_tls.o: 20707 -> 20555 (diff: 152) library/ssl_tls13_client.o: 7252 -> 7244 (diff: 8) library/ssl_tls13_generic.o: 4705 -> 4693 (diff: 12) Results (same architecture, config-suite-b.h + MBEDTLS_ECDH_LEGACY_CONTEXT + MBEDTLS_ECP_RESTARTABLE): library/ssl_cli.o: 2876 -> 2864 (diff: 12) library/ssl_msg.o: 3068 -> 3080 (diff: -12) library/ssl_srv.o: 3372 -> 3340 (diff: 32) library/ssl_tls.o: 6658 -> 6566 (diff: 92) Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com> |
||
---|---|---|
.. | ||
mbedtls | ||
psa | ||
.gitignore | ||
CMakeLists.txt |