zephyr/include
Andrew Boie d76ae46c0c lib: os: make snprintk fns generally available
The intention of disabling CONFIG_PRINTK is that all
invocations of it will compile to nothing, saving a lot
of runtime overhead and footprint since all the format
strings are completely dropped; instances of printk()
and related functions are no-ops.

However, some subsystems need snprintk() for string
processing, since the snprintf() implementations in even
minimal C library are too costly in text footprint or
stack usage for some applications. This processing is
required for the application to even function.

This patch continues to have disabling  CONFIG_PRINTK to
cause the non snprintk functions to become no-ops, but
now we always compile the necessary bits for snprintk(),
relying on gc-sections to discard them if unused.

z_vprintk() is now unconditionally defined in the header
since it is not tied to any particular output sink and
is intended for users who know exactly what they are
doing (it's in zephyr private scope).

Relates to: #21564

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-01-03 10:13:30 +01:00
..
app_memory kernel: fix k_mem_partition data types 2019-12-12 14:48:42 -08:00
arch aarch32: Add header shims to support old file locations 2019-12-20 11:40:59 -05:00
audio include: respect line limit in api pointer initialization 2019-12-16 21:14:08 -05:00
bluetooth Bluetooth: L2CAP: Remove use of k_sem for credits 2020-01-02 16:53:27 +01:00
cmsis_rtos_v1
cmsis_rtos_v2 global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
console console: Remove deprecated function console_register_line_input 2019-09-18 19:14:25 -05:00
crypto
data treewide: avoid address-of-compound-literal idiom in headers 2019-12-18 21:53:17 +01:00
debug object tracing: Fix the issue that objects lost from trace list 2019-11-14 09:13:56 -05:00
dfu
disk
display
drivers include: Add initial LoRa API 2019-12-21 12:20:24 +01:00
dt-bindings interrupt_controller: gic: Support PPIs 2019-12-10 06:59:55 +01:00
fs doc: fix misspelling in API doxygen comments 2019-10-29 06:00:14 +01:00
linker x86: consolidate x86_64 architecture, SoC and boards 2019-10-25 17:57:55 -04:00
logging logging: Fix false strdup buffer freeing 2019-12-20 08:49:01 -05:00
mgmt
net net: buf: Add push functions for supported bit-variants 2020-01-02 19:05:27 +01:00
posix include: posix: time.h: Make CLOCK_REALTIME, etc. compatible with Newlib 2019-10-28 13:04:35 +02:00
power
random subsys/random: Add cryptographically secure and bulk fill functions 2019-11-05 19:36:42 +01:00
settings doc: fix misspelling in API doxygen comments 2019-10-29 06:00:14 +01:00
shell global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
stats
storage doc: fix flash_area_get_sectors doc 2019-10-25 16:40:12 -05:00
sys lib: os: make snprintk fns generally available 2020-01-03 10:13:30 +01:00
toolchain toolchain: fix __BYTE_ORDER__ not defined for XCC 2019-12-02 09:58:00 -05:00
usb usb: make usb descriptor power options configurable 2019-12-20 19:46:16 -05:00
zephyr include: Remove compat include headers 2019-12-10 08:39:37 -05:00
cache.h
device.h global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
exc_handle.h kernel: rename z_arch_ to arch_ 2019-11-07 15:21:46 -08:00
fatal.h doc: fix misspelling in API doxygen comments 2019-10-29 06:00:14 +01:00
generated_dts_board.h scripts: dts: Remove deprecated extract_dts_includes.py script 2019-12-09 16:31:42 -05:00
init.h kernel: init: provide access to kernel startup state 2019-12-11 14:45:40 -08:00
irq_nextlevel.h include: respect line limit in api pointer initialization 2019-12-16 21:14:08 -05:00
irq_offload.h kernel: sychronize irq_offload() access 2019-11-08 15:16:43 -08:00
irq.h kernel: rename z_arch_ to arch_ 2019-11-07 15:21:46 -08:00
kernel_includes.h headers: Refactor kernel and arch headers. 2019-11-06 16:07:32 -08:00
kernel_structs.h kernel/sched: Fix edge case in MetaIRQ preemption of cooperative threads 2019-11-15 13:09:02 +01:00
kernel_version.h
kernel.h lib: os: make snprintk fns generally available 2020-01-03 10:13:30 +01:00
ptp_clock.h include: respect line limit in api pointer initialization 2019-12-16 21:14:08 -05:00
sched_priq.h
shared_irq.h include: respect line limit in api pointer initialization 2019-12-16 21:14:08 -05:00
spinlock.h spinlock: Make SPIN_VALIDATE a Kconfig option. 2019-12-20 19:51:16 -05:00
sw_isr_table.h
sys_clock.h sys_clock: Fix typo in SYS_CLOCK_HW_CYCLES_TO_NS64() macro 2019-12-17 13:06:55 -05:00
syscall_handler.h kernel: fix 64-bit issues in syscall_handler.h 2019-12-12 14:48:42 -08:00
syscall.h global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
timeout_q.h kernel: include: Fix warning when !CONFIG_SYS_CLOCK_EXISTS 2019-11-07 08:22:59 -05:00
toolchain.h toolchain: Fix for off-tree toolchains 2019-10-08 17:09:23 -04:00
wait_q.h headers: Refactor kernel and arch headers. 2019-11-06 16:07:32 -08:00
zephyr.h