Hi,

I'm currently trying to create multilib libraries compiled with MPX.
The main difference with existing multilib variants on i386 target is
that new targets (32/mpx, 64/mpx) are compatible with old variants
(32, 64). Also we should not prevent user from using mpx if he does
not have MPX variants for some libraries - legacy versions should be
used instead. Thus we need to check several suffixes instead of one.
E.g. for 64bit MPX binary we should firstly check ../lib64/mpx, then
check ../lib64 and finally the default one.

I looked at MULTILIB_REUSE and thought it might solve my problem
according to documentation: "And for some targets it is better to
reuse an existing multilib than to fall back to default multilib when
there is no corresponding multilib." [1]. So I tried following
declarations:

MULTILIB_OSDIRNAMES+= m64/fmpx=../lib64/mpx
MULTILIB_REUSE = m64=m64/fmpx

But it appeared that only the first entry for some options set counts
when multilibs are parsed in gcc.c and my reuse here is just ignored.

Is it a wrong implementation of MULTILIB_REUSE or my wrong
understanding of this option? Is there a way to implement mpx
multilibs still allowing legacy ones when some mpx libs are missing?

[1] http://gcc.gnu.org/onlinedocs/gccint/Target-Fragment.html#Target-Fragment

Thanks,
Ilya

Reply via email to