Skip to content

Add a Developer Resources section with links to ABI documentation - #3047

Merged
tgross35 merged 1 commit into
rust-lang:mainfrom
tgross35:abi
Oct 14, 2026
Merged

tgross35 merged 1 commit into
rust-lang:mainfrom
tgross35:abi

Conversation

@tgross35

Copy link
Copy Markdown
Member

We need to refer to these rather often, but there hasn't been a common place to locate this information.

@rustbot

rustbot commented Oct 10, 2026

Copy link
Copy Markdown
Collaborator

Thanks for the PR. If you have write access, feel free to merge this PR if it does not need reviews. You can request a review using r? rustc-dev-guide or r? <username>.

@rustbot rustbot added the S-waiting-on-review Status: this PR is waiting for a reviewer to verify its content label Oct 10, 2026
Comment thread src/appendix/developer-resources.md Outdated
Comment on lines +37 to +38
A 2018 version of the document "Qualcomm Hexagon Application Binary Interface" is available at
<https://docs.qualcomm.com/doc/80-N2040-23/80-N2040-23_REV_K_Qualcomm_Hexagon_Application_Binary_Interface_User_Guide.pdf>.

@tgross35 tgross35 Oct 10, 2026 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@androm3da I know Hexagon undergoes active development, is this the most recent spec?

View changes since the review

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there was one published this week - I'll find it.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://docs.qualcomm.com/doc/80-N2040-23/

Since that PDF was published, Qualcomm has shifted towards webpage manuals. So I think this link should be where new ABI spec updates get published in the future.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Added

Comment thread src/appendix/developer-resources.md Outdated
There are a few relevant documents for PowerPC ABI:

* [_System V Application Binary Interface: PowerPC Processor
Supplement_](http://refspecs.linux-foundation.org/elf/elfspec_ppc.pdf) is the original 32-bit

@programmerjake programmerjake Oct 10, 2026 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Supplement_](http://refspecs.linux-foundation.org/elf/elfspec_ppc.pdf) is the original 32-bit
Supplement_](https://refspecs.linuxfoundation.org/elf/elfspec_ppc.pdf) is the original 32-bit

found a non-borked https url

View changes since the review

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's the one I was looking at too, updated it now

Comment thread src/appendix/developer-resources.md Outdated

#### MIPS

TODO link to o32, n32, and n64 if possible.

@beetrees beetrees Oct 10, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked into this a couple of years ago, and the best I found was:

o32: 3rd edition from February 1996: https://refspecs.linuxfoundation.org/elf/mipsabi.pdf
n32: "MIPSpro™ N32 ABI Handbook" from October 2002: https://irix7.com/techpubs/007-2816-005.pdf
n64: "MIPSpro™ 64-Bit Porting and Transition Guide": https://irix7.com/techpubs/007-2391-006.pdf

View changes since the review

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the second doc also defines n64. Added all of these, thanks

Comment thread src/appendix/developer-resources.md Outdated
Supplement_](http://refspecs.linux-foundation.org/elf/elfspec_ppc.pdf) is the original 32-bit
PowerPC ABI specification.
* [_Power Architecture™ 32-bit Application Binary Interface Supplement 1.0 - Linux® &
Embedded_](https://example61560.wordpress.com/wp-content/uploads/2016/11/powerpc_abi.pdf) is the

@beetrees beetrees Oct 10, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated

Comment thread src/appendix/developer-resources.md Outdated

#### SPARC

TODO

@beetrees beetrees Oct 10, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Available here: https://sparc.org/technical-documents/specifications/. "SCD 2.4.1" is the latest, with the 32-bit section just containing the (minor) changes from the previous version, "SPARC psABI 3.0".

View changes since the review

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this one as well

@tshepang tshepang Oct 10, 2026 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe name the page platform-specifics.md, though am thinking maybe this info should live in rustc book, which has platform-specific details

View changes since the review

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I figured this can hold more than only platform specifics (even though that's all this PR adds), since we didn't really have a home for other things like that currently. Also considered the rustc book but I think this may be a bit niche for something user-facing, though I don't know what's best.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Developer Resources feels too general as a title, like for example, some of the other appendices could fit in that title

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fair, since the whole thing is really a developer resource. Renamed to "additional resources" which I think is a bit better, though it still could match other appendix entries.

PowerPC64 targets.
* [_64-bit ELF V2 ABI Specification: Power
Architecture_](https://openpower.foundation/specifications/64bitelfabi/) is the replacement ABI
and used by default on most PowerPC64 targets.

@pmur pmur Oct 12, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the links look OK. It's always a pain to dredge up these documents.

View changes since the review

We need to refer to these rather often, but there hasn't been a common
place to locate this information.
@tgross35

Copy link
Copy Markdown
Member Author

Thanks all for taking a look

@tgross35
tgross35 merged commit bfbca95 into rust-lang:main Oct 14, 2026
4 checks passed
@rustbot rustbot removed the S-waiting-on-review Status: this PR is waiting for a reviewer to verify its content label Oct 14, 2026
@tgross35
tgross35 deleted the abi branch October 14, 2026 12:43
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.

7 participants