summaryrefslogtreecommitdiff
path: root/dln.c
Commit message (Collapse)AuthorAgeFilesLines
* reduce copy & pasteshyouhei2018-07-301-11/+4
| | | | | | | | | | | We see several occurrence of "diagnostic push/pop" so why not make them macros. Tested on GCC8 / Clang 6. Note that ruby.h is intentionally left untouched because we don't want to introduce new public macros. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* constifiednobu2018-01-091-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dln.c: dln_incompatible_library_pnobu2018-01-031-5/+3
| | | | | | | * dln.c (dln_incompatible_library_p): renamed as the error message with dln prefix, since it is not bound to xmalloc restrictively. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dln.c: xmalloc_mismatch_p with dlopennobu2018-01-031-1/+3
| | | | | | | * dln.c (xmalloc_mismatch_p): define only when using dlopen, otherwise dlsym is not available too, and should be used then. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* include missing headershyouhei2018-01-021-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* comparing function pointer versus void* is a GCCismshyouhei2018-01-021-2/+22
| | | | | | | However dlsym() requires such feature so this function is non- portable by nature. Cannot but suppress warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* get rid of strcpynobu2016-12-261-2/+2
| | | | | | | | | | | | | * addr2line.c (follow_debuglink): insert global_debug_dir by using memmove instead of copying to temporary buffer. * dln.c (dln_load): use memcpy with the known length instead of strcpy. * gc.c (rb_gc_unprotect_logging): use strdup instead of malloc and strcpy. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dln.c: raise LoadErrornobu2016-11-191-1/+3
| | | | | | | | * dln.c (dln_load): raise LoadError instead of fatal error on recent OSX, dlclose seems fixed in El Capitan or later. [ruby-core:78200] [Bug #12956] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dln.c: move error message definitionnobu2016-04-071-2/+4
| | | | | | | * dln.c (dln_load): move the definition of incompatible library version error message to be shared. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Drop support for BeOSnobu2015-11-241-52/+0
| | | | | | | * beos: Drop support for BeOS now that Haiku is stable. [Fix GH-1112] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Haiku now best effort supportnobu2015-11-231-3/+3
| | | | | | | | | | * configure.in: remove obsolete workarounds for Haiku. * dln.c, file.c, io.c: remove obsolete Haiku workarounds. * thread_pthread.c: add stack bounds detection for Haiku. * signal.c: get stack pointer from signal context on Haiku. [ruby-core:67923] [Bug #10811] [Fix GH-1109] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c: remove defined(__WATCOMC__).kosaki2015-10-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c: Good-by Borland-C.kosaki2015-10-181-1/+1
| | | | | | | | | | | | | | | | * include/ruby/backward/rubyio.h: ditto. * include/ruby/backward/st.h: ditto. * include/ruby/backward/util.h: ditto. * include/ruby/backward/rubysig.h: ditto. * include/ruby/backward/classext.h: ditto. * dln.c: ditto. * gc.c: ditto. * win32/resource.rb: ditto. * win32/dir.h: ditto. * ext/tk/tcltklib.c: ditto. * NEWS: announce that Borland-C is no longer supported. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c: simplify #ifdef. _WIN32 and __CYGWIN__ are exclusive.kosaki2015-10-181-3/+3
| | | | | | | | see include/ruby/defines.h * gc.c: ditto. * ext/sdbm/_sdbm.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dln.c: fix EXTERNAL_PREFIXnobu2015-05-011-2/+7
| | | | | | | | | | | * configure.in (EXPORT_PREFIX): revert r50410. * dln.c (EXTERNAL_PREFIX): define by predefined macros. configured EXPORT_PREFIX is different thing. * win32/Makefile.sub: r50414-50415. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dln.c: raise fatalnobu2015-05-011-2/+4
| | | | | | | * dln.c (dln_load): raise fatal error on OSX not other extension libraries to refer different libruby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dln.c: check incompatible librubynobu2015-05-011-0/+15
| | | | | | | | * dln.c (dln_load): check if a different libruby is loaded by the extension library, and then bail out to get rid of very frequent reported stale bug reports. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dln.c: use EXPORT_PREFIXnobu2015-05-011-7/+1
| | | | | | | | | | * configure.in (EXPORT_PREFIX): define exported symbol prefix string in config.h. * dln.c (FUNCNAME_PREFIX): use configured EXPORT_PREFIX, not hardcoded condition. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Merges a patch form naclports.yugui2014-10-111-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | * configure.in (RUBY_NACL and others): Supports PNaCl. * dln.c: replace the old hacky dynamic loading over HTTP with nacl_io. * file.c: tenatively use access(2) instead of eaccess. (rb_file_load_ok): weaken with attribute but not by postprocess. * io.c (socket.h): now NaCl has socket.h (flock): disable here instead of nacl/ioctl.h * nacl/GNUmakefile.in (CC, LD, NM, AR, AS, RANLIB, OBJDUMP, OBJCOPY): respect path to them if they are absolute. This helps naclports to build ruby in their source tree. (PROGRAM_NMF, .SUFFIXES): support .pnexe for PNaCl. (ruby.o, file.o): move the hack to attributes in ruby.c and file.c * nacl/ioctl.h: removed. move the hack to io.c. * nacl/nacl-config.rb: support arm, pnacl and others. * nacl/pepper_main.c: support build in a naclports tree. * ruby.c (rb_load_file): weaken with attribute but not by postprocess. The patch is by sbc@google.com and the Native Client Authors. It is available at: * https://chromium.googlesource.com/external/naclports.git/+/873ca4910a5f9d4206306aacb4ed79c587c6a5f3/ports/ruby/nacl.patch git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * symbian/*: removed Symbian support.hsbt2014-09-041-5/+0
| | | | | | | | | | [Feature #10199][ruby-core:64725] * dln.c: ditto. * include/ruby/defines.h: ditto. * thread_pthread.c: ditto. * vm.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in, missing.h: jemalloc manglingnobu2014-06-051-0/+1
| | | | | | | | | | | | * configure.in (with-jemalloc): also check for header, for ABIs which JEMALLOC_MANGLE is needed, i.e., Mach-O and PE-COFF platforms. [ruby-core:62939] [Feature #9113] * include/ruby/missing.h: include alternative malloc header to replace memory management functions. * dln.c, io.c, parse.y, st.c: undef malloc family before re-definition to suppress warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dln.c: non-ascii path on Windowsnobu2014-04-051-5/+10
| | | | | | | | * dln.c (dln_load): use wchar version to load a library in non-ascii path on Windows. based on the patch by Bugra Barin <bugrabarin AT hotmail.com> in [ruby-core:61845]. [Bug #9699] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* adjust indent and stylenobu2014-02-271-17/+18
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use strlcatnobu2014-02-271-1/+1
| | | | | | | | * addr2line.c (follow_debuglink): use strlcat instead of strncat. * dln.c (aix_loaderror): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* adjust style.nobu2012-12-011-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c: Simplify and make consistent an ifdef for Mac OS X.kosaki2012-07-091-1/+1
| | | | | | | | | | | * ext/socket/rubysocket.h: ditto. * ext/tk/stubs.c: ditto. * io.c: ditto. * process.c: ditto. * signal.c: ditto. * vm_dump.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Imports Ruby's port to NativeClient (a.k.a NaCl).yugui2012-05-171-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch by Google Inc. [ruby-core:45073]. * configure.in (RUBY_NACL): New M4 func to configure variables for NaCl. (RUBY_NACL_CHECK_PEPPER_TYPES): New M4 func to check the old names of Pepper interface types. (BTESTRUBY): New variable to specify which ruby should be run on "make btest". NaCl can run the built binary by sel_ldr, but it need rbconfig.rb. So this variable is distinguished from $MINIRUBY. * thread_pthread.c: Disabled some features on NaCl. * io.c: ditto. * process.c: ditto. * signal.c: ditto. * file.c: ditto. * missing/flock.c: ditto. * nacl/pepper_main.c: An example implementation of Pepper application that embeds Ruby. * nacl/example.html: An example of web page that uses the Pepper application. * nacl/nacl-config.rb: Detects variants of NaCl SDK. * nacl/GNUmakefile.in: Makefile template for NaCl specific build process. * nacl/package.rb: script for packaging a NaCl-Ruby embedding application. * nacl/reate_nmf.rb: Wrapper script of create_nmf.py * dln.c (dln_load): Added a hack to call on NaCl. * util.c (ruby_getcwd): Path to the current directort is not available on NaCl. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (rb_w32_check_imported): skip ordinal entries. based on anobu2012-04-171-3/+1
| | | | | | | | patch by phasis68 (Heesob Park) at [ruby-core:44381]. [ruby-core:44371][Bug #6303] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (rb_w32_check_imported): skip ordinal entries. patched bynobu2012-04-161-2/+6
| | | | | | phasis68 (Heesob Park) at [ruby-core:44381]. [Bug #6303] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/defines.h: use "__sparc" instead of "sparc" andakr2011-10-251-5/+5
| | | | | | | | | | | | "__sparc__". * dln.c: ditto. [ruby-dev:44694] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c: use "__sun" instead of "sun" to detect SunOS.akr2011-10-241-5/+5
| | | | | | | | | | | | | | * dln.c: ditto. * cont.c: ditto. * ext/sdbm/_sdbm.c: ditto. [ruby-dev:44693] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/defines.h: remove NextStep, OpenStep, Rhapsodykosaki2011-09-261-39/+1
| | | | | | | | | | | support. Last activity of their OSs are 7 years ago. * configure.in: ditto. * dir.c: ditto. * ext/tk/extconf.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (init_funcname_len): ignore rest from first dot.nobu2011-01-051-3/+3
| | | | | | | [ruby-dev:41774] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c: parenthesize macro arguments.akr2010-12-091-6/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (init_funcname): allocate and build initializationnobu2010-11-091-22/+25
| | | | | | funciton name at once. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (dln_strerror): get English message first, instead ofnobu2010-10-151-4/+6
| | | | | | system default. see [ruby-dev:42358]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (rb_w32_check_imported): suppress warning.nobu2010-10-121-2/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * suppress warnings.nobu2010-05-211-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (dln_load): check imported addresses only when compilednobu2010-05-161-0/+2
| | | | | | | for ruby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (rb_w32_check_imported): workaround for VC6.nobu2010-05-161-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (rb_w32_check_imported): check if extension library to benobu2010-05-161-22/+58
| | | | | | | loaded imports from different ruby dll. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (aix_loaderror): use execerror for load error on AIX.kanemoto2010-05-051-39/+17
| | | | | | | This can avoid SEGV reported by Perry Smith. [Bug #2063] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c [DLN_NEEDS_ALT_SEPARATOR] (translit_separator): small typo fixed.azav2010-03-071-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (translit_separator): moved back from load.c again.nobu2010-02-241-0/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln_find.c: split from dln.c.nobu2010-02-241-237/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c, file.c, io.c, signal.c: add __HAIKU__.naruse2010-01-251-3/+3
| | | | | | patched by Alexander von Gluck [ruby-core:27767] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in, win32/Makefile.sub (EXECUTABLE_EXTS): moved fromnobu2009-11-301-1/+1
| | | | | | | | | | dln.c:dln_find_1(). * lib/mkmf.rb (def find_executable0): use EXECUTABLE_EXTS, not only EXEEXT. [ruby-core:26821] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (dln_find_1): removed duplication.nobu2009-11-231-3/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (dln_find_1): fixed commit miss.nobu2009-11-231-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (dln_find_1): removed duplication.nobu2009-11-231-7/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e