Sponsored Content
Top Forums Programming overriding the dynamic library Post 302119282 by porter on Tuesday 29th of May 2007 03:58:42 AM
Old 05-29-2007
Quote:
Originally Posted by Raom
can you please help me gettin details of this "fixups"
First what is the platform? Is it ELF?

Anyhow, a shared library works by exporting a number of functions by name. A program linked to those libraries has dangling pointers to those functions that need to be resolved at load time. This is what ld.so does.

So when a program starts "printf" really does point at libc.so.4::printf etc. If you then unload libc.so.4 or whatever the printf function disappears but the fixed up pointers dont change.

Some platforms support you supplying a "shim" shared library that will go between the application and the original, some don't.

Last edited by vino; 05-29-2007 at 05:30 AM.. Reason: disable smilies
 

10 More Discussions You Might Find Interesting

1. Programming

how to auto load a dynamic library

hi, every body. i have in trouble that how to load a dynamic library by hand. for example, i know how to generate a dynamic library and how to link a dynamic library in makefile. generate a dynamic library: add -dy -G behind cc link a dynamic library in makefile: add -dy -Bdynamic behind cc... (0 Replies)
Discussion started by: subrain
0 Replies

2. Linux

load dynamic and shared library in kernel

hi how can i load dynamic or shared library in linux kernel modules . mtaghiloo@yahoo.com (0 Replies)
Discussion started by: mtaghiloo
0 Replies

3. Programming

loading a dynamic library in linux

is there a way to load a dynamic library in linux? I know tht in AIX u can do it using the loadAndInit() function. Please guide me (2 Replies)
Discussion started by: jacques83
2 Replies

4. Shell Programming and Scripting

Overriding PATH

Hello, I'm using Sun solaris . I'm trying to override the environmental variable in my script, however when I execute the script, the PATH whatever being set in .profile is taking precedence. I have done the sanity checks like order of my entry in path, permissions for the user etc., To... (1 Reply)
Discussion started by: brainyoung
1 Replies

5. Programming

C++ overriding Vs hiding

class B { public: void fns(void){//base def;} }; class D:public B { public: void fns(void) {//new def;} }; I was thinking the above is overriding but somewhere else i found the above is just hiding.Only virtual functions can be considered as overriding? This is the exact statement ... (1 Reply)
Discussion started by: johnbach
1 Replies

6. UNIX for Dummies Questions & Answers

How to obtain list of object files in a shared (dynamic) library?

How can I simply obtain a list of the object files in a shared (dynamic) library. I am looking for the equivalent of "ar -t <lib>" for archived (static) libraries. Thanks in advance. :rolleyes: ---------- Post updated at 01:47 PM ---------- Previous update was at 12:16 PM ---------- The... (1 Reply)
Discussion started by: chatieremerrill
1 Replies

7. UNIX for Dummies Questions & Answers

Problem with shared dynamic library files

I am having a major problem. Most of the commands that i am running on my centos 5 system is giving the error of type: <dynamic shared library file>:open failed: No such file or directory For example: libgcc_s.so.1: open failed: No such file or directory How can i solve this? (6 Replies)
Discussion started by: proactiveaditya
6 Replies

8. Programming

Dynamic library load with dlopen

Hi, I created two library libsum.so and libproduct.so. In the libproduct.so is defined function "product" that use function "sum" defined in libsum.so. So libproduct depends on libsum. In main function I called product function by a dlopen request. Unfortunaly, when I execute program I have an... (5 Replies)
Discussion started by: shade82
5 Replies

9. Programming

problem in dynamic library*.so

hello I apologize if my question bothers you I work on a code developed in C + + which worked well on mac os, this code will help create libraries *.so from *.cc and *.h I used this as flags:CXXFLAGS = -g -O2 -fPIC -Wall -ldl -D_GNU_SOURCE ,CXX := g++ and $(CXX)-shared -o $(LIBNAME) $(CLIBLIB)... (0 Replies)
Discussion started by: pheapc
0 Replies

10. Programming

Specifying dynamic library path to linker at compile time

I would like to compile a binary that doesnot depend on LD_LIBRARY_PATH as this binary will be setuid to owner and used by other users and since setuid doesnot support LD_LIBRARY_PATH making it independent of LD_LIBRARY_PATH would be great. But I am not able to specify the path of the shared... (1 Reply)
Discussion started by: waavman
1 Replies
LDBASH(1)							  libbash Manual							 LDBASH(1)

NAME
ldbash -- Dynamic loader for libbash(7) libraries. SYNOPSIS
ldbash [-h | --help] ldbash [-l | --list] ldbash [-L | --load lib,[lib] ...] ldbash [-U | --unload lib,[lib] ...] ldbash [-e | --externlist lib,[lib] ...] ldbash [--externlist-all] ldbash [--i | --internlista lib,[lib] ...] ldbash [--internlist-all] DESCRIPTION
ldbash is used to manipulate libbash(7) libraries. Its main function is to load specific library. It can also print list of available libraries, list functions each library exports, unload functions, etc. In case of --load and --unload ,the output is intended to be passed to bash eval command. Options -h | --help Print options summary -l | --list Display list of available libraries. The libraries names listed, may be passed as parameters to other invocations of ldbash. I.e. first you run ldbash --list to see what is available and then you may load it. -L | --load lib,[lib] ... Load given libraries - i.e. print string that should be passed to eval command. Usually the string contains various source commands. Libraries that given libraries depend on are also loaded. Libraries only loaded if their dependencies are satisfied. Dependencies are resolved using ldbash.cache file, which is created by ldbashconfig(8). -U | --unload lib,[lib] ... Unload given libraries, but not their dependencies. The output should be passed to eval command (in the same manner as with --load ). -e | --externlist lib,[lib] ... List all symbols that are exported by given libraries. Symbols are usually functions that given libraries implement. --externlist-all List all exported symbols of all available libraries. Symbols are usually functions that library implement. -i | --internlist lib,[lib] ... List all internal symbols (i.e. global variables/functions) of given libraries. This is intended mostly for developers that want to develop library of their own, and want to be sure that they don't override any already defined symbol. --internlist-all List all internal symbols of all available libraries. This is intended mostly for developers that want to develop library of their own, and want to be sure that they don't override any already defined symbol. FILES
/etc/ldbash.cache Cache file that contains information about libraries dependencies and list of exported symbols. See ldbashconfig((8)) for further details. BUGS
The script can't load libraries if their file name starts with '-'. (If someone uses file names that start with a '-' he/she deserves it!) AUTHORS
Hai Zaar <haizaar@gmail.com> Gil Ran <gil@ran4.net> SEE ALSO
libbash(7), ldbashconfig(8) Linux Epoch Linux
All times are GMT -4. The time now is 11:59 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy