June 11, 2007

New build system for Mozilla environment

Although current mozilla build system uses Cygwin and many tools, Mozilla team seems to replace it with MSYS base system.

http://benjamin.smedbergs.us/blog/2007-03-02/mozilla-build-system-now-requiring-python-and-new-windows-build-package/

As long as I install it, in other word,

Old Mozilla Build System = Cygwin + NSIS + 7ZIP + UPX

New Mozilla Build System = MSYS + NSIS + 7ZIP + UPX + Python

Cygwin replaces with MSYS and add Python script. So I must port NSIS and SCON that is needed to build NSIS.

December 22, 2006

Porting from ABI x86-64 assembler to Win64 x86-64 assembler

In this week, I tried writing MPI assembler code for Windows x64. Because when Michel sent code-review of MPI porting for Windows x64 that is written by C, code-reviwer rejected by "try using assember code". Most(all?) Mozilla.org people didn't know that assember of ABI x86-64 and Win64 x86 is different, and porting is complicated. But, since I finished writing code (but I don't checked in :-)), I wrote this article.

GAS (GNU Assembler) vs MASM (Microsoft Macro Assembler)

You know, GNU AS uses AT&T format and MASM uses Intel format.

AT&T format

movq %rdx, %rcx

Intel format

mov rcx, rdx

About this different, it is easy using script like perl or making converter. By modifing id software's converter, I resolve this.

Call parameter

At first, you have to understand call parameter registers.

ABI x86-64

normalfloat/double
1strdixmm0
2ndrsixmm1
3rdrdxxmm2
4thrcxxmm3
5thr8xmm4
6thr9xmm5

Windows x86-64

normalfloat/double
1strcxxmm0
2ndrdxxmm1
3rdr8xmm2
4thr9xmm3

So, you have to consider parameter registers.

February 09, 2006

Synergy for Windows XP x64

Synergy is a application to share keyboard and mouse. Since this application supports multi-platform, binaries for Windows, Mac OS X, Linux is available . Since I built new machine of AMD64, although I want to use this on Windows XP x64, this application doesn't work well. Mouse cursor is moved, but it doesn't detected mouse click and keyboard operation... At result of researching, some hook functions doesn't seem to work well. Although this application uses Windows Hook function, this application is Win32, not Win64, so it doesn't work correctly.

So I built this for Windows XP x64 (I need modify several parts of source code). If you want this, please try synergy-win64-20060208.zip. Also, patch is here.

May 08, 2004

Filed WinXP 64bit port for mozilla/directory/c-sdk

Bug #242926: WinXP 64Bit Edition (AMD64/IA64) support for mozilla/directory/c-sdk

It is a simply patch which is build config only.

May 07, 2004

pthread for WinXP 64bit AMD64

I sent a patch to pthread ML. This patch is checked in current CVS.

"pthread" library is needed for Mozilla's build tools.

February 26, 2004

battle vs timeless?

Although I posted latest XPTCALL code for WinXP AMD64, timeless pointed my commnet and etc because my English skill is poor.....

January 31, 2004

re-post NSPRPUB patch

I re-write a patch for NSPRPUB. I tested to build on Linux and Win32. It works.
But changes are too much...

January 10, 2004

I found major bug!!

I sometimes meet crash in several address. But I cannot imazine why this occurs,...

But Today, I found problem point. I mistook assember code of XPTCALL call. Wow!!! I must read AMD64 spec again.

January 05, 2004

build firebird

I posted this to http://oldskool.jp/mozilla64/download.html.

December 29, 2003

MFCEmbed

There isn't some header and library files in Windows SDK for AMD64. So I could not build MFCEmbed.

But I found new idea which is to use VC++6 header. So when I added VC6++ headers to INCLUDE path, I could build it and MFCEmbed works fine!.

At all, why isn't Microsoft included some headers in SDK for AMD64??? I want to answer it:-).

November 30, 2003

SSL (NSS) works!

It is complated to port NSS to AMD64 builds!. At first, I try to write assembler code for some SSL library, but I choice easy way to use C only code. Of cource, performance may be poor.

In feature, I will write assember code for SSL libraries.

November 19, 2003

Viewer.exe works!!!

Today, Viewer.exe which is a sample of Gekko embedded works!!. Although there is sereral problem, it works!!!

November 18, 2003

LLP64 model

About this bug 226094, I discuss with Brendan.

From Brendan
This is all wrong. First, jsuword and JSUptrdiff must be the same size for
things to work correctly. Don't go hacking in code to change type names at
each point of use -- change the type definition if it's wrong!

Ohh! I see!! I re-write a patch!. But CL.EXE for AMD64 is LLP64. model only..

November 15, 2003

file first bug for AMD64

This is here.
225859 port NSPR to Windows XP / Server 2003 64bit for AMD64

But I don't test to build on other platform. So I must re-write a patch.

November 14, 2003

Build Mozilla buildtools

To build Mozilla, buildtools is needs. At first, Although I don't need to port it because x86 code works, it needs for XPTLIB.

But porting is very easy... It is complated for 3 hours.

November 11, 2003

finding AMD64 issue from Bugzilla

Before I start to port Mozilla to WinXP AMD64, I was looking for AMD64 bug into Bugzilla. There is only 1.

163013 Add support for AMD64 (x86-64)

This seems to be for Linux AMD64 from mandrake linux....