amdgcn: Implement proper locks: Fix 'newlib/libc/sys/amdgcn/include/sys/lock.h' for C++ (was: [PATCH] amdgcn: Implement proper locks)
Commit Message
Hi!
On 2024-03-22T14:53:30+0000, Andrew Stubbs <ams@baylibre.com> wrote:
> This should prevent printf output from multiple threads getting garbled.
Confirmed, thanks!
> I don't know why IO ever worked properly -- probably it was always a bit
> broken -- but the GFX11 devices have a different cache architecture and
> trying to print from many threads at once corrupted the FILE buffers.
> --- /dev/null
> +++ b/newlib/libc/sys/amdgcn/include/sys/lock.h
> @@ -0,0 +1,39 @@
> +#ifndef __SYS_LOCK_H__
> +#define __SYS_LOCK_H__
> +
> +#include <newlib.h>
> +#include <_ansi.h>
> +
> +typedef unsigned int _LOCK_T;
> +[...]
> +
> +#ifdef __cplusplus
> +}
> +#endif
> +
> +#endif /* __SYS_LOCK_H__ */
Pushed to main branch commit ed50a50b9b551ed693d28cd458a49e5196d27f06
"amdgcn: Implement proper locks: Fix 'newlib/libc/sys/amdgcn/include/sys/lock.h' for C++",
see attached.
Grüße
Thomas
From ed50a50b9b551ed693d28cd458a49e5196d27f06 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <tschwinge@baylibre.com>
Date: Thu, 4 Apr 2024 16:01:35 +0200
Subject: [PATCH] amdgcn: Implement proper locks: Fix
'newlib/libc/sys/amdgcn/include/sys/lock.h' for C++
As of commit 7dd4eb1db9e1b1b9f14ef5b743705156e5f370e1
"amdgcn: Implement proper locks", we get, by the thousands, for C++ code:
In file included from [...]/newlib/libc/include/stdio.h:60,
from [...]:
[...]/newlib/libc/include/sys/reent.h:911:1: error: expected declaration before '}' token
---
newlib/libc/sys/amdgcn/include/sys/lock.h | 4 ++++
1 file changed, 4 insertions(+)
@@ -4,6 +4,10 @@
#include <newlib.h>
#include <_ansi.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
typedef unsigned int _LOCK_T;
typedef unsigned int _LOCK_RECURSIVE_T;
--
2.34.1