dlfcn.c revision 1
1N/A/*********************************************************************** 1N/A* This software is part of the ast package * 1N/A* Copyright (c) 1997-2011 AT&T Intellectual Property * 1N/A* and is licensed under the * 1N/A* Common Public License, Version 1.0 * 1N/A* by AT&T Intellectual Property * 1N/A* A copy of the License is available at * 1N/A* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 1N/A* Information and Software Systems Research * 1N/A* Glenn Fowler <gsf@research.att.com> * 1N/A***********************************************************************/ 1N/Astatic const char id[] =
"\n@(#)$Id: dll library (AT&T Research) 2010-10-20 $\0\n";
1N/A /* xcoff module header */ 1N/A /* find the loaded module whose data area contains the 1N/A * address passed in. Remember that procedure pointers 1N/A * are implemented as pointers to descriptors in the 1N/A * data area of the module defining the procedure 1N/A /* data is relocated by the difference between 1N/A * its virtual origin and where it was 1N/A /*N.B. o_sndata etc. are one based */ 1N/A /*hdr is address of header, not text, so add text s_scnptr */ 1N/A /* search the exports symbols */ 1N/A /* the symbol name representation is a nuisance since 1N/A * 8 character names appear in l_name but may 1N/A * not be null terminated. This code works around 1N/A * that by brute force 1N/A static const char e_cover[] = T(
"cannot access covered library");
1N/A static const char e_static[] = T(
"image statically linked");
1N/A return "dynamic linking not supported";