summaryrefslogtreecommitdiff
path: root/rts/Libdw.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/Libdw.c')
-rw-r--r--rts/Libdw.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/rts/Libdw.c b/rts/Libdw.c
index 9619479313..25399a00fe 100644
--- a/rts/Libdw.c
+++ b/rts/Libdw.c
@@ -133,6 +133,11 @@ int libdwLookupLocation(LibdwSession *session, Location *frame,
Dwfl_Module *mod = dwfl_addrmodule(session->dwfl, addr);
if (mod == NULL)
return 1;
+ // avoid unaligned pointer value
+ // Using &frame->object_file as argument to dwfl_module_info leads to
+ //
+ // error: taking address of packed member of ‘struct Location_’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
+ //
void *object_file = &frame->object_file;
dwfl_module_info(mod, NULL, NULL, NULL, NULL, NULL,
object_file, NULL);