-
Bug
-
Resolution: Fixed
-
P3
-
6
The j2se workspace file make/common/Mapfile-vers.gmk is responsible for
setting up the 'ld' mapfile or version-script options so that native libraries
only export specific externs. If a native library specifies a mapfile,
it is used on Solaris opt and debug builds, but on Linux only the X86 opt
build uses mapfiles. The Linux 64bit and debug builds do not use mapfiles.
There may have been a valid reason for this early on, but it seems like a
flaw to me. Exposing unnecessary externs in our libraries can cause
problems as the runtime linker goes to resolve missing externs.
It's unlikely we have a problem now, but an accidental new function in
one of these libraries could cause problems.
All shared libraries should use mapfiles and only expose the externs
that are spec'd, or needed.
###@###.### 2004-11-11 22:03:51 GMT
###@###.### 2004-12-15 16:40:19 GMT
setting up the 'ld' mapfile or version-script options so that native libraries
only export specific externs. If a native library specifies a mapfile,
it is used on Solaris opt and debug builds, but on Linux only the X86 opt
build uses mapfiles. The Linux 64bit and debug builds do not use mapfiles.
There may have been a valid reason for this early on, but it seems like a
flaw to me. Exposing unnecessary externs in our libraries can cause
problems as the runtime linker goes to resolve missing externs.
It's unlikely we have a problem now, but an accidental new function in
one of these libraries could cause problems.
All shared libraries should use mapfiles and only expose the externs
that are spec'd, or needed.
###@###.### 2004-11-11 22:03:51 GMT
###@###.### 2004-12-15 16:40:19 GMT