[3.10] bpo-34990: Treat the pyc header's mtime in compileall as an unsigned int (GH-19708)

(cherry picked from commit bb21e28fd08f894ceff2405544a2f257d42b1354)

Co-authored-by: Ammar Askar <ammar@ammaraskar.com>
Co-authored-by: Stéphane Wirtel <stephane@wirtel.be>
diff --git a/Lib/compileall.py b/Lib/compileall.py
index 454465b..3e00477 100644
--- a/Lib/compileall.py
+++ b/Lib/compileall.py
@@ -221,8 +221,8 @@ def compile_file(fullname, ddir=None, force=False, rx=None, quiet=0,
             if not force:
                 try:
                     mtime = int(os.stat(fullname).st_mtime)
-                    expect = struct.pack('<4sll', importlib.util.MAGIC_NUMBER,
-                                         0, mtime)
+                    expect = struct.pack('<4sLL', importlib.util.MAGIC_NUMBER,
+                                         0, mtime & 0xFFFF_FFFF)
                     for cfile in opt_cfiles.values():
                         with open(cfile, 'rb') as chandle:
                             actual = chandle.read(12)