public inbox for gas2@sourceware.org
 help / color / mirror / Atom feed
* GNU linker on MIPS and the _etext section ....
@ 1999-02-20  0:48 Koundinya.K
  1999-02-21 17:33 ` Ian Lance Taylor
  0 siblings, 1 reply; 2+ messages in thread
From: Koundinya.K @ 1999-02-20  0:48 UTC (permalink / raw)
  To: ian, gas2, bfd

Dear all and Ian,
	I have some doubt regarding the _etext section. I am still in the process 
of debugging the GNU linker. After some hours of debugging last night I 
found that my runtime linker is getting killed because a call to the _etext 
is resulting in a procedure linkage table entry for my run time linker. 
After this all the binder code of the run time linker is called and then the 
linker gets killed. I don't know how far I am correct. Here is my 
observation of a test program that I first compiled using gcc and native ld 
, then compiled again with gcc and gnu ld.

1) gcc and the native ld.	(No problem here )

_____________ Earlier Stuff not shown ____________________________________
__________________________________________________________________________

0x40062ed8 in _exithandle ()
0x40062edc in _exithandle ()
0x40062ee0 in _exithandle ()
0x400744 in _fini ()
0x400748 in _fini ()
0x400750 in _fini ()
0x400754 in _fini ()
0x400758 in _fini ()
0x40075c in _fini ()
0x400760 in _fini ()
0x400764 in _fini ()
0x400768 in _fini ()
0x40076c in _fini ()
0x400770 in _fini ()
0x40062ee8 in _exithandle ()
0x40062eec in _exithandle ()
0x40062ef0 in _exithandle ()
0x40062ef4 in _exithandle ()
_________________________ Later stuff not shown _____________________________
_

2) gcc and GNU ld 

_________________________________________________________________________
_________________ Earlier Stuff not shown _________________________________

0x40062ed4 in _exithandle ()
0x40062ed8 in _exithandle ()
0x40062edc in _exithandle ()
0x40062ee0 in _exithandle ()
0x4009c0 in _etext ()
0x4009c4 in _etext ()
0x4009cc in _etext ()
0x4009d0 in _etext ()
0x4009d4 in _etext ()
0x4009d8 in _etext ()
0x4009dc in _etext ()
0x4009e0 in _etext ()
0x4009e4 in _etext ()
0x4009e8 in _etext ()
0x4009ec in _etext ()
0x40062ee8 in _exithandle ()
0x40062eec in _exithandle ()
0x40062ef0 in _exithandle ()
0x40062ef4 in _exithandle ()
0x40062ec4 in _exithandle ()
0x40062ec8 in _exithandle ()
0x40062ecc in _exithandle ()
0x40062ed0 in _exithandle ()
0x40062ed4 in _exithandle ()
0x40062ed8 in _exithandle ()
0x40062edc in _exithandle ()
0x40062ee0 in _exithandle ()
0x400980 in _cleanup ()
0x400984 in _cleanup ()
0x400988 in _cleanup ()
0x40051310 in _rtbinder ()
0x40051314 in _rtbinder ()

after many more steppings I get ...

Hello
dynamic linker: ./tt1: unidentifiable procedure reference (address = 
0x40062ee8)
Killed

_____________________________________________________________________________
__


I am using gdb for debugging. 

For gcc + gnu ld combination I am able to step into the _etext function.

For the gcc + native ld combination I am not able to get into _etext ().

I get a message from gdb like this.

_____________________________________________________________________________
__
(gdb) break _etext
warning: Hit heuristic-fence-post without finding
warning: enclosing function for address 0x400778
This warning occurs if you are debugging a function without any symbols
(for example, in a stripped executable).  In that case, you may wish to
increase the size of the search with the `set heuristic-fence-post' command.

Otherwise, you told GDB there was a function where there isn't one, or
(more likely) you have encountered a bug in GDB.
Breakpoint 2 at 0x400778

_____________________________________________________________________________


I would be glad I can get any pointers on these issues and the problem that 
I am facing.

With best regards

Koundinya



	


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: GNU linker on MIPS and the _etext section ....
  1999-02-20  0:48 GNU linker on MIPS and the _etext section Koundinya.K
@ 1999-02-21 17:33 ` Ian Lance Taylor
  0 siblings, 0 replies; 2+ messages in thread
From: Ian Lance Taylor @ 1999-02-21 17:33 UTC (permalink / raw)
  To: kk; +Cc: gas2, bfd

   Date: Sat, 20 Feb 1999 14:17:50 +0530
   From: "Koundinya.K" <kk@ddeorg.soft.net>

	   I have some doubt regarding the _etext section.

_etext is not a section.  It is a symbol.  It normally marks the end
of the .text section.

   I am still in the process 
   of debugging the GNU linker. After some hours of debugging last night I 
   found that my runtime linker is getting killed because a call to the _etext 
   is resulting in a procedure linkage table entry for my run time linker. 

Nothing is calling _etext.  gdb is seeing a call to some address.  It
can't find a symbol associated with that address.  The address happens
to be after _etext, so it decides to call the address _etext plus
something.  Don't pay any attention to _etext--that's just a red
herring resulting from how gdb decides to display addresses.

Your program is actually calling into code for which gdb can not find
any debugging information.  This code is probably in the dynamic
linker, or in a shared library.

Ian

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1999-02-21 17:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-02-20  0:48 GNU linker on MIPS and the _etext section Koundinya.K
1999-02-21 17:33 ` Ian Lance Taylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).