This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: ld goes into infinite loop


I partially solved the problem. I made the fully inlined class non-inline.

class OSS_WorkTask : public OSS_Task
{
...
}

So it makes the following entires not to be exported from the shared
libraries
which has classes derived from OSS_WorkTask.

__tf12OSS_WorkTask;
__ti12OSS_WorkTask;
__vt_12OSS_WorkTask;

or after c++filt
OSS_WorkTask type_info function;
OSS_WorkTask type_info node;
OSS_WorkTask virtual table;

This prevents linker going into infinte loop when more than 2 shared
libraries used (which had the above entires) to create a new shared library.

All shared library version scripts are in the form

VERSION {
VERS_7.1 {
global:
__tf12OSS_WorkTask;
__ti12OSS_WorkTask;
__vt_12OSS_WorkTask;
.... a lot of more entries (~2500)
local:
*;
};
}

I do not know how can I reproduce it into a smaller testcase.


-----Original Message-----
From: H . J . Lu [mailto:hjl@lucon.org]
Sent: Friday, November 23, 2001 11:34 PM
To: Berk, Murat
Cc: 'binutils@sources.redhat.com'
Subject: Re: ld goes into infinite loop


On Fri, Nov 23, 2001 at 10:22:07PM -0600, Berk, Murat wrote:
> 
> Anyway, the problem is ld going into infinite loop and I can consistently
> repeat this. I can provide any other information requested.
> 

Please provide a small, complete testcase so that we can reproduce
and fix it.


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]