Wykres commitów

51 Commity (4ded1ea4cfd2a86d6f5f225b14958719a1a6cb52)

Autor SHA1 Wiadomość Data
David Cermak adb79a4852 newlib: Fix header issues with C++ guards and implicit inclusion
* Added C++ sentinels if missed
* Used #pragma once, removed macro's with leading underscores
* Updated copyright checker to allow "BSD-2-Clause-FreeBSD AND
Apache-2.0" for newlib files
* Fixed minor compilation issues/implicit inclusions
2022-07-14 08:32:04 +02:00
0xFEEDC0DE64 48c5b45e99 Add C++ include guard to if.h (to fix linker errors in asio) 2022-07-14 07:48:58 +02:00
simon.chupin 45482bd1c0 components: Change copyright in components files 2022-06-17 16:59:56 +02:00
Scott Mabin c947585ee4 newlib: dirent d_ino type fix
As per the posix spec, `d_ino` should be defined as `ino_t`. See the
reference:
http://pubs.opengroup.org/onlinepubs/7908799/xsh/dirent.h.html.
2022-06-01 13:49:32 +01:00
Ivan Grokhotkov 71bab1078f
newlib: fix ESHUTDOWN and ENOTSOCK having the same numerical value 2022-04-18 12:10:30 +02:00
Marius Vikhammer edb76f14d6 esp_timer: remove legacy ESP32 FRC timer implementation. 2022-02-10 15:17:49 +08:00
Jakob Hasse 6e59f9e8be [newlib]: Added missing includes
Closes https://github.com/espressif/esp-idf/issues/7498
2021-10-14 11:26:56 +08:00
Sachin Parekh 41973b761e newlib: Override __assert and __assert_func
Default assert implementation calls fiprintf, which tries to acquire a
lock and fails if it is executing in critical section or ISR
2021-08-05 11:09:22 +05:30
Ivan Grokhotkov cbf207bfb8 newlib: add C++ guards to the platform-specific dirent.h
Before newlib 3.3.0, <dirent.h> bundled in newlib did not include any
function declarations. Instead, the file included the platform-
specific <sys/dirent.h>. This inclusion was inside a C++ guard block.
ESP-IDF provided sys/dirent.h inside newlib component, and this file
contained all the necessary function and structure declarations.

Since da418955f5,
common function declarations have been added to <dirent.h> in newlib.
However, the inclusion of sys/dirent.h has been moved out of the C++
guard block. However we didn't notice this change and did not update
sys/dirent.h in ESP-IDF newlib component to and the now-required
C++ guards there.

This commit adds the missing C++ guards to the platform-specific
sys/dirent.h.

The declarations of common dirent.h functions are now present both in
<dirent.h> (provided by newlib) and in sys/dirent.h (provided by IDF).
We keep the declarations in sys/dirent.h for compatibility, since some
ESP-IDF files and applications may include <sys/dirent.h> directly,
rather than <dirent.h>.

Closes https://github.com/espressif/esp-idf/issues/7204
2021-07-08 15:53:58 +02:00
morris 9afdf54748 hal: added HAL_ASSERT 2021-06-22 11:28:01 +08:00
WangQixiang 65ec83a456 change MAXNAMLEN to 255 2021-05-13 11:56:52 +08:00
WangQixiang c9c8633cba add the definition of MAXNAMLEN in sys/dirent.h 2021-05-12 16:07:19 +08:00
Angus Gratton 7778779489 newlib: Avoid introducing ESP-IDF macros from newlib platform headers
Also, rewrite the assert.h header to be clearer

Closes https://github.com/espressif/esp-idf/issues/6445
2021-02-12 15:18:05 +11:00
KonstantinKondrashov aec5776091 newlib: Fix a case in FD_ISSET macro when n==-1 2021-01-06 20:54:24 +00:00
Marius Vikhammer 3458469204 newlib: Update esp32c3 ROM support, use single init function 2020-12-31 09:27:37 +11:00
Ivan Grokhotkov b7b9ea4361 newlib: add _RETARGETABLE_LOCKING support
This adds support for the retargetable locking implementation in
newlib 3. This feature will be enabled in the future toolchain builds.
With the present version of the toolchain, this code doesn't get used.

When _RETARGETABLE_LOCKING gets enabled, newlib locking implementation
will be modified as follows:

- Legacy ESP-specific _lock_xxx functions are preserved. This is done
  because ROM copies of newlib in ESP32 and ESP32-S2 rely on these
  functions through the function pointer table. Also there is some
  code in IDF which still uses these locking functions.

- New __retarget_lock_xxx functions are introduced. Newlib expects
  these functions to be provided by the system. These functions work
  pretty much the same way as the ESP-specific _lock_xxx functions,
  except one major difference: _lock_acquire receives the lock pointer
  by value, and as such doesn't support lazy initialization.

- Static locks used by newlib are now explicitly initialized at
  startup. Since it is unlikely that these static locks are used at
  the same time, all compatible locks are set to point to the same
  mutex. This saves a bit of RAM. Note that there are still many locks
  not initialized statically, in particular those inside FILE
  structures.
2020-12-29 16:18:04 +01:00
Angus Gratton 420aef1ffe Updates for riscv support
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
  longer signed/unsigned int).

Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Angus Gratton 66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Renz Bagaporo a395a00d2c newlib: separate low-level code in time.c implementation 2020-08-10 15:11:37 +08:00
Francesco Giancane 1173ce32f6 endian.h: define non-standard symbols for endian handling
BSDs and Unices defined some non standardised functions and symbols used
for endianness handling: converting from Little Endian to Big Endian,
converting from Host to a specific representation, converting from a
specific representation to Host.

With this commit, a modified version of those symbols provided by
FreeBSD is imported.

The license of the imported code is still 2-Clause BSD.

Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>
Closes https://github.com/espressif/esp-idf/pull/4784
2020-04-29 23:47:51 +02:00
Francesco Giancane 6f8ce38f99 Introduce <endian.h> compatibility header
Programs and libraries using compiler and system information about
endianness often include the system header `<endian.h>`.

In `xtensa-gcc` compiler with `newlib` distribution, that file is located in
`<machine/endian.h>`; this means that `#include <endian.h>` would fail
at compile time.

This commit fixes the issue by adding a compatibility `<endian.h>`
header which in turn just includes `<machine/endian.h>`.

Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>
Merges https://github.com/espressif/esp-idf/pull/4784
2020-04-29 23:47:51 +02:00
Ivan Grokhotkov 45e50f1f2a newlib: move dirent.h, ioctl.h headers from VFS 2020-03-20 13:43:42 +01:00
Angus Gratton bdf6c00154 Merge branch 'feature/likely_unlikely' into 'master'
Adding likely unlikely macros to hot code paths

Closes IDF-284

See merge request espressif/esp-idf!6368
2020-01-10 14:05:07 +08:00
David Cermak b7ef7feaeb newlib: using lwip implementation of interface name/index conversion
Links https://github.com/espressif/esp-idf/issues/3557
2020-01-09 21:53:50 +01:00
Felipe Neves 5db46ab9e6 assert: extend likely macro to be called when silent assertions are off 2020-01-03 14:42:58 -03:00
Felipe Neves 1b76253e0e newlib/assert: placed unlikely macro as part of assertion
newlib/assert: replace unlikely with likely to keep original assertion

newlib/assert: fix assert macro that uses likely

freertos/port: add the missing sdkconfig.h back

newlib/assert: assert macro back to a single line
2020-01-03 14:42:55 -03:00
Ivan Grokhotkov 9a2af7ae33 global: remove gcc 5.2 support 2019-11-20 11:17:27 +01:00
Anton Maklakov afbaf74007 tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
xueyunfei fa02598b5c lwip_2.1.2 for idf_4.0 2019-07-07 01:51:45 +00:00
Roland Dobai 43eb58da99 VFS: Fix Kconfig prefix 2019-07-02 17:17:18 +02:00
Roland Dobai c5000c83d2 Rename Kconfig options (root) 2019-05-21 09:09:01 +02:00
Ivan Grokhotkov bb4f5617ab test: clean up "leaks" tags from most unit tests 2019-04-16 20:07:40 +08:00
Anton Maklakov a567b6c1f6 pthread: Use a definition only if we have the old toolchain 2019-04-10 21:07:10 +07:00
Ivan Grokhotkov d15e18aa5d newlib: fixes for compatibility with newlib 3.0 2019-04-10 13:48:57 +08:00
Ivan Grokhotkov 068b700786 newlib: remove usage of pre-ANSI defines 2019-03-19 22:15:26 +08:00
Ivan Grokhotkov ac612b5422 newlib: enable timeradd, timersub, and similar macros
This uses a hack (temporarily defining __rtems__ from a wrapper header
file) to include timeradd, timersub, and similar macros, without
modifying newlib headers.
2019-03-19 22:15:12 +08:00
Roland Dobai aa9d302814 VFS: Implement poll() based on select()
Closes https://github.com/espressif/esp-idf/issues/2945
2019-02-25 10:34:27 +01:00
Roland Dobai fb334baa7c VFS: Implement utime() 2018-11-05 09:54:01 +01:00
Anurag Kar f27db1f241 pthread : Add support for attributes and few APIs
This introduces the following changes :
    * Implmentation added for pthread attribute related functions :
        * pthread_attr_init
        * pthread_attr_destroy
        * pthread_attr_setdetachstate
        * pthread_attr_getdetachstate
        * pthread_attr_getstacksize
        * pthread_attr_setstacksize
    * pthread_create now supports passing attributes/configs through pthread_attr_t structure
    * pthread_mutex_timedlock added
    * pthread_exit added
    * memory for joinable thread is freed before returning from pthread_join
2018-09-22 02:35:27 +05:30
Roland Dobai 5395435816 Add basic support for termios.h
Closes https://github.com/espressif/esp-idf/issues/2063
2018-08-30 14:29:20 +02:00
Roland Dobai ce3cb5c3aa expat: add source of entropy 2018-08-02 11:02:45 +02:00
David Cermak 1ef13c524c asio: initial idf port of asio library without ssl 2018-07-30 06:28:43 +00:00
Konstantin Kondrashov e274940a46 newlib: Add some functions from _POSIX_TIMERS
clock_gettime();
clock_settime();
clock_getres();

Closes https://github.com/espressif/esp-idf/issues/1302
2018-07-03 07:28:29 +05:00
Renz Bagaporo ea711f2ee9 vfs, fatfs: Add file truncate for fatfs 2018-06-14 06:37:21 +08:00
Konstantin Kondrashov 7e2a3da643 esp32: Fix not the right time spent in a deep sleep
Before entering the deep sleep, the RTC and FRC counters are synchronized. Updating the boot_time.
Added a unit test for this case.
Fixed warnings for MULTIPLE_STAGES

Closes https://github.com/espressif/esp-idf/issues/1840
2018-06-06 18:59:30 +05:00
Roland Dobai e86738205d Fix redefinition of select() on platforms where ESP_PLATFORM is discarded
Ref: https://github.com/espressif/esp-idf/issues/1987
2018-05-25 13:37:43 +00:00
Ivan Grokhotkov f31efb697c newlib: rename esp_setup_time_syscalls to esp_set_time_from_rtc
This function no longer sets up syscalls, and new name reflects its
purpose better.
2017-09-01 10:36:14 +08:00
Angus Gratton 7b565e4b25 assertions: Add "silent" option
Reduces assertion codesize overhead by approximately 35%
2017-07-12 17:29:26 +08:00
Ivan Grokhotkov c534dedf2d newlib: implement time syscalls 2016-11-02 17:31:35 +08:00
Ivan Grokhotkov 0c130ecf19 vfs: code review fixes
- fix typo in readme
- remove unneeded extern declaration
- fix header guard macro
- tabs->spaces in syscalls.c (+1 squashed commit)
- fix minor typos
2016-10-27 17:21:17 +08:00