1/* These are the printf/scanf related newlib functions present in ESP32 ROM.
2   These functions are compiled with newlib "nano" format option.
3   As such, they don's support 64-bit integer formats.
4   Floating point formats are supported by setting _printf_float and
5   _scanf_float entries in syscall table. This is done automatically
6   by startup code.
7   These functions should not be used when compiling with PSRAM cache workaround enabled.
8   See also esp32.rom.newlib-data.ld for the list of .data/.bss symbols
9   used by newlib functions, and esp32.rom.newlib-funcs.ld for the list
10   of general newlib functions.
11
12   Unlike other ROM functions which are exported using PROVIDE, which declares
13   weak symbols, newlib related functions are exported using assignment,
14   which declares strong symbols. This is done so that ROM functions are always
15   used instead of the ones provided by libc.a.
16 */
17
18asiprintf = 0x40056d9c;
19_asiprintf_r = 0x40056d4c;
20asniprintf = 0x40056cd8;
21_asniprintf_r = 0x40056c64;
22asnprintf = 0x40056cd8;
23_asnprintf_r = 0x40056c64;
24asprintf = 0x40056d9c;
25_asprintf_r = 0x40056d4c;
26fiprintf = 0x40056efc;
27_fiprintf_r = 0x40056ed8;
28fiscanf = 0x40058884;
29_fiscanf_r = 0x400588b4;
30fprintf = 0x40056efc;
31_fprintf_r = 0x40056ed8;
32fscanf = 0x40058884;
33_fscanf_r = 0x400588b4;
34iprintf = 0x40056978;
35_iprintf_r = 0x40056944;
36iscanf = 0x40058760;
37_iscanf_r = 0x4005879c;
38printf = 0x40056978;
39_printf_common = 0x40057338;
40_printf_i = 0x40057404;
41_printf_r = 0x40056944;
42scanf = 0x40058760;
43_scanf_chars = 0x40058384;
44_scanf_i = 0x4005845c;
45_scanf_r = 0x4005879c;
46__sfputs_r = 0x40057790;
47siprintf = 0x40056c08;
48_siprintf_r = 0x40056bbc;
49siscanf = 0x400587d0;
50_siscanf_r = 0x40058830;
51sniprintf = 0x40056b4c;
52_sniprintf_r = 0x40056ae4;
53snprintf = 0x40056b4c;
54_snprintf_r = 0x40056ae4;
55sprintf = 0x40056c08;
56_sprintf_r = 0x40056bbc;
57__sprint_r = 0x400577e4;
58sscanf = 0x400587d0;
59_sscanf_r = 0x40058830;
60__ssprint_r = 0x40056ff8;
61__ssputs_r = 0x40056f2c;
62__ssrefill_r = 0x40057fec;
63__ssvfiscanf_r = 0x4005802c;
64__ssvfscanf_r = 0x4005802c;
65_sungetc_r = 0x40057f6c;
66_svfiprintf_r = 0x40057100;
67__svfiscanf_r = 0x40057b08;
68_svfprintf_r = 0x40057100;
69__svfscanf = 0x40057f04;
70__svfscanf_r = 0x40057b08;
71vasiprintf = 0x40056eb8;
72_vasiprintf_r = 0x40056e80;
73vasniprintf = 0x40056e58;
74_vasniprintf_r = 0x40056df8;
75vasnprintf = 0x40056e58;
76_vasnprintf_r = 0x40056df8;
77vasprintf = 0x40056eb8;
78_vasprintf_r = 0x40056e80;
79vfiprintf = 0x40057ae8;
80_vfiprintf_r = 0x40057850;
81vfiscanf = 0x40057eb8;
82_vfiscanf_r = 0x40057f24;
83vfprintf = 0x40057ae8;
84_vfprintf_r = 0x40057850;
85vfscanf = 0x40057eb8;
86_vfscanf_r = 0x40057f24;
87viprintf = 0x400569b4;
88_viprintf_r = 0x400569e4;
89viscanf = 0x40058698;
90_viscanf_r = 0x400586c8;
91vprintf = 0x400569b4;
92_vprintf_r = 0x400569e4;
93vscanf = 0x40058698;
94_vscanf_r = 0x400586c8;
95vsiprintf = 0x40056ac4;
96_vsiprintf_r = 0x40056a90;
97vsiscanf = 0x40058740;
98_vsiscanf_r = 0x400586f8;
99vsniprintf = 0x40056a68;
100_vsniprintf_r = 0x40056a14;
101vsnprintf = 0x40056a68;
102_vsnprintf_r = 0x40056a14;
103vsprintf = 0x40056ac4;
104_vsprintf_r = 0x40056a90;
105vsscanf = 0x40058740;
106_vsscanf_r = 0x400586f8;
107
108/* _print_float and _scanf_float functions in ROM are stubs which call
109   real implementations in IDF through the syscall table.
110   As such, don't include these ROM symbols.
111
112_printf_float = 0x4000befc;
113_scanf_float = 0x4000bf18;
114
115*/
116