Skip to content

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
@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