public inbox for [email protected]
help / color / mirror / Atom feedFrom: Niyas Sait <[email protected]>
To: Michael Paquier <[email protected]>
Cc: Andres Freund <[email protected]>
Cc: Tom Lane <[email protected]>
Cc: Thomas Munro <[email protected]>
Cc: Julien Rouhaud <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: [PATCH] Add native windows on arm64 support
Date: Wed, 20 Apr 2022 10:43:06 +0100
Message-ID: <CAFPTBD9qPsFMN_Y0HwR+2uRtQGfVnQRa-mxUnAu-MhyEnf8JHA@mail.gmail.com> (raw)
In-Reply-To: <Yl9TmT/[email protected]>
References: <20220322103011.i6z2tuj4hle23wgx@jrouhaud>
<CA+hUKGJDYZ3NRTQ8DtTrO6oshaYy2wPszj1jKAUm_zD1zbCm-Q@mail.gmail.com>
<[email protected]>
<CA+hUKGKGZ2crHGDi=zXtjYy9GptUZ99Jtu=w-P_qeaeaP8k7mg@mail.gmail.com>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<CAFPTBD_+n3C_rrt9Y5mytaw0GJX+SAywMCgKfEpRxpLvzeSMrA@mail.gmail.com>
<Yl9TmT/[email protected]>
> Have you tested with the amount of coverage provided by vcregress.pl?
I built and ran the relevant tests with the help of run_build.pl.
I think following tests are executed - check, contribcheck, ecpgcheck,
installcheck, isolationcheck, modulescheck, and upgradecheck.
> Another thing I was wondering about is if it would be possible to have
> this option in Travis, but that does not seem to be the case:
> https://docs.travis-ci.com/user/reference/windows/#windows-version
Yes, I think Travis doesn't yet support Windows/Arm64 platform.
> + if ($solution->{platform} eq 'ARM64') {
> + push(@pgportfiles, 'pg_crc32c_armv8_choose.c');
> + push(@pgportfiles, 'pg_crc32c_armv8.c');
> + } else {
> + push(@pgportfiles, 'pg_crc32c_sse42_choose.c');
> + push(@pgportfiles, 'pg_crc32c_sse42.c');
> + }
>
> +++ b/src/port/pg_crc32c_armv8.c
> +#ifndef _MSC_VER
> #include <arm_acle.h>
> +#endif
> [ ... ]
> +#ifdef _M_ARM64
> + /*
> + * arm64 way of hinting processor for spin loops optimisations
> + * ref:
https://community.arm.com/support-forums/f/infrastructure-solutions-forum/48654/ssetoneon-faq
> + */
> + __isb(_ARM64_BARRIER_SY);
> +#else
> I think that such extra optimizations had better be in a separate
> patch, and we should focus on getting the build done first.
> This would mean that a basic patch could be done with just the changes
> for gendef.pl, and the first part of the changes inMSBuildProject.pm.
> Would that not be enough?
I cannot build without any of the above changes. Nothing specific for
optimization
is added to this patch.
> + # arm64 linker only supports dynamic base address
> + my $cfgrandbaseaddress = $self->{platform} eq 'ARM64' ? 'true' :
'false';
> This issue is still lying around, and you may have been lucky. Would
> there be any issues to remove this change to get a basic support in?
> As mentioned upthread, there is a long history of Postgres with ASLR.
MSVC linker doesn't allow non-random base addresses for Arm64 platforms.
It is needed for basic support.
Niyas
view thread (37+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: [PATCH] Add native windows on arm64 support
In-Reply-To: <CAFPTBD9qPsFMN_Y0HwR+2uRtQGfVnQRa-mxUnAu-MhyEnf8JHA@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox