Issue 77975 - add map files for 64bit gcc
Summary: add map files for 64bit gcc
Status: CLOSED FIXED
Alias: None
Product: porting
Classification: Code
Component: code (show other issues)
Version: OOo 2.2.1 RC2
Hardware: PC (x86_64) Linux, all
: P3 Trivial (vote)
Target Milestone: OOo 2.3
Assignee: caolanm
QA Contact: issues@porting
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-31 08:47 UTC by caolanm
Modified: 2007-06-29 11:46 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description caolanm 2007-05-31 08:47:30 UTC
i.e. see discussion in issue 77422 where we are not applying map files to
salhelper/cppuhelper for x86_64
Comment 1 caolanm 2007-06-13 11:51:16 UTC
starting
Comment 2 caolanm 2007-06-13 12:29:13 UTC
done in cmcfixes35
Comment 3 kay.ramme 2007-06-28 08:52:29 UTC
->Caolan, I understand that you changed the map files according to our
discussions in 77422. I have to admit that I only recently understood the
reasons for the differences in the map files.

The differences for Linux x86 and x86-64 are basically:
- exported thunks (which ideally shouldn't be exported)
- different typedefs for sal_Int32 (which basically is a "bug" and should have
been fixed).

As these differences are basically because of errors, I suggest (in contrast to
my original comment, sorry for that ;-) to use exactly one map file for every
ABI and to make this map file variable wrt the above issues. E.g.
- for thunks we may want to replace symbol prefixes "_ZThn<number>..." with
"_ZThn*...",
- for symbols with mangled sal_Int32 we may want to replace the "l" or "i" with "?"

What do you think?

Sorry for bothering you 

  Kay
Comment 4 pavel 2007-06-28 08:58:37 UTC
kr: +1 for one map file...
Comment 5 caolanm 2007-06-28 09:07:03 UTC
*shrug*, sure, no skin off my nose. This issue was just to mirror the 32bit ones
into the 64bit ones. Make the changes you want and I'll just back this mirror 32
to 64 out of my workspace.

I would suggest though, if it makes sense to you, that we unify the platforms
which are already using the "linux" gcc map file and make it a generic "gcc" one
e.g.

.IF "$(COMNAME)"=="msci"
SHL1VERSIONMAP=msvc_win32_intel.map
.ELIF "$(COMNAME)"=="sunpro5"
SHL1VERSIONMAP=cc5_solaris_sparc.map
.ELIF "$(GUI)$(COM)"=="WNTGCC"
SHL1VERSIONMAP=mingw.map
.ELIF "$(COMNAME)" == "gcc3"
SHL1VERSIONMAP=gcc3_whatever.map
.ENDIF

we already point all our gcc platforms (except for windows) to the same .map
file, this way we don't have to go around adding e.g. POWERPC64 or ARM or ALPHA
when (if) those ports come onstream.
Comment 6 kay.ramme 2007-06-29 09:59:10 UTC
->Caolan: You are right, the simplification should certainly be reflected in the
makefiles, e.g. the relevant part of cppuhelpers makefile is going to look like:

.IF "$(COMNAME)"=="msci"
SHL1VERSIONMAP=msvc_win32_intel.map
.ELIF "$(COMNAME)"=="sunpro5"
SHL1VERSIONMAP=cc5_solaris_sparc.map
.ELIF "$(COMNAME)"=="gcc3"
SHL1VERSIONMAP=gcc3.map
.ENDIF

While I rename "gcc3_linux_intel.map" to plain "gcc3.map". If I understand
correctly (and from what I have seen in "mingw.map"), even the mingw port should
use the same map file, so that I am going to remove "mingw.map".
Comment 7 caolanm 2007-06-29 10:10:02 UTC
yeah, the windows gcc shouldn't need separate maps. As long as the existing ones
match the linux one they should go, but I guess if any of them do differ for
some reason best to leave them alone :-)
Comment 8 caolanm 2007-06-29 11:46:01 UTC
ok, so ditching this particular task to make 64bit .map files, and so reverted
from cmcfixes35