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

mingw: drop bogus (and unneeded) declaration of _pgmptr #5017

Merged
merged 1 commit into from
Jun 21, 2024

Conversation

dscho
Copy link
Member

@dscho dscho commented Jun 20, 2024

Companion to gitgitgadget#1752.

This (hopefully) addresses #5016.

In 08809c0 (mingw: add a helper function to attach GDB to the
current process, 2020-02-13), I added a declaration that was not needed.
Back then, that did not matter, but now that the declaration of that
symbol was changed in mingw-w64's headers, it causes the following
compile error:

      CC compat/mingw.o
  compat/mingw.c: In function 'open_in_gdb':
  compat/mingw.c:35:9: error: function declaration isn't a prototype [-Werror=strict-prototypes]
     35 |         extern char *_pgmptr;
        |         ^~~~~~
  In file included from C:/git-sdk-64/usr/src/git/build-installers/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/mm_malloc.h:27,
                   from C:/git-sdk-64/usr/src/git/build-installers/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/xmmintrin.h:34,
                   from C:/git-sdk-64/usr/src/git/build-installers/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/immintrin.h:31,
                   from C:/git-sdk-64/usr/src/git/build-installers/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/x86intrin.h:32,
                   from C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/winnt.h:1658,
                   from C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/minwindef.h:163,
                   from C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/windef.h:9,
                   from C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/windows.h:69,
                   from C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/winsock2.h:23,
                   from compat/../git-compat-util.h:215,
                   from compat/mingw.c:1:
  compat/mingw.c:35:22: error: '__p__pgmptr' redeclared without dllimport attribute: previous dllimport ignored [-Werror=attributes]
     35 |         extern char *_pgmptr;
        |                      ^~~~~~~

Let's just drop the declaration and get rid of this compile error.

Signed-off-by: Johannes Schindelin <[email protected]>
@dscho dscho self-assigned this Jun 20, 2024
@dscho dscho merged commit 80ed467 into git-for-windows:main Jun 21, 2024
44 checks passed
@dscho dscho added this to the Next release milestone Jun 21, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 21, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 21, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 21, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 21, 2024
@dscho dscho linked an issue Jun 21, 2024 that may be closed by this pull request
1 task
git-for-windows-ci pushed a commit that referenced this pull request Jun 22, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 22, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 23, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 25, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 25, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 25, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 25, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 26, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 26, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 26, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 26, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 27, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 27, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 27, 2024
@dscho dscho deleted the drop-bogus-_pgmptr-declaration branch June 28, 2024 07:33
git-for-windows-ci pushed a commit that referenced this pull request Jun 29, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jun 29, 2024
dscho added a commit to microsoft/git that referenced this pull request Jul 1, 2024
In 08809c0 (mingw: add a helper function to attach GDB to the
current process, 2020-02-13), I added a declaration that was not needed.
Back then, that did not matter, but now that the declaration of that
symbol was changed in mingw-w64's headers, it causes the following
compile error:

      CC compat/mingw.o
  compat/mingw.c: In function 'open_in_gdb':
compat/mingw.c:35:9: error: function declaration isn't a prototype
[-Werror=strict-prototypes]
     35 |         extern char *_pgmptr;
        |         ^~~~~~
In file included from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/mm_malloc.h:27,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/xmmintrin.h:34,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/immintrin.h:31,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/x86intrin.h:32,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/winnt.h:1658,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/minwindef.h:163,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/windef.h:9,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/windows.h:69,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/winsock2.h:23,
                   from compat/../git-compat-util.h:215,
                   from compat/mingw.c:1:
compat/mingw.c:35:22: error: '__p__pgmptr' redeclared without dllimport
attribute: previous dllimport ignored [-Werror=attributes]
     35 |         extern char *_pgmptr;
        |                      ^~~~~~~

Let's just drop the declaration and get rid of this compile error.

This PR integrates the fix early that had been contributed in
gitgitgadget#1752 and was already integrated
early into Git for Windows via
git-for-windows#5017.
git-for-windows-ci pushed a commit that referenced this pull request Jul 2, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jul 2, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jul 2, 2024
dscho added a commit that referenced this pull request Jul 2, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jul 4, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jul 4, 2024
git-for-windows-ci pushed a commit that referenced this pull request Jul 10, 2024
dscho added a commit to microsoft/git that referenced this pull request Jul 17, 2024
In 08809c0 (mingw: add a helper function to attach GDB to the
current process, 2020-02-13), I added a declaration that was not needed.
Back then, that did not matter, but now that the declaration of that
symbol was changed in mingw-w64's headers, it causes the following
compile error:

      CC compat/mingw.o
  compat/mingw.c: In function 'open_in_gdb':
compat/mingw.c:35:9: error: function declaration isn't a prototype
[-Werror=strict-prototypes]
     35 |         extern char *_pgmptr;
        |         ^~~~~~
In file included from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/mm_malloc.h:27,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/xmmintrin.h:34,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/immintrin.h:31,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/x86intrin.h:32,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/winnt.h:1658,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/minwindef.h:163,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/windef.h:9,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/windows.h:69,
from
C:/git-sdk-64/usr/src/git/build-installers/mingw64/include/winsock2.h:23,
                   from compat/../git-compat-util.h:215,
                   from compat/mingw.c:1:
compat/mingw.c:35:22: error: '__p__pgmptr' redeclared without dllimport
attribute: previous dllimport ignored [-Werror=attributes]
     35 |         extern char *_pgmptr;
        |                      ^~~~~~~

Let's just drop the declaration and get rid of this compile error.

This PR integrates the fix early that had been contributed in
gitgitgadget#1752 and was already integrated
early into Git for Windows via
git-for-windows#5017.
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.

Weird intermittent compilation error related to _pgmptr
1 participant