Message ID | DBBPR83MB06136C2655EA901E12B701A3F8FB2@DBBPR83MB0613.EURPRD83.prod.outlook.com |
---|---|
Headers | show |
Series | Add DLL import/export implementation to AArch64 | expand |
I am resubmitting the patch series without changes to the patchwork due to an issue with the mail client in the previous submission. https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653894.html https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653952.html Regards, Evgeny Evgeny Karpov (6): Move mingw_* declarations to the mingw folder Extract ix86 dllimport implementation to mingw Rename functions for reuse in AArch64 aarch64: Add selectany attribute handling Adjust DLL import/export implementation for AArch64 aarch64: Add DLL import/export to AArch64 target gcc/config.gcc | 20 ++- gcc/config/aarch64/aarch64-protos.h | 5 - gcc/config/aarch64/aarch64.cc | 42 ++++- gcc/config/aarch64/cygming.h | 33 +++- gcc/config/i386/cygming.h | 16 +- gcc/config/i386/i386-expand.cc | 4 +- gcc/config/i386/i386-expand.h | 2 - gcc/config/i386/i386-protos.h | 10 -- gcc/config/i386/i386.cc | 205 ++---------------------- gcc/config/i386/i386.h | 2 + gcc/config/mingw/mingw32.h | 2 +- gcc/config/mingw/t-cygming | 6 + gcc/config/mingw/winnt-dll.cc | 231 ++++++++++++++++++++++++++++ gcc/config/mingw/winnt-dll.h | 30 ++++ gcc/config/mingw/winnt.cc | 10 +- gcc/config/mingw/winnt.h | 38 +++++ 16 files changed, 423 insertions(+), 233 deletions(-) create mode 100644 gcc/config/mingw/winnt-dll.cc create mode 100644 gcc/config/mingw/winnt-dll.h create mode 100644 gcc/config/mingw/winnt.h
The patch series has been successfully verified by patchwork, after resolving the issue with the mailing client. https://patchwork.sourceware.org/project/gcc/list/?series=34865 The x86_64-w64-mingw32 build has been tested, and no regressions have been detected after applying the patch series. https://github.com/Windows-on-ARM-Experiments/mingw-woarm64-build/actions/runs/9417869213 The patch series has been approved by the x64 and mingw maintainers. Richard, could we proceed with merging the patch series? Thanks. Regards, Evgeny
On Fri, Jun 7, 2024 at 2:45 AM Evgeny Karpov <Evgeny.Karpov@microsoft.com> wrote: > > Hello, > > Thank you for reviewing v1! > v2 addresses all comments on v1. > > Changes in v2: > - Move winnt.h and winnt-dll.h to config.gcc. > - Resolve the issue with GCC GC in winnt-dll.cc. > - Add definitions for GOT_ALIAS_SET, PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED, and HAVE_64BIT_POINTERS to cygming.h. > - Replace intermediate functions for PECOFF with ifdef checks in ix86. > - Update the copyright date in winnt-dll.cc. > - Correct the style. > - Rebase from 7th June 2024 I think this caused profilebootstrap failure on x86_64-linux-gnu. I notice the definition of GOT_ALIAS_SET for all non mingw targets is now just -1. That seems very wrong to me. It was originally: ``` alias_set_type x86_GOT_alias_set (void) { static alias_set_type set = -1; if (set == -1) set = new_alias_set (); return set; } ``` And GOT_ALIAS_SET is used in more than COFF areas. Can you please fix this definition? Thanks, Andrew Pinski > > Regards, > Evgeny > > Evgeny Karpov (6): > Move mingw_* declarations to the mingw folder > Extract ix86 dllimport implementation to mingw > Rename functions for reuse in AArch64 > aarch64: Add selectany attribute handling > Adjust DLL import/export implementation for AArch64 > aarch64: Add DLL import/export to AArch64 target > > gcc/config.gcc | 20 ++- > gcc/config/aarch64/aarch64-protos.h | 5 - > gcc/config/aarch64/aarch64.cc | 42 ++++- > gcc/config/aarch64/cygming.h | 33 +++- > gcc/config/i386/cygming.h | 16 +- > gcc/config/i386/i386-expand.cc | 4 +- > gcc/config/i386/i386-expand.h | 2 - > gcc/config/i386/i386-protos.h | 10 -- > gcc/config/i386/i386.cc | 205 ++---------------------- > gcc/config/i386/i386.h | 2 + > gcc/config/mingw/mingw32.h | 2 +- > gcc/config/mingw/t-cygming | 6 + > gcc/config/mingw/winnt-dll.cc | 231 ++++++++++++++++++++++++++++ > gcc/config/mingw/winnt-dll.h | 30 ++++ > gcc/config/mingw/winnt.cc | 10 +- > gcc/config/mingw/winnt.h | 38 +++++ > 16 files changed, 423 insertions(+), 233 deletions(-) > create mode 100644 gcc/config/mingw/winnt-dll.cc > create mode 100644 gcc/config/mingw/winnt-dll.h > create mode 100644 gcc/config/mingw/winnt.h > > -- > 2.25.1 >
Wednesday, June 26, 2024 5:56 PM Andrew Pinski <pinskia@gmail.com> wrote: > > I think this caused profilebootstrap failure on x86_64-linux-gnu. > I notice the definition of GOT_ALIAS_SET for all non mingw targets is > now just -1. That seems very wrong to me. > It was originally: > ``` > alias_set_type > x86_GOT_alias_set (void) > { > static alias_set_type set = -1; > if (set == -1) > set = new_alias_set (); > return set; > } > ``` > And GOT_ALIAS_SET is used in more than COFF areas. Can you please fix > this definition? > > Thanks, > Andrew Pinski > I am working on the fix and will try to validate and submit it today. Regards, Evgeny