pre-commit: check for whitespace errors in on all files under gdb

I got a review comment [1] because I forgot to run

    git diff --staged --check

to check commits before submitting. This commit adds a pre-commit hook
to do this automatically.

Approved-By: Simon Marchi <simon.marchi@efficios.com>

[1]: https://inbox.sourceware.org/gdb-patches/c231d267-f541-4774-8005-6d433a9d6e96@simark.ca/
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 71c898f..d26e55d 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -97,6 +97,14 @@
       exclude: '.*/testsuite/.*'
       verbose: true
       stages: [pre-commit]
+    - id: check-whitespace
+      name: check-whitespace
+      language: script
+      entry: gdb/contrib/check-whitespace-pre-commit.sh
+      files: '^(gdb(support|server)?)/.*$'
+      pass_filenames: true
+      verbose: true
+      stages: [pre-commit]
   - repo: https://github.com/nmoroze/tclint
     rev: v0.6.1
     hooks:
diff --git a/gdb/contrib/check-whitespace-pre-commit.sh b/gdb/contrib/check-whitespace-pre-commit.sh
new file mode 100755
index 0000000..db45dc2
--- /dev/null
+++ b/gdb/contrib/check-whitespace-pre-commit.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+# Copyright (C) 2025 Free Software Foundation, Inc.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+set -e
+
+git --no-pager diff --staged --check "$@"