Closed Bug 193007 Opened 22 years ago Closed 21 years ago

Missing symbols for options file

Categories

(NSPR :: NSPR, defect, P1)

DEC
OpenVMS
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: colin, Assigned: wtc)

Details

Attachments

(1 file, 1 obsolete file)

It looks like when I revised the linker options file (bug 185034), a few symbols
were missed. And one of them (PR_CreateThread) is used by Java in OJI, so now
Java doesn't work. 

The full list of missing "PR_" symbols is:

  PR_GetLibraryFilePathname
  PR_FPrintZoneStats
  PR_SetError
  PR_CallOnceWithArg
  PR_CreateThread

Wan-Teh, can you tell me if these are all meant to be visible?
Export these:
  PR_GetLibraryFilePathname
  PR_SetError
  PR_CallOnceWithArg
  PR_CreateThread
Attached patch Add missing symbols (obsolete) — Splinter Review
Here's the patch to provide the missing symbols. Once I've heard back from our
Java group that this is the solution they want to go with, I'll ask for a
review.
Wan-Teh, this is turning out to be a real mess. There are several partial
solutions to the situation I am now in, but each of these partial solutions
means that some combination of Mozilla version and Java version won't work
together. The one REAL solution is to insert a bunch of dummy entries in the
transfer vector to pad things out so that PR_CreateThread ends up where it was
in the Mozilla 1.1 release (this is what Java 1.4-0 was linked against). But
each dummy entry would require a stub in NSPR in order to generate a valid
symbol. We already have 3 stubs in pr/src/md/unix/openvms.c to paper over
previous symbol vector hiccups. How would you feel about another 100 or so (not
sure of the exact number just yet)?
Its only 51 additional stubs I need, Wan-Teh. This solution is really the only
way to keeping Mozilla and Java happilly married. Are you in?
Adding these stubs for binary compatibility on OpenVMS
is not a problem.
Attached patch New patchSplinter Review
Add new/missing symbols to symbol vector, and insert enough stubs so that
PR_CreateThread is located in its Mozilla 1.1 position (this makes Java work).
Attachment #114329 - Attachment is obsolete: true
Note that
  PR_SetError
  PR_CreateThread
are pre-existing functions (they have been in NSPR
since day one), and
  PR_GetLibraryFilePathname
  PR_CallOnceWithArg
were new functions added last month.

I think we need to make sure that the two new functions
not occupy the positions used by other functions before
in the symbol vector, right?
We only care about the public symbols. And since Java is the only other app
linking against NSPR and it was only missing PR_CreateThread, that's the only
symbol we need to worry about. 

Any other apps which come along and link against NSPR will use at least Mozilla
1.3's NSPR, and will be binary upward compatible with any release after 1.3.
I'll leave it to you because you know the history
best.

It's cheap to add these stubs, so we should not
try to save two stubs.
Comment on attachment 114445 [details] [diff] [review]
New patch

Java is working with this patch. This is what I'd like checking in.
Attachment #114445 - Flags: review?(wtc)
Comment on attachment 114445 [details] [diff] [review]
New patch

r=wtc.

Do you really need to bump the version from 2,3 to 2,4?
2,3 hasn't been used in any (final) release, right?
Attachment #114445 - Flags: review?(wtc) → review+
It doesn't matter how much the ident bumps. I used 2,3 internally so I prefer to
go to 2,4.
Patch checked into the NSPR TIP (NSPR 4.3) and the
NSPRPUB_PRE_4_2_CLIENT_BRANCH (mozilla 1.4alpha).
Status: NEW → RESOLVED
Closed: 21 years ago
Priority: -- → P1
Resolution: --- → FIXED
Target Milestone: --- → 4.3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: