FreeCalypso > hg > freecalypso-tools
view target-utils/libbase/waitarm.S @ 1011:6d9b10633f10 default tip
etmsync Pirelli IMEI retrieval: fix poor use of printf()
Bug reported by Vadim Yanitskiy <fixeria@osmocom.org>: the construct
where a static-allocated string was passed to printf() without any
format arguments causes newer compilers to report a security problem.
Given that formatted output is not needed here, just fixed string
output, change printf() to fputs(), and direct the error message
to stderr while at it.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 23 May 2024 17:29:57 +0000 |
parents | 06ad5e30e8d0 |
children |
line wrap: on
line source
/* * This assembly module provides a wait_ARM_cycles() function similar to * the one in TI's firmware; it is meant to gradually replace and phase out * osmo_delay_ms(). One loop count for this function equals 4 ARM clock * cycles when running out of IRAM; if the ARM clock is 52 MHz, 13 loop counts * equal one microsecond. * * Note the instruction sequence difference from TI's firmware version: * we use the SUBS instruction (equivalent of plain SUB in Thumb) and omit * the CMP, which is why our version is 4 cycles per loop (when running * out of IRAM), as opposed to 5 cycles per loop (plus wait states as they * execute from flash) in TI's fw version. */ .text .code 32 .globl wait_ARM_cycles wait_ARM_cycles: cmp r0, #0 bxeq lr 1: subs r0, r0, #1 bne 1b bx lr