Merge "Revert "Override fusesoc's request for >= 0.8.0, because 0.9.0 is broken""
diff --git a/WORKSPACE b/WORKSPACE
index 9eb984c..f81dd25 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -114,6 +114,6 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
http_file(
name = "hyperdebug_firmware",
- urls = ["https://storage.googleapis.com/aoa-recovery-test-images/hyperdebug_v2.0.20491-956ccf530.bin"],
- sha256 = "e9c93d2935b9b6a571b547f20fe6177c48a909535d87533b7a0c64fb049bd643",
+ urls = ["https://github.com/lowRISC/hyperdebug-firmware/releases/download/20240621_01/hyperdebug-firmware.tar.gz"],
+ sha256 = "649a8cd6d183bc3fb286ea5895c752cfec3aa29b9990f44bb9e7621c0414c7de",
)
diff --git a/sw/device/lib/base/memory.h b/sw/device/lib/base/memory.h
index c4a1682..d895dd5 100644
--- a/sw/device/lib/base/memory.h
+++ b/sw/device/lib/base/memory.h
@@ -18,7 +18,7 @@
#include <stdint.h>
// NB: --mabi=cheriot-baremetal generates direct C calls & unmangled symbols
-#ifdef _CHERIOT_BAREMETAL_
+#ifdef __CHERIOT_BAREMETAL__
#undef __cheri_libcall
#define __cheri_libcall
#endif
diff --git a/sw/device/lib/runtime/log.h b/sw/device/lib/runtime/log.h
index e5b98df..c9cd78b 100644
--- a/sw/device/lib/runtime/log.h
+++ b/sw/device/lib/runtime/log.h
@@ -108,7 +108,15 @@
* string literal.
* @param ... format parameters matching the format string.
*/
-#define LOG(severity, format, ...) \
+#if __has_feature(capabilities)
+#define LOG(severity, format, ...) \
+ LOG_TO_SECTION(".rodata.fields", severity, format, ##__VA_ARGS__)
+#else
+#define LOG(severity, format, ...) \
+ LOG_TO_SECTION(".logs.fields", severity, format, ##__VA_ARGS__)
+#endif
+
+#define LOG_TO_SECTION(elf_section, severity, format, ...) \
do { \
if (kDeviceLogBypassUartAddress != 0) { \
/* clang-format off */ \
@@ -116,7 +124,7 @@
* the linker will dutifully discard.
* Unfortunately, clang-format really mangles these
* declarations, so we format them manually. */ \
- __attribute__((section(".logs.fields"))) \
+ __attribute__((section(elf_section))) \
static const log_fields_t kLogFields = \
LOG_MAKE_FIELDS_(severity, format, ##__VA_ARGS__); \
base_log_internal_dv(&kLogFields, \
diff --git a/third_party/google/repos.bzl b/third_party/google/repos.bzl
index 0b9220f..72bd803 100644
--- a/third_party/google/repos.bzl
+++ b/third_party/google/repos.bzl
@@ -30,9 +30,9 @@
http_archive_or_local(
name = "com_google_absl",
local = absl,
- sha256 = "1da554cf5670fc119ef5afbeb31d10d51e7554df9dced2967663e679b8d852ed",
- strip_prefix = "abseil-cpp-e854df09dfcb35056c1d42420028648ee0ebebaf",
- url = "https://github.com/abseil/abseil-cpp/archive/e854df09dfcb35056c1d42420028648ee0ebebaf.tar.gz",
+ sha256 = "59d2976af9d6ecf001a81a35749a6e551a335b949d34918cfade07737b9d93c5",
+ strip_prefix = "abseil-cpp-20230802.0",
+ url = "https://github.com/abseil/abseil-cpp/archive/refs/tags/20230802.0.tar.gz",
)
http_archive_or_local(