Note: There are a few cases of duplicates in user autocompletion which are being worked on.

Build NSPR with GCC 3.x

RESOLVED FIXED in 4.4

Status

NSPR
NSPR
RESOLVED FIXED
15 years ago
14 years ago

People

(Reporter: jhp (no longer active), Assigned: Wan-Teh Chang)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments, 8 obsolete attachments)

(Reporter)

Description

15 years ago
Derived from Meta bug 177789.  This bug deals specifically with patches to make
NSPR build on OS/2 using GCC 3.0.3
(Reporter)

Comment 1

15 years ago
Created attachment 110985 [details] [diff] [review]
preliminary patch

First patch.  Still to do:
1) Write RAMSEM code.
2) Write atomic ops code.
3) Any other TODO or anything that looks odd in the patch.

Comment 2

15 years ago
Don't remember what the RAMSEM code is about, but a trivially tweaked Linux i386
atomic ops code has been working fine here for many moons. I sent Mike the file
way back then.
(Reporter)

Comment 3

15 years ago
Created attachment 111754 [details] [diff] [review]
patch w/ atomic ops asm

Patch contains assembly code for atomic ops.  Also, got pr/tests building. 
Many tests fail.
Attachment #110985 - Attachment is obsolete: true
(Reporter)

Comment 4

15 years ago
Created attachment 116127 [details] [diff] [review]
patch v3

General code cleanup.  Still TODO:
   1) Write RAMSEM code.
   2) Figure out SIGFPE crash (either here or in JS)
Attachment #111754 - Attachment is obsolete: true
(Reporter)

Comment 5

15 years ago
Created attachment 116253 [details] [diff] [review]
patch v3.1

Define BSD_SELECT in the correct place (fixes startup crash).
Attachment #116127 - Attachment is obsolete: true
(Reporter)

Comment 6

15 years ago
Created attachment 117252 [details] [diff] [review]
patch v3.2

More cleanup.
Attachment #116253 - Attachment is obsolete: true
(Reporter)

Updated

15 years ago
Summary: Build NSPR with GCC 3.0.3 → Build NSPR with GCC 3.x
(Reporter)

Comment 7

15 years ago
Created attachment 118053 [details] [diff] [review]
patch v3.3

Thread & tests fixes
Attachment #117252 - Attachment is obsolete: true
(Reporter)

Updated

15 years ago
Attachment #118053 - Flags: review?(wtc)
(Reporter)

Comment 8

15 years ago
Created attachment 118079 [details] [diff] [review]
patch v3.4

Fix Visual Age bustage
(Reporter)

Updated

15 years ago
Attachment #118053 - Attachment is obsolete: true
(Reporter)

Updated

15 years ago
Attachment #118079 - Flags: review?(wtc)
(Reporter)

Updated

15 years ago
Attachment #118053 - Flags: review?(wtc)
(Assignee)

Comment 9

15 years ago
Comment on attachment 118079 [details] [diff] [review]
patch v3.4

Javier,

Is it possible for you to generate a new patch that
does NOT have the DEF_FILE related changes?  The
reason is that we will need to change them again
when we check in the patch in bug 190538.  Also,
DEF_FILE is the same as the existing MAPFILE.
(Assignee)

Comment 10

15 years ago
In other words, is it possible to do a GCC 3.x build
without a DEF_FILE?
(Reporter)

Comment 11

15 years ago
wtc:  Yes, we do need DEF files for the GCC build.  The changes here are just to
clean up the code the generates the DEF file.
PRThread*                                                                      
                               
_MD_CURRENT_THREAD(void)                                                       
                               
{                                                                              
                               
    PRThread *thread;                                                          
                               
                                                                               
                               
    thread = _MD_GET_ATTACHED_THREAD();                                        
                               
                                                                               
                               
    if (NULL == thread) {                                                      
                               
        thread = _PRI_AttachThread(PR_USER_THREAD, PR_PRIORITY_NORMAL, NULL, 0);
                              
    }                                                                          
                               
                                                                               
                               
    PR_ASSERT(thread != NULL);                                                 
                               
    return thread;                                                             
                               
}                                                                              
                               

Is in os2tred.c twice after the patch.  
(Reporter)

Comment 13

15 years ago
Created attachment 118493 [details] [diff] [review]
patch v3.5

Cleaned up rules.mk to use existing MAPFILE macro.
Attachment #118079 - Attachment is obsolete: true
(Reporter)

Updated

15 years ago
Attachment #118079 - Flags: review?(wtc)
(Reporter)

Updated

15 years ago
Attachment #118493 - Flags: review?(wtc)
(Assignee)

Comment 14

15 years ago
Created attachment 118497 [details] [diff] [review]
wtc's patch

Javier, could you test this patch?  Thanks.
(Reporter)

Comment 15

15 years ago
wtc:  Yes, that patch works, except that it is missing the os2emx.s file from
the previous patch.  Put that in also, and this patch works for me.
(Assignee)

Comment 16

15 years ago
Created attachment 118511 [details] [diff] [review]
wtc's patch v2

Sorry, I missed os2emx.s.  This patch includes it.
I also removed your changes to nsprpub/pr/tests/dll/Makefile.in
from this patch.  Can you build in that directory without these
changes?  In any case, these changes are not required for the
Mozilla client.

Turns out your patch v3.5 is essentially the same as my patch.
We were working on and attaching our patches at pretty much the
same time :-)

I've checked in this patch on the NSPRPUB_PRE_4_2_CLIENT_BRANCH
for mozilla 1.4alpha.
Attachment #118497 - Attachment is obsolete: true
(Reporter)

Comment 17

15 years ago
Created attachment 118557 [details] [diff] [review]
nsprpub/pr/tests/dll/Makefile.in changes

Changes necessary for NSPR tests to build.  Also, removed $(TARGETS) define
(now handled by rules.mk) so *.lib would get deleted by 'make clean'.
(Assignee)

Comment 18

15 years ago
Comment on attachment 118557 [details] [diff] [review]
nsprpub/pr/tests/dll/Makefile.in changes

You deleted
    else
    TARGETS		= $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
which is used by WINNT.  This should be restored.

It seems that for OS/2, TARGETS must include $(LIBRARY) because
$(MAPFILE) is generated from $(LIBRARY), right?
Attachment #118557 - Flags: review-
(Assignee)

Comment 19

15 years ago
For the purpose of building Mozilla with GCC 3.x (meta bug 177789),
this bug is fixed.  The necessary changes for building NSPR as part
of Mozilla will appear in mozilla 1.4alpha.

Javier, please use bug 126932 (NSPR tests don't run on OS/2) for
the remaining changes for nsprpub/pr/tests/dll/Makefile.in.
Status: NEW → RESOLVED
Last Resolved: 15 years ago
Resolution: --- → FIXED
Whiteboard: [4.3.1]
Target Milestone: --- → 4.3

Updated

14 years ago
Attachment #118493 - Flags: review?(wchang0222)
(Assignee)

Updated

14 years ago
Whiteboard: [4.3.1]
Target Milestone: 4.3 → 4.4
You need to log in before you can comment on or make changes to this bug.