public inbox for gas2@sourceware.org
 help / color / mirror / Atom feed
* Re: X11R5/ELF build, was: bugs in gas-940912elf.1.tar.gz and gcc-2.6.0-940923.elf
       [not found] <m0qr5zv-000265C@dgisv.aib.com>
@ 1994-10-01  9:10 ` H.J. Lu
  1994-10-01  9:12   ` Eric Youngdale
  0 siblings, 1 reply; 2+ messages in thread
From: H.J. Lu @ 1994-10-01  9:10 UTC (permalink / raw)
  To: Eric Youngdale; +Cc: gas2

> >I am not sure if it is a GNU ld bug or the Linux d-linker bug.
> >I checked it on a UnixWare. It worked as expected. I think
> >The Linux d-link should bind the undefined function symbols in
> >the non PIC executable to the PLT address. I will be out o
> >f town until next Wendesday. I will take a look then if you
> >don't have the time.
> 
> 	My main machine is here  at aib, but  I need to find a 10baseT
> cable to connect it.   Once I do this, I  should be able to say better
> what the problem is.
> 
> 	In general, the dynamic loader will be binding symbols to
> whatever address appears within the symbol table of the shared object.
> This tends to be the actual address of the symbol, and not the PLT
> address.  I made the decision to do it this way because the
> performance will be a little bit better this way, but as you say, the
> comparison tests will fail.  I had thought that I set things up the
> same way that Unixware does, but it would be relatively easy to change
> the dynsym section so that it points to the PLT entry instead of the
> function itself.

Eric, I was wrong in my previous mail. It looks the function address
printed out in the shared library is invalid. I asseum either there is
no entry in GOT or the entry is wrong.

> 
> -Eric
> 
> 

I am sending the test to the gas2 list. It looks like the bug can be
in ld and/or d-linker. 

I want to first make sure the GNU ELF ld does the right thing. I was
wondering if anyone has the GNU ELF ld running on a SVR4/x86 box. I
would appreciate he/she could run the test included here. You can unpack
the tar file and do

cd elf
vi Makefile	# for CC and how to build the shared library
make
make runtest

Under i486-linux, the address of the function in the shared library
is printed out wrong. It looks like there is no entry for that
function in the GOT. But if I compile main.c with -fPIC and link main.o
against the shared library, the entry is there.

It seems the d-linker failed to build an entry for that function. But
the global variable is ok.


-- 
H.J. Lu
NYNEX Science and Technology, Inc.			hjl@nynexst.com
-----
begin 644 elf.tar.gz
M'YV09=B8>0&@H,&#"!,J7,BPH<.'$!&"F'BC1@T0 ";&L''#!L:)&F5\!$ER
M(HR)-6S0D'$CQ@P8-BY2M.$R8XV(.'/JW,D30)TY=,+(F0@ C1HV/1D"#6/&
M3-*G4*-*G4JU:L2  YN$65/&3!HV9:R*M0I2)8V1&SN.!#%CQMF,)2FR1*F2
MI4N8,F/$@.$V(XRQ@ ,?_!ET*$:C2*NFF9-8L./'D".+'3($1 \09\:,:8%5
M@8(P;-CH $&ER!0JGN74<4.G#-#1H-DH2 "$"9$O3)((D1)$2I8O4()00=+#
M!0@7+TJ?]LPFC1CE5%S,>>,BA@L8UT>3J=.F31X7;T#,02.T#!GPLTF@L)T"
M1(LV(+!^23,#A\<6+<:7)^,^_QLW8;11!@C-/6=:=--5YUYX)  !PG;=?1>>
M?G*8AUX"ZDG11'L%0B?=&[.QX89[<Q#HG(<)6H?=21T>^&%Z*&C(X8DNIACB
MB/F9:.!I'U9WW74ZHDA=#)Y!-UH;8:3A!GA!UCCDCS# 2%E[+3#H())*,MD"
M$\:UP 9TGKDP!G@Z2#D$E6.X9P842536PA,BD<##@B TZ!F62[YQ9))+CF$F
MFN[!6>><5=8)A&=C@!6&&V5B&..&(*C I I^@##&&Q6"$ 9X==!!VH%-\CB=
M"@I(5A!6+T#HG9BFMKI0632\I1%''L'%EEMKQ45##'2MU-)+,6D$$PU_@?"7
MJ\A&1)A01"%FU6*-)2OMM-129<<;:?"G:AXH7)MM"@KLH0!)%=)1AQQN[*! 
M'Z56Z^Z[\,8K[[STUML0JGBR:B]@L,H*0EJU@M26OW'-4(-((*3DZUW!_@L#
M#2GYM:^KRQI6U%'/,C;QQAP#-H*2B=9!QH \ $5&&M2AX8-G9>#1&KH@>*LM
M=]YUBRT9*:C;\LLCRBP>>162 8<<;XQA\[?J*K 4'6FDZ?/230]=]-$XASLN
M2$,K28<9*(@ ]1A2CZ$=S7GT  ,>)<"  QY<N"$""R"@H'5[V^:\KF=:@X G
MU>"*2Q*%YH6-@MU_!\4TV$0;33A(Y9X[(@SJLMOQY)17'A6J@)\WAN5/]8L6
MK6L-G"M),=QP0Z]V 9O77C#<9"SG@57<+,:*:0S[[;@?]+$;(8\,0LETG)SR
MR@KL7 ;,/F_+=])/ QUXXGQ;35+6K''MM?-")SYVA&:CK3;;;L,M-VMTDVVW
MY+FGK_[Z[+?O_OOPQR___/37;__]^.>O__[\]^___P ,H  '2, "&O" "$R@
D A?(P 8Z\($0C* $)TC!"EKP@AC,H 8WR,$.>O"#( RA""L(
 
end


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

* Re: X11R5/ELF build, was: bugs in gas-940912elf.1.tar.gz and gcc-2.6.0-940923.elf
  1994-10-01  9:10 ` X11R5/ELF build, was: bugs in gas-940912elf.1.tar.gz and gcc-2.6.0-940923.elf H.J. Lu
@ 1994-10-01  9:12   ` Eric Youngdale
  0 siblings, 0 replies; 2+ messages in thread
From: Eric Youngdale @ 1994-10-01  9:12 UTC (permalink / raw)
  To: hjl; +Cc: gas2

>Eric, I was wrong in my previous mail. It looks the function address
>printed out in the shared library is invalid. I asseum either there is
>no entry in GOT or the entry is wrong.

	I am now looking at it, and it looks like a d-link problem.  I ran the same thing
under unixware, and both addresses printed as the 0x0800xxxx address.  I do not know
why the problem is coming up exactly, but I should have a solution shortly.

-Eric


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

end of thread, other threads:[~1994-10-01  9:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <m0qr5zv-000265C@dgisv.aib.com>
1994-10-01  9:10 ` X11R5/ELF build, was: bugs in gas-940912elf.1.tar.gz and gcc-2.6.0-940923.elf H.J. Lu
1994-10-01  9:12   ` Eric Youngdale

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).