Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for loongarch64 #7061

Closed
wants to merge 1 commit into from

Conversation

loongson-zn
Copy link

Add support for loongarch64, please review, thanks!

@AlexPeshkoff
Copy link
Member

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.

@loongson-zn
Copy link
Author

loongson-zn commented Dec 18, 2021

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

@AlexPeshkoff
Copy link
Member

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/

@loongson-zn
Copy link
Author

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
Copy link
Author

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.

@AlexPeshkoff
Copy link
Member

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

@loongson-zn
Copy link
Author

Thanks @AlexPeshkoff !

@pavel-zotov
Copy link

[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.

@glaubitz
Copy link
Contributor

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

@loongson-zn
Copy link
Author

The latest submission is the best #7531 (comment) , I will close the PR, Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants