compiler-explorer / compiler-explorer/gcc-cross-builder

The default ABIs among mips64{,el} GCC are inconsistent

Open
#67 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
10
Forks
16
PR merge metrics
No merged PRs in 30d

Description

```console
$ cd build/latest
$ grep CT_ARCH_mips_ABI mips64*
mips64-11.2.0.config:CT_ARCH_mips_ABI="64"
mips64-12.1.0.config:CT_ARCH_mips_ABI="64"
mips64-12.2.0.config:CT_ARCH_mips_ABI="64"
mips64-12.3.0.config:CT_ARCH_mips_ABI="64"
mips64-13.1.0.config:CT_ARCH_mips_ABI="64"
mips64-13.2.0.config:CT_ARCH_mips_ABI="64"
mips64-4.9.4.config:CT_ARCH_mips_ABI="n32"
mips64-5.5.0.config:CT_ARCH_mips_ABI="n32"
mips64-9.5.0.config:CT_ARCH_mips_ABI="n32"
mips64el-12.1.0.config:CT_ARCH_mips_ABI="32"
mips64el-12.2.0.config:CT_ARCH_mips_ABI="32"
mips64el-12.3.0.config:CT_ARCH_mips_ABI="32"
mips64el-13.1.0.config:CT_ARCH_mips_ABI="32"
mips64el-13.2.0.config:CT_ARCH_mips_ABI="32"
mips64el-4.9.4.config:CT_ARCH_mips_ABI="n32"
mips64el-5.5.0.config:CT_ARCH_mips_ABI="n32"
mips64el-9.5.0.config:CT_ARCH_mips_ABI="n32"
```

Is this intended? In theory, all 64-bit MIPS targets should default to the N64 ABI, which should set `CT_ARCH_mips_ABI="64"`.

If not, I am willing to open a PR and fix it.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the generated configuration files under build/latest and compare the CT_ARCH_mips_ABI values for the mips64 and mips64el targets across GCC versions. Check the target configuration that supplies these defaults and verify the intended ABI for 64-bit MIPS. Done means the generated defaults are consistent with that decision and the affected configurations are validated.

Written by the indexing model from the issue text.

Assessment

Domain
compilers
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.