[ruby-core:111402] [Ruby master Bug#19255] YJIT: global symbol leakage

Issue #19255 has been reported by nobu (Nobuyoshi Nakada). ---------------------------------------- Bug #19255: YJIT: global symbol leakage https://bugs.ruby-lang.org/issues/19255 * Author: nobu (Nobuyoshi Nakada) * Status: Open * Priority: Normal * Backport: 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED ---------------------------------------- When YJIT support is enabled, libyjit.a adds thousands leaking global symbols. With this patch: ```diff diff --git a/template/Makefile.in b/template/Makefile.in index 145631386d8..6191bcbeb88 100644 --- a/template/Makefile.in +++ b/template/Makefile.in @@ -720,5 +720,5 @@ mjit_build_dir.$(SOEXT): $(MJIT_MIN_HEADER) $(srcdir)/ruby-runner.c ruby-runner. $(OUTFLAG)$@ $(srcdir)/ruby-runner.c # yes-test-basic: leaked-globals -leaked-globals: $(COMMONOBJS) prog $(tooldir)/leaked-globals PHONY - $(Q) $(XRUBY) $(tooldir)/leaked-globals NM=$(NM) SYMBOL_PREFIX=$(SYMBOL_PREFIX) PLATFORM=$(hdrdir)/ruby/$(PLATFORM_DIR).h $(srcdir)/configure.ac $(COMMONOBJS) +leaked-globals: $(COMMONOBJS) $(YJIT_LIBS) prog $(tooldir)/leaked-globals PHONY + $(Q) $(XRUBY) $(tooldir)/leaked-globals NM=$(NM) SYMBOL_PREFIX=$(SYMBOL_PREFIX) PLATFORM=$(hdrdir)/ruby/$(PLATFORM_DIR).h $(srcdir)/configure.ac $(COMMONOBJS) $(YJIT_LIBS) ``` `make leaked-globals` reports **2915 un-prefixed symbols leaked**. -- https://bugs.ruby-lang.org/

Issue #19255 has been updated by nobu (Nobuyoshi Nakada). A hack: https://github.com/nobu/ruby/tree/yjit-symbol-leakage ---------------------------------------- Bug #19255: YJIT: global symbol leakage https://bugs.ruby-lang.org/issues/19255#change-100775 * Author: nobu (Nobuyoshi Nakada) * Status: Open * Priority: Normal * Backport: 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED ---------------------------------------- When YJIT support is enabled, libyjit.a adds thousands leaking global symbols. With this patch: ```diff diff --git a/template/Makefile.in b/template/Makefile.in index 145631386d8..6191bcbeb88 100644 --- a/template/Makefile.in +++ b/template/Makefile.in @@ -720,5 +720,5 @@ mjit_build_dir.$(SOEXT): $(MJIT_MIN_HEADER) $(srcdir)/ruby-runner.c ruby-runner. $(OUTFLAG)$@ $(srcdir)/ruby-runner.c # yes-test-basic: leaked-globals -leaked-globals: $(COMMONOBJS) prog $(tooldir)/leaked-globals PHONY - $(Q) $(XRUBY) $(tooldir)/leaked-globals NM=$(NM) SYMBOL_PREFIX=$(SYMBOL_PREFIX) PLATFORM=$(hdrdir)/ruby/$(PLATFORM_DIR).h $(srcdir)/configure.ac $(COMMONOBJS) +leaked-globals: $(COMMONOBJS) $(YJIT_LIBS) prog $(tooldir)/leaked-globals PHONY + $(Q) $(XRUBY) $(tooldir)/leaked-globals NM=$(NM) SYMBOL_PREFIX=$(SYMBOL_PREFIX) PLATFORM=$(hdrdir)/ruby/$(PLATFORM_DIR).h $(srcdir)/configure.ac $(COMMONOBJS) $(YJIT_LIBS) ``` `make leaked-globals` reports **2915 un-prefixed symbols leaked**. -- https://bugs.ruby-lang.org/

Issue #19255 has been updated by hsbt (Hiroshi SHIBATA). Status changed from Open to Assigned Assignee set to yjit ---------------------------------------- Bug #19255: YJIT: global symbol leakage https://bugs.ruby-lang.org/issues/19255#change-101165 * Author: nobu (Nobuyoshi Nakada) * Status: Assigned * Priority: Normal * Assignee: yjit * Backport: 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED ---------------------------------------- When YJIT support is enabled, libyjit.a adds thousands leaking global symbols. With this patch: ```diff diff --git a/template/Makefile.in b/template/Makefile.in index 145631386d8..6191bcbeb88 100644 --- a/template/Makefile.in +++ b/template/Makefile.in @@ -720,5 +720,5 @@ mjit_build_dir.$(SOEXT): $(MJIT_MIN_HEADER) $(srcdir)/ruby-runner.c ruby-runner. $(OUTFLAG)$@ $(srcdir)/ruby-runner.c # yes-test-basic: leaked-globals -leaked-globals: $(COMMONOBJS) prog $(tooldir)/leaked-globals PHONY - $(Q) $(XRUBY) $(tooldir)/leaked-globals NM=$(NM) SYMBOL_PREFIX=$(SYMBOL_PREFIX) PLATFORM=$(hdrdir)/ruby/$(PLATFORM_DIR).h $(srcdir)/configure.ac $(COMMONOBJS) +leaked-globals: $(COMMONOBJS) $(YJIT_LIBS) prog $(tooldir)/leaked-globals PHONY + $(Q) $(XRUBY) $(tooldir)/leaked-globals NM=$(NM) SYMBOL_PREFIX=$(SYMBOL_PREFIX) PLATFORM=$(hdrdir)/ruby/$(PLATFORM_DIR).h $(srcdir)/configure.ac $(COMMONOBJS) $(YJIT_LIBS) ``` `make leaked-globals` reports **2915 un-prefixed symbols leaked**. -- https://bugs.ruby-lang.org/
participants (2)
-
hsbt (Hiroshi SHIBATA)
-
nobu (Nobuyoshi Nakada)