ITEM: G9083L

C Programming: program ran thru DBX gives segmentation violation.




Question:

Customer has written a program in C that takes shared objects and
calls a member at one specific, but when he sends the program through
the debugger (DBX) he receives an error.  He checked by 'whereis' on
the error and the screen said there was a segmentation violation in
'glink.fflush'.  He checked on where specifically and it gave a
location number of '0X2001BB54'.  He would like to know why he is
getting this error message when this specific file is not being
called.  He also would like to know why 'glink.fflush' could be messed
up and have two copies of a shared object.


Response:

Customer is building and linking objects that comprise a connected graph.
Thus, the loader is loading 2 copies of some of the objects, which dbx
is showing with the "whereis" command.

I explained that the loader must have a fundamental dependant object to
begin the load process; it's possible that the traversal of the object
hierarchy will result in the loader thinking that an object must be loaded
twice.  While not correct, this is the way the loader works.

I informed Fila of RPQ P91129, and suggested he escalate to gain access
to it.  It would be useful in resolving some of these build issues, and
provide a runtime resolve and symbol access interface for his project.

I'm also sending two documents that discuss shared objects in greater
detail.



Support Line: C Programming: program ran thru DBX gives segmentation violation. ITEM: G9083L
Dated: March 1994 Category: N/A
This HTML file was generated 99/06/24~13:30:49
Comments or suggestions? Contact us