diff --git a/src/exception.cr b/src/exception.cr index 4301bd916038..ec59a8cef462 100644 --- a/src/exception.cr +++ b/src/exception.cr @@ -30,8 +30,8 @@ struct CallStack while true ret = LibC.dladdr(makecontext_end, out info) - break if ret == 0 || info.sname.null? - break unless LibC.strcmp(info.sname, "makecontext") == 0 + break if ret == 0 || info.dli_sname.null? + break unless LibC.strcmp(info.dli_sname, "makecontext") == 0 makecontext_end += 1 end diff --git a/src/lib_c/i686-linux-gnu/c/dlfcn.cr b/src/lib_c/i686-linux-gnu/c/dlfcn.cr index 7f5ee3f9bed4..a4120f479faf 100644 --- a/src/lib_c/i686-linux-gnu/c/dlfcn.cr +++ b/src/lib_c/i686-linux-gnu/c/dlfcn.cr @@ -1,9 +1,10 @@ @[Link("dl")] lib LibC - RTLD_LAZY = 0x00001 - RTLD_NOW = 0x00002 - RTLD_GLOBAL = 0x00100 - RTLD_LOCAL = 0 + RTLD_LAZY = 0x00001 + RTLD_NOW = 0x00002 + RTLD_GLOBAL = 0x00100 + RTLD_LOCAL = 0 + RTLD_DEFAULT = Pointer(Void).new(0) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/i686-linux-musl/c/dlfcn.cr b/src/lib_c/i686-linux-musl/c/dlfcn.cr index b61e20a1fa7e..2f48a19e8092 100644 --- a/src/lib_c/i686-linux-musl/c/dlfcn.cr +++ b/src/lib_c/i686-linux-musl/c/dlfcn.cr @@ -1,8 +1,10 @@ lib LibC - RTLD_LAZY = 1 - RTLD_NOW = 2 - RTLD_GLOBAL = 256 - RTLD_LOCAL = 0 + RTLD_LAZY = 1 + RTLD_NOW = 2 + RTLD_GLOBAL = 256 + RTLD_LOCAL = 0 + RTLD_DEFAULT = Pointer(Void).new(0) + RTLD_NEXT = Pointer(Void).new(-1) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/x86_64-linux-gnu/c/dlfcn.cr b/src/lib_c/x86_64-linux-gnu/c/dlfcn.cr index 7f5ee3f9bed4..a4120f479faf 100644 --- a/src/lib_c/x86_64-linux-gnu/c/dlfcn.cr +++ b/src/lib_c/x86_64-linux-gnu/c/dlfcn.cr @@ -1,9 +1,10 @@ @[Link("dl")] lib LibC - RTLD_LAZY = 0x00001 - RTLD_NOW = 0x00002 - RTLD_GLOBAL = 0x00100 - RTLD_LOCAL = 0 + RTLD_LAZY = 0x00001 + RTLD_NOW = 0x00002 + RTLD_GLOBAL = 0x00100 + RTLD_LOCAL = 0 + RTLD_DEFAULT = Pointer(Void).new(0) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/x86_64-linux-musl/c/dlfcn.cr b/src/lib_c/x86_64-linux-musl/c/dlfcn.cr index b61e20a1fa7e..2f48a19e8092 100644 --- a/src/lib_c/x86_64-linux-musl/c/dlfcn.cr +++ b/src/lib_c/x86_64-linux-musl/c/dlfcn.cr @@ -1,8 +1,10 @@ lib LibC - RTLD_LAZY = 1 - RTLD_NOW = 2 - RTLD_GLOBAL = 256 - RTLD_LOCAL = 0 + RTLD_LAZY = 1 + RTLD_NOW = 2 + RTLD_GLOBAL = 256 + RTLD_LOCAL = 0 + RTLD_DEFAULT = Pointer(Void).new(0) + RTLD_NEXT = Pointer(Void).new(-1) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/x86_64-macosx-darwin/c/dlfcn.cr b/src/lib_c/x86_64-macosx-darwin/c/dlfcn.cr index 67764314c22b..a2c1c5dc4351 100644 --- a/src/lib_c/x86_64-macosx-darwin/c/dlfcn.cr +++ b/src/lib_c/x86_64-macosx-darwin/c/dlfcn.cr @@ -1,9 +1,11 @@ @[Link("dl")] lib LibC - RTLD_LAZY = 0x1 - RTLD_NOW = 0x2 - RTLD_GLOBAL = 0x8 - RTLD_LOCAL = 0x4 + RTLD_LAZY = 0x1 + RTLD_NOW = 0x2 + RTLD_GLOBAL = 0x8 + RTLD_LOCAL = 0x4 + RTLD_DEFAULT = Pointer(Void).new(-2) + RTLD_NEXT = Pointer(Void).new(-1) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/x86_64-portbld-freebsd/c/dlfcn.cr b/src/lib_c/x86_64-portbld-freebsd/c/dlfcn.cr index 6e46cfe8f6a9..035ccf873319 100644 --- a/src/lib_c/x86_64-portbld-freebsd/c/dlfcn.cr +++ b/src/lib_c/x86_64-portbld-freebsd/c/dlfcn.cr @@ -1,8 +1,10 @@ lib LibC - RTLD_LAZY = 1 - RTLD_NOW = 2 - RTLD_GLOBAL = 0x100 - RTLD_LOCAL = 0 + RTLD_LAZY = 1 + RTLD_NOW = 2 + RTLD_GLOBAL = 0x100 + RTLD_LOCAL = 0 + RTLD_DEFAULT = Pointer(Void).new(-2) + RTLD_NEXT = Pointer(Void).new(-1) struct DlInfo dli_fname : Char*