Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into Ractor-Local-GC-v…
Browse files Browse the repository at this point in the history
…ersion-1
  • Loading branch information
rm155 committed Aug 11, 2023
2 parents 4bd299b + 6ccc660 commit bf37873
Show file tree
Hide file tree
Showing 190 changed files with 3,374 additions and 1,900 deletions.
1 change: 0 additions & 1 deletion .github/actions/setup/macos/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ runs:
- name: brew
shell: bash
run: |
brew upgrade --quiet
brew install --quiet gmp libffi openssl@1.1 zlib autoconf automake libtool readline
- name: Set ENV
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ jobs:
- name: make ${{ matrix.test_task }}
run: |
make -s ${{ matrix.test_task }} ${TESTS:+TESTS=`echo "$TESTS" | sed 's| |$$/ -n!/|g;s|^|-n!/|;s|$|$$/|'`}
timeout-minutes: 40
timeout-minutes: 60
env:
RUBY_TESTOPTS: '-q --tty=no'
TESTS: ${{ matrix.test_task == 'check' && matrix.skipped_tests || '' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/yjit-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ jobs:
run: ./miniruby --yjit -v | grep "+YJIT"

- name: make ${{ matrix.test_task }}
run: make -s -j ${{ matrix.test_task }} RUN_OPTS="$RUN_OPTS" YJIT_BENCH_OPTS="$YJIT_BENCH_OPTS"
run: make -s -j ${{ matrix.test_task }} RUN_OPTS="$RUN_OPTS" YJIT_BENCH_OPTS="$YJIT_BENCH_OPTS" YJIT_BINDGEN_DIFF_OPTS="$YJIT_BINDGEN_DIFF_OPTS"
timeout-minutes: 60
env:
RUBY_TESTOPTS: '-q --tty=no'
Expand Down
17 changes: 11 additions & 6 deletions addr2line.c
Original file line number Diff line number Diff line change
Expand Up @@ -1165,20 +1165,25 @@ resolve_strx(DebugInfoReader *reader, uint64_t idx)
return reader->obj->debug_str.ptr + off;
}

static void
debug_info_reader_read_addr_value_member(DebugInfoReader *reader, DebugInfoValue *v, int size, const char *mem)
static bool
debug_info_reader_read_addr_value_member(DebugInfoReader *reader, DebugInfoValue *v, int size)
{
if (size == 4) {
set_uint_value(v, read_uint32(&reader->p));
} else if (size == 8) {
set_uint_value(v, read_uint64(&reader->p));
} else {
UNREACHABLE; /* should have checked already */
return false;
}
return true;
}

#define debug_info_reader_read_addr_value(reader, v, mem) \
debug_info_reader_read_addr_value_member((reader), (v), (reader)->mem, #mem)
if (!debug_info_reader_read_addr_value_member((reader), (v), (reader)->mem)) { \
kprintf("unknown " #mem ":%d", (reader)->mem); \
return false; \
}


static bool
debug_info_reader_read_value(DebugInfoReader *reader, uint64_t form, DebugInfoValue *v)
Expand Down Expand Up @@ -1935,7 +1940,7 @@ debug_info_read(DebugInfoReader *reader, int num_traces, void **traces,
uintptr_t saddr = ranges_include(reader, &ranges, offset, &rnglists_header);
if (saddr == UINTPTR_MAX) return false;
if (saddr) {
/* fprintf(stdout, "%d:%tx: %d %lx->%lx %x %s: %s/%s %d %s %s %s\n",__LINE__,die.pos, i,addr,offset, die.tag,line.sname,line.dirname,line.filename,line.line,reader->obj->path,line.sname,lines[i].sname); */
/* kprintf("%d:%tx: %d %lx->%lx %x %s: %s/%s %d %s %s %s\n",__LINE__,die.pos, i,addr,offset, die.tag,line.sname,line.dirname,line.filename,line.line,reader->obj->path,line.sname,lines[i].sname); */
if (lines[i].sname) {
line_info_t *lp = malloc(sizeof(line_info_t));
memcpy(lp, &lines[i], sizeof(line_info_t));
Expand Down Expand Up @@ -1981,7 +1986,7 @@ parse_ver5_debug_line_header(const char *p, int idx, uint8_t format, obj_info_t

int entry_count = (int)uleb128(&p);

DebugInfoReader reader;
DebugInfoReader reader = {0};
debug_info_reader_init(&reader, obj);
reader.format = format;
reader.p = p;
Expand Down
Loading

0 comments on commit bf37873

Please sign in to comment.