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

Re: [Minios-devel] [PATCH 2/2] Makefile.uk: workaround the string operation corruption



Hi,

On Thu, 19 Dec 2019, 09:23 Jia He, <justin.he@xxxxxxx> wrote:
When start a helloworld app with newlib, there will be a boot crash
on arm64 plat:
[    0.000000] Info: [libkvmplat] setup.clibkvmplat @ 51   : Found device tree on: 0x40000000
[    0.000000] Info: [libkvmplat] pl011.clibkvmplat @ 119  : Serial initializing
[    0.000000] Info: [libkvmplat] pl011.clibkvmplat @ 139  : Found PL011 UART on: 0x9000000
[    0.000000] Info: [libkvmplat] pl011.clibkvmplat @ 142  : PL011 UART initialized
[    0.000000] Info: [libkvmplat] setup.clibkvmplat @ 213  : Entering from KVM (arm64)...
[    0.000000] Info: [libkvmplat] setup.clibkvmplat @ 199  : No command line found
[    0.000000] Info: [libkvmplat] setup.clibkvmplat @ 69   : No PSCI conduit found in DTB
[    0.000000] Info: [libkvmplat] setup.clibkvmplat @ 93   : Support PSCI from PSCI-0.2
[    0.000000] Warn: [libkvmplat] setup.clibkvmplat @ 112  : No memory found in DTB
[    0.000000] Info: [libkvmgicv2] gic-v2.c @ 423  : Probing GICv2...
[    0.000000] dbg:  [libkvmofw] fdt.clibkvmofw @ 173  : reached root node
[    0.000000] dbg:  [libkvmofw] fdt.clibkvmofw @ 173  : reached root node
[    0.000000] Info: [libkvmgicv2] gic-v2.c @ 442  : Found GICv2 on:

This trace does not give a clue why this is a boot crash nor...



Some fdt nodes are parsed incorrectly, especially for those compatible
strings with "\0“.

... explain why the node are parsed incorrectly.


To work around the bug in newlib, we'd better enable PREFER_SIZE_OVER_SPEED
before we resolve the bug.

I am struggling to understand how this working around the bug you described. Also this seems to enable for all the users.

Is it the right thing to do?



Signed-off-by: Jia He <justin.he@xxxxxxx>
---
 Makefile.uk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.uk b/Makefile.uk
index 54efe1a..279954a 100644
--- a/Makefile.uk
+++ b/Makefile.uk
@@ -81,7 +81,7 @@ LIBNEWLIBM_CXXINCLUDES += -I$(LIBNEWLIB_LIBM)/common
 ################################################################################
 # Global flags
 ################################################################################
-LIBNEWLIB_GLOBAL_FLAGS-y  += -DMISSING_SYSCALL_NAMES -DMALLOC_PROVIDED
+LIBNEWLIB_GLOBAL_FLAGS-y  += -DMISSING_SYSCALL_NAMES -DMALLOC_PROVIDED -DPREFER_SIZE_OVER_SPEED
 LIBNEWLIB_GLOBAL_FLAGS-y  += -D_POSIX_REALTIME_SIGNALS
 LIBNEWLIB_GLOBAL_FLAGS-$(CONFIG_LIBNEWLIBC_WANT_IO_C99_FORMATS) += -D_WANT_IO_C99_FORMATS
 LIBNEWLIB_GLOBAL_FLAGS-$(CONFIG_LIBNEWLIBC_LINUX_ERRNO_EXTENSIONS) += -D__LINUX_ERRNO_EXTENSIONS__
--
2.17.1


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
_______________________________________________
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®.