firebird icon indicating copy to clipboard operation
firebird copied to clipboard

Add support for loongarch64

Open loongson-zn opened this issue 2 years ago • 8 comments

Add support for loongarch64, please review, thanks!

loongson-zn avatar Dec 06 '21 12:12 loongson-zn

How did you check resulting build? Except running test suite (at least fbtcs, https://github.com/FirebirdSQL/fbtcs) you should check when doing port to new architecture the following:

  1. What about alignment requirements of longarch CPU? I.e. can it access unaligned data (like most of x86/64 commands) or needs exactly aligned data (like most of RISC processors).
  2. How does it work with emulated data types (decfloat and int128)? Check sorting and indexing for them.
  3. Does it send data over the wire in correct form? Last can be checked connecting to longarch server with intel client (or vice versa) and running: select cast(1.5 as double precision), cast(1.5 as decfloat), cast(1.5 as int128) from rdb$database; If something goes wrong that's seen well.

AlexPeshkoff avatar Dec 07 '21 11:12 AlexPeshkoff

How did you check resulting build? Except running test suite (at least fbtcs, https://github.com/FirebirdSQL/fbtcs) you should check when doing port to new architecture the following:

  1. What about alignment requirements of longarch CPU? I.e. can it access unaligned data (like most of x86/64 commands) or needs exactly aligned data (like most of RISC processors).
  2. How does it work with emulated data types (decfloat and int128)? Check sorting and indexing for them.
  3. Does it send data over the wire in correct form? Last can be checked connecting to longarch server with intel client (or vice versa) and running: select cast(1.5 as double precision), cast(1.5 as decfloat), cast(1.5 as int128) from rdb$database; If something goes wrong that's seen well.

Hi @AlexPeshkoff , how to do the professional testing of firebird ? I just test firebird can create, delete, insert and other functions on the LoongArch.

  1. What about alignment requirements of longarch CPU? I.e. can it access unaligned data (like most of x86/64 commands) or needs exactly aligned data (like most of RISC processors).

LoongArch CPU support access unaligned.

  1. How does it work with emulated data types (decfloat and int128)? Check sorting and indexing for them.

It's like most of RISC processors

loongson-zn avatar Dec 18 '21 07:12 loongson-zn

We use https://github.com/FirebirdSQL/firebird-qa for snapshots & releases testing. Results may be seen here http://firebirdtest.com/ Some failures are possible - see results for production ports: http://firebirdtest.com/

AlexPeshkoff avatar Dec 20 '21 09:12 AlexPeshkoff

We use https://github.com/FirebirdSQL/firebird-qa for snapshots & releases testing. Results may be seen here http://firebirdtest.com/ Some failures are possible - see results for production ports: http://firebirdtest.com/

OK,thanks! I will test as soon as possible

loongson-zn avatar Dec 21 '21 08:12 loongson-zn

We use https://github.com/FirebirdSQL/firebird-qa for snapshots & releases testing. Results may be seen here http://firebirdtest.com/ Some failures are possible - see results for production ports: http://firebirdtest.com/

@AlexPeshkoff I don't know how to test, can you help us ? We can provide remote machines.

loongson-zn avatar Aug 02 '22 08:08 loongson-zn

Zhang Na, our tests specialist will contact you soon here.

AlexPeshkoff avatar Aug 02 '22 09:08 AlexPeshkoff

Thanks @AlexPeshkoff !

loongson-zn avatar Aug 02 '22 11:08 loongson-zn

[loongson-zn] I don't know how to test, can you help us ?

@Zhang Na: please send me a test (or empty) message to:

p519446 at yandex.ru

I will try to explain how to work with currently used QA suite.

Best regards, Pavel Zotov.

pavel-zotov avatar Aug 03 '22 04:08 pavel-zotov

Any updates on this? Missing LoongArch support is currently blocking packages in Debian on loong64:

See: https://buildd.debian.org/status/fetch.php?pkg=firebird3.0&arch=loong64&ver=3.0.11.33637.ds4-2&stamp=1693212495&raw=0

glaubitz avatar Aug 30 '23 06:08 glaubitz

The latest submission is the best https://github.com/FirebirdSQL/firebird/pull/7531#issue-1648898702 , I will close the PR, Thanks!

loongson-zn avatar Aug 30 '23 06:08 loongson-zn