mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	Only define RUBY_DLN_CHECK_ABI when supported
This commit is contained in:
		
							parent
							
								
									210f29a6bf
								
							
						
					
					
						commit
						25ad9eabc7
					
				
					 2 changed files with 4 additions and 6 deletions
				
			
		
							
								
								
									
										4
									
								
								dln.c
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								dln.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -426,7 +426,7 @@ dln_sym(void *handle, const char *symbol)
 | 
			
		|||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if RUBY_DLN_CHECK_ABI && defined(USE_DLN_DLOPEN)
 | 
			
		||||
#if defined(RUBY_DLN_CHECK_ABI) && defined(USE_DLN_DLOPEN)
 | 
			
		||||
static bool
 | 
			
		||||
abi_check_enabled_p(void)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -441,7 +441,7 @@ dln_load(const char *file)
 | 
			
		|||
#if defined(_WIN32) || defined(USE_DLN_DLOPEN)
 | 
			
		||||
    void *handle = dln_open(file);
 | 
			
		||||
 | 
			
		||||
#if RUBY_DLN_CHECK_ABI
 | 
			
		||||
#ifdef RUBY_DLN_CHECK_ABI
 | 
			
		||||
    unsigned long long (*abi_version_fct)(void) = (unsigned long long(*)(void))dln_sym(handle, "ruby_abi_version");
 | 
			
		||||
    unsigned long long binary_abi_version = (*abi_version_fct)();
 | 
			
		||||
    if (binary_abi_version != ruby_abi_version() && abi_check_enabled_p()) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,12 +27,10 @@
 | 
			
		|||
/* Windows does not support weak symbols so ruby_abi_version will not exist
 | 
			
		||||
 * in the shared library. */
 | 
			
		||||
#if defined(HAVE_FUNC_WEAK) && !defined(_WIN32) && !defined(__MINGW32__)
 | 
			
		||||
# define RUBY_DLN_CHECK_ABI 1
 | 
			
		||||
#else
 | 
			
		||||
# define RUBY_DLN_CHECK_ABI 0
 | 
			
		||||
# define RUBY_DLN_CHECK_ABI
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if RUBY_DLN_CHECK_ABI
 | 
			
		||||
#ifdef RUBY_DLN_CHECK_ABI
 | 
			
		||||
 | 
			
		||||
RUBY_FUNC_EXPORTED unsigned long long __attribute__((weak))
 | 
			
		||||
ruby_abi_version(void)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue