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 Linux/s390x platform - patch exists [CORE2559] #2969

Closed
firebird-automations opened this issue Jul 16, 2009 · 14 comments
Closed

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Dan Horak (sharkcz)

Attachments:
firebird-2.1.2-s390x.patch
firebird2-HEAD-s390x-part-1.patch
firebird2-HEAD-s390x-part-2.patch

I have created a patch that adds support for the Linux/390x platform (IBM mainframe zSeries) and I would like to see it in the official sources.

@firebird-automations
Copy link
Collaborator Author

Commented by: Dan Horak (sharkcz)

I will open a thread on firebird-devel mailing list to discuss the support.

@firebird-automations
Copy link
Collaborator Author

Modified by: Dan Horak (sharkcz)

Attachment: firebird-2.1.2-s390x.patch [ 11476 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

assignee: Alexander Peshkov [ alexpeshkoff ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

Thank you, patch is appreciated.

I will commit it right after 2.1.3 release (sorry, afraid that for 2.1.3 it's already too late). Can you also provide patch for HEAD?

One question about a patch. I'm not familiar with s390 architecture. How strong alignment requirements does it have? I.e. will it work (like x86) or fail (like sparc) if int is placed on odd address? If yes, we must also define RISC_ALIGNMENT for it.

@firebird-automations
Copy link
Collaborator Author

Commented by: Dan Horak (sharkcz)

The s390x arch is 64-bit CISC and has byte-addressable memory, so there is no need for RISC_ALIGNMENT.

Rebased patch fill follow soon.

@firebird-automations
Copy link
Collaborator Author

Commented by: Dan Horak (sharkcz)

firebird2-HEAD-s390x-part-1.patch = the "magic constants" and buildsys part against HEAD

@firebird-automations
Copy link
Collaborator Author

Modified by: Dan Horak (sharkcz)

Attachment: firebird2-HEAD-s390x-part-1.patch [ 11477 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Dan Horak (sharkcz)

firebird2-HEAD-s390x-part-2.patch = implementation of atomic primitives in src/common/classes/fb_atomic.h using libatomic_ops

@firebird-automations
Copy link
Collaborator Author

Modified by: Dan Horak (sharkcz)

Attachment: firebird2-HEAD-s390x-part-2.patch [ 11480 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

I've tried libatomic_ops(). And telling true much surprised that is works for s390. It happened to be useless for sparc - only extra-old CPUs support, therefore poor-man implementation of many functions.

What version of library did you use?

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

Port appears to be complete in HEAD currently

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 2.5 RC1 [ 10362 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: Cannot be tested

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

No branches or pull requests

2 participants