From cfe1c55f485a663974317cea34476b51952c169c Mon Sep 17 00:00:00 2001 From: Derek Bruening Date: Sun, 15 Sep 2019 23:27:08 -0400 Subject: [PATCH] i#1979 Mac64: 64-bit Mach-O drsyms support Adds 64-bit Mach-O support to drsyms, which consists simply of looking for LC_SEGMENT_64 in addition to LC_SEGMENT in drsyms_macho.c and in a repatched version of libelftc. Issue: #1979 --- ext/drsyms/drsyms_macho.c | 4 ++-- ext/drsyms/libelftc-macho/lib64/libdwarf.a | Bin 1729264 -> 1729328 bytes .../libelftc-macho/libelftc-macho.patch | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/drsyms/drsyms_macho.c b/ext/drsyms/drsyms_macho.c index d0b1d8223c0..2e094aabbe5 100644 --- a/ext/drsyms/drsyms_macho.c +++ b/ext/drsyms/drsyms_macho.c @@ -203,7 +203,7 @@ find_load_base(byte *map_base, size_t *load_size) cmd = (struct load_command *)(hdr + 1); cmd_stop = (struct load_command *)((byte *)cmd + hdr->sizeofcmds); while (cmd < cmd_stop) { - if (cmd->cmd == LC_SEGMENT) { + if (cmd->cmd == LC_SEGMENT || cmd->cmd == LC_SEGMENT_64) { segment_command_t *seg = (segment_command_t *)cmd; if (!found_seg) { found_seg = true; @@ -371,7 +371,7 @@ drsym_obj_mod_init_pre(byte *map_base, size_t map_size) cmd = (struct load_command *)(hdr + 1); cmd_stop = (struct load_command *)((char *)cmd + hdr->sizeofcmds); while (cmd < cmd_stop) { - if (cmd->cmd == LC_SEGMENT) { + if (cmd->cmd == LC_SEGMENT || cmd->cmd == LC_SEGMENT_64) { segment_command_t *seg = (segment_command_t *)cmd; section_t *sec, *sec_stop; sec_stop = (section_t *)((char *)seg + seg->cmdsize); diff --git a/ext/drsyms/libelftc-macho/lib64/libdwarf.a b/ext/drsyms/libelftc-macho/lib64/libdwarf.a index 6d19fc3b8b0b6d3ddef1aecadff91a98bb98895f..c3fe9b4e4caa3d5a3018780b14a25d4bcc0a1b7e 100644 GIT binary patch delta 19748 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

+yi`` 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 diff --git a/ext/drsyms/libelftc-macho/libelftc-macho.patch b/ext/drsyms/libelftc-macho/libelftc-macho.patch index 77fcf3f62d1..203e09e69b1 100644 --- a/ext/drsyms/libelftc-macho/libelftc-macho.patch +++ b/ext/drsyms/libelftc-macho/libelftc-macho.patch @@ -490,7 +490,7 @@ Index: libdwarf/libdwarf_macho_init.c + cmd_stop = (struct load_command *)((char *)cmd + hdr->sizeofcmds); + } + while (cmd < cmd_stop) { -+ if (cmd->cmd == LC_SEGMENT) { ++ if (cmd->cmd == LC_SEGMENT || cmd->cmd == LC_SEGMENT_64) { + if (is_64) { + struct segment_command_64 *seg64 = (struct segment_command_64 *) cmd; + struct section_64 *sec64 = (struct section_64 *)(seg64 + 1); @@ -547,7 +547,7 @@ Index: libdwarf/libdwarf_macho_init.c + else + cmd = (struct load_command *)(hdr + 1); + while (cmd < cmd_stop) { -+ if (cmd->cmd == LC_SEGMENT) { ++ if (cmd->cmd == LC_SEGMENT || cmd->cmd == LC_SEGMENT_64) { + if (is_64) { + struct segment_command_64 *seg64 = (struct segment_command_64 *) cmd; + struct section_64 *sec64 = (struct section_64 *)(seg64 + 1);