Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [Bug #18286] Make builtin binary if sharable in universal binaries | Nobuyoshi Nakada | 2023-11-09 | 1 | -0/+1 |
| | |||||
* | Revert "Disable iseq-dumped builtin module for universal x86_64/arm64 binaries" | Nobuyoshi Nakada | 2023-11-09 | 2 | -2/+1 |
| | | | | This reverts commit 1d5598fe0d3470e7cab06a756d40a9221fcd501b. | ||||
* | Disable iseq-dumped builtin module for universal x86_64/arm64 binaries | Ben Hamilton | 2023-11-09 | 2 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | During the build, Ruby has special logic to serialize its own builtin module to disk using the binary iseq format during the build (I assume for speed so it doesn't have to parse builtin every time it starts up). However, since iseq format is architecture-specific, when building on x86_64 for universal x86_64 + arm64, the serialized builtin module is written with the x86_64 architecture of the build machine, which fails this check whenever ruby imports the builtin module on arm64: https://github.com/ruby/ruby/blob/1fdaa0666086529b3aae2d509a2e71c4247c3a12/compile.c#L13243 Thankfully, there's logic to disable this feature for cross-compiled builds: https://github.com/ruby/ruby/blob/1fdaa0666086529b3aae2d509a2e71c4247c3a12/builtin.c#L6 This disables the iseq logic for universal builds as well. Fixes [Bug #18286] | ||||
* | [Bug #19967] Reset `LIBPATHENV` env after started | Nobuyoshi Nakada | 2023-10-21 | 2 | -0/+6 |
| | | | | Not to affect other tools invoked as child processes. | ||||
* | Ignore symbols even in empty shared library | Nobuyoshi Nakada | 2023-10-14 | 1 | -0/+1 |
| | | | | | | | On some platforms, such as FreeBSD and Oracle Linux, symbols defined in the crt0 setup routine are exported from shared libraries. So ignore the symbols that would be exported even in an empty shared library. | ||||
* | Move YARP_BUILD_DIR to common.mk | Nobuyoshi Nakada | 2023-09-21 | 1 | -1/+0 |
| | | | It does not need to be an absolute path. | ||||
* | [Bug #19778] Pass additional include options to INCFLAGS in common.mk | Nobuyoshi Nakada | 2023-09-17 | 1 | -0/+1 |
| | |||||
* | Escape non-ascii characters in prelude C comments | Nobuyoshi Nakada | 2023-08-24 | 1 | -1/+5 |
| | | | | Non-ASCII code are often warned by localized compilers. | ||||
* | [Bug #19831] Remove duplicate library options | Nobuyoshi Nakada | 2023-08-17 | 1 | -1/+1 |
| | | | | | `$(MAINLIBS)` should be included in `$(LIBRUBYARG)` in cases it is needed. | ||||
* | RJIT: Remove macros inherited from MJIT but no longer used | Nobuyoshi Nakada | 2023-08-17 | 1 | -6/+0 |
| | |||||
* | Fix test and precheck order for old GNU Make | Nobuyoshi Nakada | 2023-08-14 | 1 | -2/+5 |
| | |||||
* | Group test-syntax-suggest and leaked-globals [ci skip] | Nobuyoshi Nakada | 2023-08-11 | 1 | -0/+2 |
| | |||||
* | [Bug #19831] Remove duplicate library options | Nobuyoshi Nakada | 2023-08-11 | 1 | -3/+3 |
| | | | | `$(MAINLIBS)` should include `$(LIBS)` already. | ||||
* | Clean up OPT_STACK_CACHING (#8132) | Takashi Kokubun | 2023-07-27 | 2 | -3/+1 |
| | |||||
* | [Bug #19751] Remove linemarkers in middle | Nobuyoshi Nakada | 2023-07-25 | 1 | -0/+1 |
| | |||||
* | Add comments to id.h and undef finished macros | Nobuyoshi Nakada | 2023-07-21 | 1 | -0/+9 |
| | |||||
* | leaked-globals: check leaked symbols in libruby.so if enable-shared | Nobuyoshi Nakada | 2023-07-08 | 1 | -2/+6 |
| | |||||
* | [Bug #19728] Auto-generate unicode property docs | Janosch Müller | 2023-07-01 | 1 | -0/+59 |
| | | | | https://bugs.ruby-lang.org/issues/19728 | ||||
* | template/Doxyfile.tmpl: modernise | 卜部昌平 | 2023-06-29 | 1 | -114/+239 |
| | | | | applied doxygen -g for Doxygen 1.9.7. | ||||
* | [Feature #19741] Add yarp to builds | Jemma Issroff | 2023-06-21 | 1 | -0/+1 |
| | | | | | Add yarp to common.mk and windows builds to enable us to run yarp correctly with CI. | ||||
* | Remove `--jobserver-auth` option which varies for each run | Nobuyoshi Nakada | 2023-06-19 | 1 | -1/+1 |
| | |||||
* | Fix rb_compile_option_t comments [ci skip] | yui-knk | 2023-06-18 | 1 | -9/+9 |
| | |||||
* | [Feature #19719] Universal Parser | yui-knk | 2023-06-12 | 1 | -0/+1 |
| | | | | | | | | | Introduce Universal Parser mode for the parser. This commit includes these changes: * Introduce `UNIVERSAL_PARSER` macro. All of CRuby related functions are passed via `struct rb_parser_config_struct` when this macro is enabled. * Add CI task with 'cppflags=-DUNIVERSAL_PARSER' for ubuntu. | ||||
* | Use Lrama LALR parser generator instead of Bisonv3_3_0_preview1 | Yuichiro Kaneko | 2023-05-12 | 1 | -1/+1 |
| | | | | | https://bugs.ruby-lang.org/issues/19637 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> | ||||
* | Use RUBY_PROGRAM_VERSION as version in pkg-config file [ci skip] | Nobuyoshi Nakada | 2023-04-13 | 1 | -1/+1 |
| | | | | | So that ABI version is not included in it even on the develepment branch. | ||||
* | Check leaked global symbols by default | Nobuyoshi Nakada | 2023-04-03 | 1 | -1/+1 |
| | |||||
* | Check loading built-in binaries | Nobuyoshi Nakada | 2023-03-08 | 2 | -8/+8 |
| | |||||
* | s/mjit/rjit/ | Takashi Kokubun | 2023-03-06 | 2 | -2/+2 |
| | |||||
* | s/MJIT/RJIT/ | Takashi Kokubun | 2023-03-06 | 3 | -14/+14 |
| | |||||
* | Remove obsoleted mjit_sp_inc.inc.erb | Takashi Kokubun | 2023-03-06 | 1 | -2/+1 |
| | |||||
* | Remove obsoleted tool/mjit_tabs.rb | Takashi Kokubun | 2023-03-06 | 1 | -1/+0 |
| | |||||
* | Remove obsoleted mjit_config.h | Takashi Kokubun | 2023-03-06 | 1 | -25/+0 |
| | |||||
* | Stop building mjit_build_dir.so | Takashi Kokubun | 2023-03-06 | 1 | -10/+0 |
| | |||||
* | Drop obsoleted MJIT header (#7458) | Takashi Kokubun | 2023-03-06 | 2 | -27/+2 |
| | | | RJIT doesn't need this. | ||||
* | MSWin: Use MESSAGE_BEGIN/MESSAGE_END instead of bare `echo` | Nobuyoshi Nakada | 2023-03-02 | 1 | -1/+1 |
| | | | | To strip enclosing double quotes. | ||||
* | Add .DELETE_ON_ERROR to Makefile | Alan Wu | 2023-02-06 | 1 | -0/+4 |
| | | | | | | | | | | | | | | | This instructs make to delete target files if the recipe fails midway, like when make itself is interrupted. This is mostly for development since it protects against corrupt builds that need a `make clean` to repair. Release builds normally don't fail mid-recipe. GNU make and BSD make support this. From GNU make's manual: > This is almost always what you want make to do, but it is not historical > practice; so for compatibility, you must explicitly request it. See https://innolitics.com/articles/make-delete-on-error/ | ||||
* | Silence dozens of useless warnings from `nm` on macOS | Nobuyoshi Nakada | 2023-01-31 | 1 | -1/+1 |
| | |||||
* | YJIT: Fix shared/static library symbol leaks | Alan Wu | 2023-01-27 | 1 | -11/+2 |
| | | | | | | | | | | | | | | | | | | | | Rust 1.58.0 unfortunately doesn't provide facilities to control symbol visibility/presence, but we care about controlling the list of symbols exported from libruby-static.a and libruby.so. This commit uses `ld -r` to make a single object out of rustc's staticlib output, libyjit.a. This moves libyjit.a out of MAINLIBS and adds libyjit.o into COMMONOBJS, which obviates the code for merging libyjit.a into libruby-static.a. The odd appearance of libyjit.a in SOLIBS is also gone. To filter out symbols we do not want to export on ELF platforms, we use objcopy after the partial link. On darwin, we supply a symbol list to the linker which takes care of hiding unprefixed symbols. [Bug #19255] Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> | ||||
* | Silence dozens of useless warnings from `ranlib` on macOS [ci skip] | Nobuyoshi Nakada | 2023-01-23 | 1 | -1/+1 |
| | |||||
* | tool/leaked-globals: ignore function typedef [ci skip] | Nobuyoshi Nakada | 2023-01-21 | 1 | -1/+1 |
| | |||||
* | Switch to use gem version of simplecov, not git clone | Hiroshi SHIBATA | 2023-01-18 | 1 | -17/+0 |
| | |||||
* | Move the dependency of makefiles on revision header [ci skip] | Nobuyoshi Nakada | 2023-01-14 | 1 | -1/+1 |
| | | | | | | Since `REVISION_H` is defined in common.mk which is appended or included after Makefile.in, it was undefined yet at the point of the dependency. | ||||
* | MSVS lacks `touch` [ci skip] | Nobuyoshi Nakada | 2022-12-20 | 1 | -0/+1 |
| | |||||
* | Fix missing parentheses [ci skip] | Nobuyoshi Nakada | 2022-12-20 | 1 | -1/+1 |
| | |||||
* | [Bug #19181] Separate the rule for unicode_normalize/tables.rb timestamp | Nobuyoshi Nakada | 2022-12-10 | 1 | -0/+11 |
| | | | | | It should depends on only existing data files (except for the tools), unless `ALWAYS_UPDATE_UNICODE=yes`. | ||||
* | document for commit 5bbba76489628f450949 [ci skip] | 卜部昌平 | 2022-12-07 | 1 | -0/+1 |
| | |||||
* | Handle depend files on nmake | Nobuyoshi Nakada | 2022-12-05 | 1 | -0/+2 |
| | |||||
* | MJIT: Rename mjit_compile_attr to mjit_sp_inc | Takashi Kokubun | 2022-11-29 | 1 | -2/+2 |
| | | | | There's no mjit_compile.inc, so no need to use this prefix anymore. | ||||
* | Control non-parallel parts with `.WAIT` if available | Nobuyoshi Nakada | 2022-11-13 | 1 | -0/+4 |
| | |||||
* | Fix infinite loop when out-of-place build | Nobuyoshi Nakada | 2022-11-02 | 1 | -1/+1 |
| |