]> xenbits.xensource.com Git - unikraft/libs/newlib.git/log
unikraft/libs/newlib.git
6 years agoRemove stub for opendir
Felipe Huici [Fri, 5 Apr 2019 18:25:04 +0000 (20:25 +0200)]
Remove stub for opendir

The opendir function is now provided by Unikraft's vfs library,
remove the stub from newlib to prevent multiple definition errors.

Signed-off-by: Felipe Huici <felipe.huici@neclab.eu>
Reviewed-by: Costin Lupu <costin.lupu@cs.pub.ro>
6 years agoImplement gettimeofday, clock_gettime, sleep
Florian Schmidt [Wed, 3 Apr 2019 12:16:39 +0000 (14:16 +0200)]
Implement gettimeofday, clock_gettime, sleep

The implementations are taken from nolibc.

Signed-off-by: Florian Schmidt <florian.schmidt@neclab.eu>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
6 years agoFix selectively included type definitions
Florian Schmidt [Tue, 26 Mar 2019 13:51:36 +0000 (14:51 +0100)]
Fix selectively included type definitions

The newlib glue code uses code originally taken from musl. In musl, the
way to selectively include certain data types from those defined in
types.h is through the use of __NEED_* macros. Newlib uses a different
approach: it provides all definitions as underscored variants via
sys/_types.h, and the header files then typedef them over to the normal
variants as needed, with preprocessor guards around each of them to
provent duplications.

Replace the __NEED macros (which are effectively noops, so none of those
data types ever got properly defined in those headers) with the newlib
_types solution.

Signed-off-by: Florian Schmidt <florian.schmidt@neclab.eu>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
6 years agoUse Unikraft __getreent() when scheduling is enabled
Costin Lupu [Fri, 22 Mar 2019 14:11:07 +0000 (16:11 +0200)]
Use Unikraft __getreent() when scheduling is enabled

When scheduling is enabled, Unikraft provides the __getreent() function.

The current patch also fixes the compilation warnings that occur
because of __DYNAMIC_REENT__ redefinition when __rtems__ is defined.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Florian Schmidt <florian.schmidt@neclab.eu>
6 years agoAdd stubs for C++ libraries
Vlad-Andrei BĂDOIU (78692) [Thu, 21 Mar 2019 15:34:56 +0000 (15:34 +0000)]
Add stubs for C++ libraries

This patch adds the missing stubs needed by the
C++ llvm libraries. It creates a new locale.c
file for the stubs related to the locales.
This patch adds the missing include
to stddef inside mman.h.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
6 years agoFix __rtems__ usage in glue code headers
Costin Lupu [Thu, 14 Mar 2019 09:41:00 +0000 (11:41 +0200)]
Fix __rtems__ usage in glue code headers

In order to use __rtems__ one has to define it in all affected headers.
Besides 'sys/stat.h', we also identified 'time.h'. Moreover, we define
__rtems__ only if it was not previously defined.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
6 years agoEnable setjmp and longjmp support
Costin Lupu [Sun, 10 Mar 2019 14:33:06 +0000 (16:33 +0200)]
Enable setjmp and longjmp support

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
6 years agoadd declarations needed for vfscore in the gluecode RELEASE-0.3.1
Yuri Volchkov [Tue, 5 Mar 2019 18:29:55 +0000 (19:29 +0100)]
add declarations needed for vfscore in the gluecode

Signed-off-by: Yuri Volchkov <yuri.volchkov@neclab.eu>
Reviewed-by: Florian Schmidt <florian.schmidt@neclab.eu>
6 years agoupdate newlib glue for use with vfscore
Yuri Volchkov [Tue, 5 Mar 2019 18:29:54 +0000 (19:29 +0100)]
update newlib glue for use with vfscore

Consists of multiple fixes:
  - remove stubs of the functions provided by vfscore
  - import mount.h, statfs.h, uio.h from nolibc (minimal changes)
  - add stub for sigfillset

Signed-off-by: Yuri Volchkov <yuri.volchkov@neclab.eu>
Reviewed-by: Florian Schmidt <florian.schmidt@neclab.eu>
6 years agoAdd missing include to time.c
Florian Schmidt [Fri, 14 Dec 2018 09:54:53 +0000 (10:54 +0100)]
Add missing include to time.c

time.c uses errno, but doesn't include the correct header.

Signed-off-by: Florian Schmidt <florian.schmidt@neclab.eu>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
6 years agoFix remaining time in nanosleep
Dafna Hirschfeld [Mon, 17 Sep 2018 19:42:25 +0000 (22:42 +0300)]
Fix remaining time in nanosleep

Add the fix of commit 96f68ab in unikraft to newlib:
Calculate the remaining time to sleep and update
the rem parameter if it is given.
If the remaining time is larger than 0, it means that
the thread was waken up explicitly and nanosleep returns -1
to indicate that. Otherwise nanosleep returns 0.

Signed-off-by: Dafna Hirschfeld <dafna3@gmail.com>
Reviewed-by: Florian Schmidt <florian.schmidt@neclab.eu>
6 years agoreimplement nanosleep for new api
Yuri Volchkov [Fri, 15 Jun 2018 13:58:48 +0000 (15:58 +0200)]
reimplement nanosleep for new api

Signed-off-by: Yuri Volchkov <yuri.volchkov@neclab.eu>
Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
Reviewed-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
6 years agoremove functions provided by libvfscore
Yuri Volchkov [Fri, 15 Jun 2018 11:51:33 +0000 (13:51 +0200)]
remove functions provided by libvfscore

Which are: close, read and write

Signed-off-by: Yuri Volchkov <yuri.volchkov@neclab.eu>
Reviewed-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
6 years agopatch: set default _READ_WRITE_RETURN_TYPE to _ssize_t
Yuri Volchkov [Fri, 15 Jun 2018 11:51:32 +0000 (13:51 +0200)]
patch: set default _READ_WRITE_RETURN_TYPE to _ssize_t

The vfscore provides the same definitions of functions read/write as
in 'man 2 write'. Newlib used int as a return type of these functions,
which is wrong.

Signed-off-by: Yuri Volchkov <yuri.volchkov@neclab.eu>
Reviewed-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
6 years agobuild: add CONFIG_ prefix to all kconfig symbols
Yuri Volchkov [Fri, 15 Jun 2018 11:51:31 +0000 (13:51 +0200)]
build: add CONFIG_ prefix to all kconfig symbols

This is needed to support similar modifications in Unikraft main repo

Signed-off-by: Yuri Volchkov <yuri.volchkov@neclab.eu>
Reviewed-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
7 years agoInitial public release: documentation RELEASE-0.2
Florian Schmidt [Wed, 29 Nov 2017 10:53:03 +0000 (11:53 +0100)]
Initial public release: documentation

This contains the initial documentation for newlib for Unikraft.

Signed-off-by: Florian Schmidt <florian.schmidt@neclab.eu>
7 years agoInitial public release: configuration and build files
Florian Schmidt [Wed, 29 Nov 2017 12:43:46 +0000 (13:43 +0100)]
Initial public release: configuration and build files

This contains the configuration and make files required to build
libnewlib for Unikraft.

Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
7 years agoInitial public release: glue code
Florian Schmidt [Wed, 29 Nov 2017 12:42:29 +0000 (13:42 +0100)]
Initial public release: glue code

This contains the glue/wrapper code required to build libnewlib for
Unikraft.

Signed-off-by: Felipe Huici <felipe.huici@neclab.eu>
Signed-off-by: Florian Schmidt <florian.schmidt@neclab.eu>
7 years agoinitial commit (empty)
Florian Schmidt [Wed, 29 Nov 2017 12:27:59 +0000 (13:27 +0100)]
initial commit (empty)

Signed-off-by: Florian Schmidt <florian.schmidt@neclab.eu>