diff options
author | Moritz Angermann <moritz.angermann@gmail.com> | 2021-02-13 12:06:09 +0800 |
---|---|---|
committer | Moritz Angermann <moritz.angermann@gmail.com> | 2021-02-15 11:28:40 +0800 |
commit | 5fbf32fd651d761f4be357c80bc9ee480489f615 (patch) | |
tree | 4e473e50d2bcc1d5c8586ae6044825bee74f6272 | |
parent | a7d22795ed118abfe64f4fc55d96d8561007ce1e (diff) | |
download | haskell-wip/angerman/fix-warning.tar.gz |
[libdw] stop cc from complainingwip/angerman/fix-warning
-rw-r--r-- | rts/Libdw.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/rts/Libdw.c b/rts/Libdw.c index d45d9d0e5d..c0d7c9a4b1 100644 --- a/rts/Libdw.c +++ b/rts/Libdw.c @@ -133,8 +133,15 @@ 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, - &frame->object_file, NULL); + object_file, NULL); // Find function name frame->function = dwfl_module_addrname(mod, addr); |