ld goes into infinite loop
Berk, Murat
Murat_Berk@bmc.com
Mon Nov 12 19:24:00 GMT 2001
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.
More information about the Binutils
mailing list