mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-22 06:57:51 +00:00
163 lines
4.5 KiB
Diff
163 lines
4.5 KiB
Diff
|
From dd8842dbdae2bb11d4f726f8a49a6ecb4d5d6870 Mon Sep 17 00:00:00 2001
|
||
|
|
||
|
From: Frank Mehnert <frank.mehnert@kernkonzept.com>
|
||
|
|
||
|
Subject: [PATCH] Do not depend on any libstdc++ feature
|
||
|
|
||
|
The libc_minimal library does not provide support for libstdc++ so use
|
||
|
the normal libc headers instead and do not use any 'std' functions.
|
||
|
|
||
|
Change-Id: I9b4e04ddba0e3f366550265a2c30ef0f37df5534
|
||
|
---
|
||
|
server/src/boot_modules.cc | 2 +-
|
||
|
server/src/multiboot2.cc | 24 ++++++++++++------------
|
||
|
server/src/platform/exynos.cc | 2 +-
|
||
|
server/src/platform/x86_pc-base.h | 4 ++--
|
||
|
server/src/platform_common.cc | 2 +-
|
||
|
server/src/support.h | 4 ++--
|
||
|
6 files changed, 19 insertions(+), 19 deletions(-)
|
||
|
|
||
|
diff --git a/server/src/boot_modules.cc b/server/src/boot_modules.cc
|
||
|
index 2446967..6100749 100644
|
||
|
--- a/server/src/boot_modules.cc
|
||
|
+++ b/server/src/boot_modules.cc
|
||
|
@@ -1,6 +1,6 @@
|
||
|
#include "support.h"
|
||
|
#include "panic.h"
|
||
|
-#include <cassert>
|
||
|
+#include <assert.h>
|
||
|
#include "mod_info.h"
|
||
|
#ifdef COMPRESS
|
||
|
#include "uncompress.h"
|
||
|
diff --git a/server/src/multiboot2.cc b/server/src/multiboot2.cc
|
||
|
index c7255a3..17a2fdd 100644
|
||
|
--- a/server/src/multiboot2.cc
|
||
|
+++ b/server/src/multiboot2.cc
|
||
|
@@ -18,7 +18,7 @@
|
||
|
#include <l4/sys/consts.h>
|
||
|
#include <l4/cxx/minmax>
|
||
|
|
||
|
-#include <cstring>
|
||
|
+#include <string.h>
|
||
|
|
||
|
#include <assert.h>
|
||
|
#include <stddef.h>
|
||
|
@@ -62,7 +62,7 @@ public:
|
||
|
// by some other tag type)
|
||
|
void process_modules(l4util_mb2_tag_t *tag)
|
||
|
{
|
||
|
- std::size_t cnt = 0;
|
||
|
+ size_t cnt = 0;
|
||
|
|
||
|
while (tag->type == L4UTIL_MB2_MODULE_INFO_TAG)
|
||
|
{
|
||
|
@@ -146,8 +146,8 @@ public:
|
||
|
void finalize()
|
||
|
{
|
||
|
assert(sizeof(_mbi) <= _size);
|
||
|
- std::memcpy(_buf, &_mbi, sizeof(_mbi));
|
||
|
- std::memset(_buf + sizeof(_mbi), 0, _size - sizeof(_mbi));
|
||
|
+ memcpy(_buf, &_mbi, sizeof(_mbi));
|
||
|
+ memset(_buf + sizeof(_mbi), 0, _size - sizeof(_mbi));
|
||
|
}
|
||
|
|
||
|
private:
|
||
|
@@ -157,25 +157,25 @@ private:
|
||
|
{
|
||
|
char buf[1024];
|
||
|
|
||
|
- std::size_t size = l4_round_size(tag->size, L4UTIL_MB2_TAG_ALIGN_SHIFT);
|
||
|
+ size_t size = l4_round_size(tag->size, L4UTIL_MB2_TAG_ALIGN_SHIFT);
|
||
|
l4util_mb2_tag_t *dst_tag =
|
||
|
reinterpret_cast<l4util_mb2_tag_t *>(end() - size);
|
||
|
char *_src = reinterpret_cast<char *>(tag);
|
||
|
|
||
|
while (size)
|
||
|
{
|
||
|
- std::size_t copied = cxx::min(sizeof(buf), size);
|
||
|
+ size_t copied = cxx::min(sizeof(buf), size);
|
||
|
char *_dst = end() - copied;
|
||
|
- std::memcpy(buf, _src, copied);
|
||
|
- std::memmove(_src, _src + copied, (end() - _src) - copied);
|
||
|
- std::memcpy(_dst, buf, copied);
|
||
|
+ memcpy(buf, _src, copied);
|
||
|
+ memmove(_src, _src + copied, (end() - _src) - copied);
|
||
|
+ memcpy(_dst, buf, copied);
|
||
|
size -= copied;
|
||
|
}
|
||
|
|
||
|
return dst_tag;
|
||
|
}
|
||
|
|
||
|
- void reserve_from_end(std::size_t size)
|
||
|
+ void reserve_from_end(size_t size)
|
||
|
{
|
||
|
size = l4_round_size(size, L4UTIL_MB2_TAG_ALIGN_SHIFT);
|
||
|
assert(_size >= size);
|
||
|
@@ -183,8 +183,8 @@ private:
|
||
|
}
|
||
|
|
||
|
char *_buf;
|
||
|
- std::size_t _size;
|
||
|
- const std::size_t _total_size;
|
||
|
+ size_t _size;
|
||
|
+ const size_t _total_size;
|
||
|
|
||
|
l4util_mb_info_t _mbi;
|
||
|
};
|
||
|
diff --git a/server/src/platform/exynos.cc b/server/src/platform/exynos.cc
|
||
|
index d10d70d..bcd6d02 100644
|
||
|
--- a/server/src/platform/exynos.cc
|
||
|
+++ b/server/src/platform/exynos.cc
|
||
|
@@ -17,7 +17,7 @@
|
||
|
#include "support.h"
|
||
|
#include <l4/drivers/uart_s3c2410.h>
|
||
|
|
||
|
-#include <cstdio>
|
||
|
+#include <stdio.h>
|
||
|
|
||
|
namespace {
|
||
|
class Platform_arm_exynos : public Platform_single_region_ram
|
||
|
diff --git a/server/src/platform/x86_pc-base.h b/server/src/platform/x86_pc-base.h
|
||
|
index d5d53bf..fe0e0dd 100644
|
||
|
--- a/server/src/platform/x86_pc-base.h
|
||
|
+++ b/server/src/platform/x86_pc-base.h
|
||
|
@@ -12,8 +12,8 @@
|
||
|
#include <l4/util/port_io.h>
|
||
|
#include <l4/cxx/static_container>
|
||
|
|
||
|
-#include <cassert>
|
||
|
-#include <cstdio>
|
||
|
+#include <assert.h>
|
||
|
+#include <stdio.h>
|
||
|
|
||
|
/** VGA console output */
|
||
|
|
||
|
diff --git a/server/src/platform_common.cc b/server/src/platform_common.cc
|
||
|
index 0503802..26ae0a9 100644
|
||
|
--- a/server/src/platform_common.cc
|
||
|
+++ b/server/src/platform_common.cc
|
||
|
@@ -1,6 +1,6 @@
|
||
|
#include "support.h"
|
||
|
#include <l4/cxx/minmax>
|
||
|
-#include <cassert>
|
||
|
+#include <assert.h>
|
||
|
|
||
|
#ifdef RAM_SIZE_MB
|
||
|
|
||
|
diff --git a/server/src/support.h b/server/src/support.h
|
||
|
index 472e40e..20d2c04 100644
|
||
|
--- a/server/src/support.h
|
||
|
+++ b/server/src/support.h
|
||
|
@@ -21,8 +21,8 @@
|
||
|
#include <l4/util/mb_info.h>
|
||
|
#include <stdio.h>
|
||
|
#include "region.h"
|
||
|
-#include <cstring>
|
||
|
-#include <cstdlib>
|
||
|
+#include <string.h>
|
||
|
+#include <stdlib.h>
|
||
|
|
||
|
L4::Uart *uart();
|
||
|
void set_stdio_uart(L4::Uart *uart);
|