Changeset fc300f in git
- Timestamp:
- May 9, 2005, 6:42:02 PM (18 years ago)
- Branches:
- (u'spielwiese', 'd1ec153efbb92b07a03c829a7f893fe854f169d2')
- Children:
- e493f2154fd7d4c0497a744d88066bb847198364
- Parents:
- 6d3e3e8bbf38f9a9cbfd011fa97a53ce417db332
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/mod_raw.cc
r6d3e3e rfc300f 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: mod_raw.cc,v 1. 3 2005-05-04 15:25:45Singular Exp $ */4 /* $Id: mod_raw.cc,v 1.4 2005-05-09 16:42:02 Singular Exp $ */ 5 5 /* 6 6 * ABSTRACT: machine depend code for dynamic modules … … 83 83 84 84 /***************************************************************************** 85 * SECTION generic Linux: ix86-linux / alpha-linux / IA64-linux /x86_64_Linux* 85 * SECTION generic ELF: ix86-linux / alpha-linux / IA64-linux /x86_64_Linux * 86 * SunOS-5 / IRIX-6 / ppcMac-Darwin 86 87 *****************************************************************************/ 87 88 #if defined(ix86_Linux) … … 106 107 107 108 #if defined(ppc_Linux) 109 #define HAVE_ELF_SYSTEM 110 #endif 111 112 #if defined(SunOS_5) 113 #define HAVE_ELF_SYSTEM 114 #endif 115 116 #ifdef IRIX_6 108 117 #define HAVE_ELF_SYSTEM 109 118 #endif … … 140 149 return(dlerror()); 141 150 } 142 #endif /* Linux*/151 #endif /* ELF_SYSTEM */ 143 152 144 153 /***************************************************************************** … … 189 198 190 199 /***************************************************************************** 191 * SECTION 68k-MPW *192 *****************************************************************************/193 #ifdef MPW194 /* # include <> */195 196 void *dynl_open(char *filename)197 {198 return(NULL);199 }200 201 void *dynl_sym(void *handle, char *symbol)202 {203 return(NULL);204 }205 206 int dynl_close (void *handle)207 {208 return(0);209 }210 211 const char *dynl_error()212 {213 static char errmsg[] = "support for dynamic loading not implemented";214 215 return errmsg;216 }217 # endif /* 68k_MPW */218 219 220 /*****************************************************************************221 200 * SECTION AIX-4 * 222 201 *****************************************************************************/ 223 202 #ifdef AIX_4 224 /* # include <> */ 225 226 void *dynl_open(char *filename) 227 { 228 return(NULL); 229 } 230 231 void *dynl_sym(void *handle, char *symbol) 232 { 233 return(NULL); 234 } 235 236 int dynl_close (void *handle) 237 { 238 return(0); 239 } 240 241 const char *dynl_error() 242 { 243 static char errmsg[] = "support for dynamic loading not implemented"; 244 245 return errmsg; 246 } 247 # endif /* AIX_4 */ 248 249 /***************************************************************************** 250 * SECTION IRIX-6 * 251 *****************************************************************************/ 252 #ifdef IRIX_6 253 #include <dlfcn.h> 254 static void* kernel_handle = NULL; 255 void *dynl_open( char *filename) 256 { 257 return(dlopen(filename, RTLD_NOW|RTLD_GLOBAL)); 258 } 259 260 void *dynl_sym(void *handle, char *symbol) 261 { 262 if (handle == DYNL_KERNEL_HANDLE) 263 { 264 if (kernel_handle == NULL) 265 kernel_handle = dynl_open(NULL); 266 handle = kernel_handle; 267 } 268 return(dlsym(handle, symbol)); 269 } 270 271 int dynl_close (void *handle) 272 { 273 return(dlclose (handle)); 274 } 275 276 const char *dynl_error() 277 { 278 return(dlerror()); 279 } 280 # endif /* IRIX_6 */ 203 #define DL_NOT_IMPLEMENTED 204 #endif 281 205 282 206 /***************************************************************************** … … 284 208 *****************************************************************************/ 285 209 #ifdef Sun3OS_4 286 /* # include <> */ 287 288 void *dynl_open(char *filename) 289 { 290 return(NULL); 291 } 292 293 void *dynl_sym(void *handle, char *symbol) 294 { 295 return(NULL); 296 } 297 298 int dynl_close (void *handle) 299 { 300 return(0); 301 } 302 303 const char *dynl_error() 304 { 305 static char errmsg[] = "support for dynamic loading not implemented"; 306 307 return errmsg; 308 } 309 #endif /* Sun3OS_4 */ 210 #define DL_NOT_IMPLEMENTED 211 #endif 310 212 311 213 /***************************************************************************** … … 313 215 *****************************************************************************/ 314 216 #if defined(SunOS_4) 315 /* # include <> */ 316 317 void *dynl_open(char *filename) 318 { 319 return(NULL); 320 } 321 322 void *dynl_sym(void *handle, char *symbol) 323 { 324 return(NULL); 325 } 326 327 int dynl_close (void *handle) 328 { 329 return(0); 330 } 331 332 const char *dynl_error() 333 { 334 static char errmsg[] = "support for dynamic loading not implemented"; 335 336 return errmsg; 337 } 338 #endif /* SunOS_4 */ 217 #define DL_NOT_IMPLEMENTED 218 #endif 339 219 340 220 /***************************************************************************** 341 * SECTION SunOs-5 342 *****************************************************************************/ 343 #if defined(SunOS_5) 344 #include <dlfcn.h> 345 346 static void* kernel_handle = NULL; 347 void *dynl_open( 348 char *filename /* I: filename to load */ 349 ) 350 { 351 return(dlopen(filename, RTLD_NOW|RTLD_GLOBAL)); 352 } 353 354 void *dynl_sym(void *handle, char *symbol) 355 { 356 if (handle == DYNL_KERNEL_HANDLE) 357 { 358 if (kernel_handle == NULL) 359 kernel_handle = dynl_open(NULL); 360 handle = kernel_handle; 361 } 362 return(dlsym(handle, symbol)); 363 } 364 365 int dynl_close (void *handle) 366 { 367 return(dlclose (handle)); 368 } 369 370 const char *dynl_error() 371 { 372 return(dlerror()); 373 } 374 #endif /* SunOS_5 */ 375 376 /***************************************************************************** 377 * SECTION ix86-Win * 378 *****************************************************************************/ 379 // is defined externally in sing_win.cc 380 381 /***************************************************************************** 382 * SECTION ppc-MPW * 383 *****************************************************************************/ 384 #ifdef ppc_MPW 385 /* # include <> */ 221 * SECTION generic: dynamic madules not available 222 *****************************************************************************/ 223 #ifdef DL_NOT_IMPLEMEMENTED 386 224 387 225 void *dynl_open(char *filename) … … 405 243 return errmsg; 406 244 } 407 # endif /* ppc_MPW */245 #endif 408 246 409 247 #ifdef __cplusplus
Note: See TracChangeset
for help on using the changeset viewer.