Dimitry Kloper
06d83c6261
Introduce support for Atmel toolchain in-flash strings
...
Atmel toolchain AVR compiler provides a transparent in-flash object support using __flash and __memx symbols. The former indicates to compiler that this is a flash-based object. The later used with pointer indicates that the referenced object may reside either in flash or in RAM. The compiler automatically makes 32-bit pointer with flag indicating whether referenced object is in flash or RAM and generates code to access either in run-time. Thus, any function that accepts __memx object can transparently work with RAM and flash objects.
For platforms with a Harvard architecture and a very small RAM like AVR this allows to move all constant strings used in trace messages to flash in the instruction address space, releasing resources for other things.
This change introduces IOBJ and IPTR type qualifiers. The 'I' indicates that the object may like in instruction space on a Harvard architecture machine.
For platforms that do not have __flash and __memx or similar symbols IOBJ and IPTR are empty, making the types equivalent to, for example, 'const char' and 'const char*'. For Atmel compiler these will become 'const __flash char' and 'const __memx char*'. All printf() functions and syslog() functions are changed so that the qualifier is used with the format parameter.
From: Dimitry Kloper <dikloper@cisco.com>
2016-01-05 10:29:29 -06:00
Gregory Nutt
b682190f52
Rename all head files in main NuttX repository with names like *internal.h, removing the internal
2015-12-29 17:31:17 -06:00
Gregory Nutt
006528b144
Add support for freopen()
2015-11-22 08:39:17 -06:00
Gregory Nutt
e9bd8bceb4
nuttx/libc: Fix some spacing and alignment issues
2015-10-12 07:45:02 -06:00
Gregory Nutt
0b12dbf95d
Fix some spacing problems
2015-10-04 15:04:00 -06:00
Gregory Nutt
5b51a9fcdd
Standardize the width of all comment boxes in C files
2015-10-02 17:43:18 -06:00
Gregory Nutt
cb9e27c3b0
Standardize naming used for public data and function groupings
2015-10-02 16:30:35 -06:00
Stefan Kolb
983128e16a
sscanf: Formats a, A, e, E, g, and G should be treated the same as f and F
2015-09-17 07:41:33 -06:00
Paul A. Patience
9f108b7b63
Fix issues detected by clang
2015-09-10 20:59:43 -04:00
Gregory Nutt
bc46130c70
Rename libc/stdio/lib_avsprintf.c to lib_vasprintf.c
2015-09-07 13:28:00 -06:00
Sebastien Lorquet
77e4e7b231
Change all references from avsprintf to vasprintf. From Sebastien Lorquet
2015-09-07 13:22:13 -06:00
Gregory Nutt
9c66bde5b0
Fix typo in pre-processor command noted by Pierre-noel Bouteville. Also move # of pre-processior command to column 1
2015-09-05 09:10:48 -06:00
Paul A. Patience
3b89eabd50
Correct #if to #ifdef when the macro can be undefined. Fix bug in AT24XX driver: it should compare AT24XX_ADDRSIZE to 2.
2015-09-01 13:52:29 -04:00
Gregory Nutt
51f386d08a
Fix more common typos
2015-08-16 11:07:23 -06:00
Gregory Nutt
fce87336a4
Add an option to disable support for long long formats in lib_vsprintf. From Alan Carvalho de Assis
2015-05-30 10:00:54 -06:00
Gregory Nutt
1018296e27
Make some file section headers more consistent with standard
2015-04-08 07:32:08 -06:00
Gregory Nutt
c39725b398
libc: stdio: Fix NULL pointer dereference in ungetc(). If 'stream' was NULL, 'stream->fs_oflags' was evaluated. From Juha Niskanen
2015-03-12 07:51:23 -06:00
Gregory Nutt
40b0acaded
sscanf should also support %F
2014-12-12 07:54:37 -06:00
Gregory Nutt
1b661c6d23
sscanf: Accept %X as well as %x as a format specifier. From Sébastien Lorquet
2014-12-12 07:46:46 -06:00
Gregory Nutt
297a255fd8
avsprintf(): Fix a bug in usage of va_list on x86. On x86, va_list is a pointer to a single copy on the stack. avsprintf() calls lib_vsprintf() twice and so traverses the va_list twice using va_start. va_start modifies that single copy on the stack so that the second call to lib_vsprintf() fails. This appears to be an issue with x86 only so far
2014-12-08 10:40:06 -06:00
Gregory Nutt
91e22aeedd
Traveler: Change the way that the world path is managed.
2014-12-08 09:28:53 -06:00
Gregory Nutt
9ac09db800
More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs.
2014-11-25 13:46:14 -06:00
Gregory Nutt
48888ad65b
Add tmpnam() and tempnam()
2014-11-05 10:44:16 -06:00
Gregory Nutt
787cd466d2
Add tmpnam() and tempnam()
2014-11-05 10:43:17 -06:00
Gregory Nutt
ec57ab6391
Implement setlogmask(); move some syslog logic from libc/syslog to fs/syslog
2014-10-08 19:08:26 -06:00
Gregory Nutt
a8399d5c6b
Move syslog logic from libc/misc and libc/stdio to libc/syslog
2014-10-08 17:16:41 -06:00
Gregory Nutt
176491ce75
Misc changes to get a clean build after all of the syslog changes. There are probably other things still broken
2014-10-08 16:23:48 -06:00
Gregory Nutt
f8ed7323c0
make standard syslog and vsyslog POSIX compliant (also modify non-standard syslog functions for compatibility). This will break a lot of things until ALL usage of syslog is updated to use the modified interfaces
2014-10-08 09:44:15 -06:00
Gregory Nutt
92cc7a96e6
Change to lib_dtoa() to fix prescision error from trailing zeroes
2014-09-26 05:49:50 -06:00
Gregory Nutt
47d55c28dc
Mostly cosmetic changes
2014-09-04 10:28:38 -06:00
Gregory Nutt
e3ff0689bb
Rename CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED; Partially integrate new CONFIG_BUILD_KERNEL
2014-08-29 14:47:22 -06:00
Gregory Nutt
a325cb9f0d
sscanf(): NuttX libc tried to guess how many characters to parse, extracted them into a buffer, then ran strtol() on that buffer. That guess is often wrong. A better approach would be to call strtol() directly on the input data, using the endptr return value to determine how many characters to skip after parsing. From Kosma Moczek
2014-08-18 07:33:17 -06:00
Gregory Nutt
320707fdfa
SAMA5: Fix bugs in timer/counter interrupts and one-shot timer
2014-08-10 10:47:38 -06:00
Gregory Nutt
038f10ed55
Add seekable standard streams
2014-06-14 16:19:42 -06:00
Gregory Nutt
0a331754f7
Add support for seekable raw streams
2014-06-14 15:46:59 -06:00
Gregory Nutt
24e603f23b
Add support for seekable memory streams
2014-06-14 15:35:18 -06:00
Gregory Nutt
59846a8fe9
snprintf(): If size is zero, then snprintf() should return the size of the required buffer without writing anyting. From Sami Pelkonen
2014-05-30 08:53:43 -06:00
Gregory Nutt
972c4cbab5
Nucleo F401RE: Remove PX4 cruft that can in with the port
2014-04-22 12:18:08 -06:00
Gregory Nutt
3a1324741a
More trailing whilespace removal
2014-04-13 14:32:20 -06:00
Gregory Nutt
494387b33b
Make sure that there is one space after for
2014-04-12 13:28:22 -06:00
Gregory Nutt
2fcc57edb0
mv ramlog.h and syslog.h to new include/nuttx/syslog
2014-04-10 09:29:30 -06:00
Gregory Nutt
ed294643bd
sscanf: Use stroul() vs strol() for %u format. From kfrolov
2014-04-02 09:15:40 -06:00
Gregory Nutt
68025784b0
Fix ftell() bug: It was not accounting for data buffered in memory. From Macs N
2014-03-31 09:47:28 -06:00
Gregory Nutt
cd135fe3a8
Complete fragmentary support for ferror(). From Macs N
2014-03-31 09:39:10 -06:00
Gregory Nutt
6bb8cc02df
sscanf(): Was returning the wrong number of conversions in many cases; Also, needs to return EOF if there were no conversions
2014-03-30 14:24:38 -06:00
Gregory Nutt
e6bd002d68
Use get_errno() instead of errno because I may do something different if used inside the OS
2014-03-30 11:33:47 -06:00
Gregory Nutt
a0b330bd92
strncpy would fail if n==0
2014-03-28 15:17:43 -06:00
Gregory Nutt
a84a421248
Ooops... I left out a semicolon in the last sscanf() commit
2014-02-18 15:38:44 -06:00
Gregory Nutt
927ec9c792
sscanf() bug fixes from David Sidrane
2014-02-18 14:14:07 -06:00
Gregory Nutt
a5b8755bea
Add a patch to work around the bug in the ZDS-II 5.0.1 toolchain
2014-01-24 11:58:30 -06:00