Skip to content

powerpc64-unknown-freebsd version in ports has patches to ELF version support and target description #117181

Open
@estebank

Description

@estebank

The packaged version of rust in FreeBSD patches their release with

--- compiler/rustc_target/src/abi/call/powerpc64.rs.orig	2020-03-09 22:11:17 UTC
+++ compiler/rustc_target/src/abi/call/powerpc64.rs
@@ -123,7 +123,7 @@ where
         ELFv2
     } else {
         match cx.data_layout().endian {
-            Endian::Big => ELFv1,
+            Endian::Big => ELFv2,
             Endian::Little => ELFv2,
         }
     };

https://cgit.freebsd.org/ports/tree/lang/rust/files/patch-compiler_rustc__target_src_abi_call_powerpc64.rs

Immediately before that we have the following:

    let abi = if cx.target_spec().env == "musl" {
        ELFv2
    } else {

We can add yet another check for them there so that powerpc64-unknown-freebsd always uses ELFv2. The platform list page shows this one as "PPC64 FreeBSD (ELFv1 and ELFv2)" on Tier 3.

I do not know if doing this change would cause other issues, maybe with lowest FreeBSD version support?

They've been carrying this patch since 2019.


https://github.com/freebsd/freebsd-ports/blob/9c64647054c81b8876c7f4f987189427b5858ad6/lang/rust/files/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs#L1-L14

Since 2020.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-feature-requestCategory: A feature request, i.e: not implemented / a PR.O-PowerPCTarget: PowerPC processorsO-freebsdOperating system: FreeBSDT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions