[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH v2 0/6] lib/nolibc: clean up header includes



We recently ran into some issues where, after code was developed and tested
with nolibc, we ran into compilation errors when using a real libc such as
newlib. Indeed, nolibc did some non-standard cross includes between its header
files, which sometimes means you would end up with definitions or typedefs
whenincluding one header file that wasn't supposed to be there, thus masking
missing include errors in the code, and the resulting *boom* when changing to
newlib. This patch series cleans up (at least some of) those problems.

Changes since v1:
* rebased to apply to current staging
* add fixes to timespec/timeval definitions (patch 6/6)

Florian Schmidt (6):
  lib/nolibc: don't include stdarg.h from stdio.h
  lib/nolibc: move shared definitions to special include file
  lib/nolibc: add NULL to shareddefs.h
  lib/nolibc: Don't include std*.h in another std*.h
  lib/nolibc: Remove unnecessary includes from header files
  lib/nolibc: put time value definitions in correct files

 .../include/nolibc-internal/shareddefs.h      | 92 +++++++++++++++++++
 lib/nolibc/include/stddef.h                   |  9 +-
 lib/nolibc/include/stdint.h                   |  1 -
 lib/nolibc/include/stdio.h                    | 19 +++-
 lib/nolibc/include/stdlib.h                   |  4 +-
 lib/nolibc/include/string.h                   |  7 +-
 lib/nolibc/include/sys/select.h               |  2 -
 lib/nolibc/include/sys/time.h                 | 21 ++---
 lib/nolibc/include/sys/types.h                |  7 +-
 lib/nolibc/include/time.h                     | 56 +++++++++++
 lib/nolibc/include/unistd.h                   |  6 +-
 lib/nolibc/stdio.c                            |  1 +
 lib/nolibc/stdlib.c                           |  1 +
 plat/linuxu/include/linuxu/syscall.h          |  2 +-
 plat/xen/x86/arch_time.c                      |  1 +
 15 files changed, 197 insertions(+), 32 deletions(-)
 create mode 100644 lib/nolibc/include/nolibc-internal/shareddefs.h
 create mode 100644 lib/nolibc/include/time.h

-- 
2.18.0


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.