Skip to content

mingw32_386-msvcrt_win95-16 gdb.exe includes Pentium instructions #16

Description

@Jookia

After building the correct branch and profile I get a 'mingw32_386-msvcrt_win95-16.1.0-r0.1.tar.zst' file. Extracting this I get a gdb.exe file. Copying it to a target with an i386 or i486 CPU it fails. objdump shows gdb.exe contains i586 instructions:

  f33453:       0f a2                   cpuid
  f33455:       81 e3 00 00 04 00       and    $0x40000,%ebx
  f3345b:       75 79                   jne    0xf334d6
  f3345d:       e9 ce 00 00 00          jmp    0xf33530
  f33462:       8d b6 00 00 00 00       lea    0x0(%esi),%esi
  f33468:       8b 02                   mov    (%edx),%eax
  f3346a:       81 38 64 65 66 61       cmpl   $0x61666564,(%eax)
  f33470:       0f 84 8a 00 00 00       je     0xf33500
  f33476:       89 1c 24                mov    %ebx,(%esp)
  f33479:       e9 16 36 07 00          jmp    0xfa6a94
  f3347e:       66 90                   xchg   %ax,%ax

Also present are cmov which is 686 instructions, meaning it probably wouldn't work on 586 either.
I will do some investigating to try and figure out why this is happening.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions