[Bug 274202] devel/wasmer: Try to fix aarch64 build issues

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 01 Oct 2023 23:06:43 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274202

Robert Clausecker <fuz@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|New                         |Open
                 CC|                            |fuz@FreeBSD.org
              Flags|                            |merge-quarterly?
           Assignee|ports-bugs@FreeBSD.org      |fuz@FreeBSD.org

--- Comment #1 from Robert Clausecker <fuz@FreeBSD.org> ---
Thank you for having a look at this.

riscv64 seems to be supported by the project, it's merely broken on FreeBSD
right now.  Why did you remove the BROKEN_riscv64 line?

Unfortunately your patch does not fix the build.  It now fails with this error
message on arm64 FreeBSD 13.2:

  --> lib/vm/src/trap/traphandlers.rs:63:25         
   |                                                                            
63 |       uc_link: *mut libc::ucontext_t,
   |                           ^^^^^^^^^^ help: a struct with a similar name
exists: `mcontext_t`
   |           
  :::
/wrkdirs/usr/ports/devel/wasmer/work/wasmer-4.2.1/cargo-crates/libc-0.2.148/src/unix/bsd/freebsdlike/freebsd/aarch64.rs:9:1
   |
9  | / s_no_extra_traits! {
10 | |     pub struct gpregs {          
11 | |         pub gp_x: [::register_t; 30],                                    
12 | |         pub gp_lr: ::register_t,
...  |                                                                          
33 | |     }                                       
34 | | }                                                                        
   | |_- similarly named struct `mcontext_t` defined here                       

error[E0425]: cannot find value `pc` in this scope                              
   --> lib/vm/src/trap/traphandlers.rs:451:60
    |
451 |                     context.uc_mcontext.mc_gpregs.gp_elr = pc as
libc::register_t;
    |                                                            ^^ not found
in this scope

error[E0425]: cannot find value `sp` in this scope                              
   --> lib/vm/src/trap/traphandlers.rs:452:59
    |                                                                           
452 |                     context.uc_mcontext.mc_gpregs.gp_sp = sp as
libc::register_t;
    |                                                           ^^ not found in
this scope

error[E0425]: cannot find value `x0` in this scope
   --> lib/vm/src/trap/traphandlers.rs:453:61
    |
453 |                     context.uc_mcontext.mc_gpregs.gp_x[0] = x0 as
libc::register_t;
    |                                                             ^^ not found
in this scope

error[E0425]: cannot find value `x1` in this scope
   --> lib/vm/src/trap/traphandlers.rs:454:61
    |
454 |                     context.uc_mcontext.mc_gpregs.gp_x[1] = x1 as
libc::register_t;
    |                                                             ^^ not found
in this scope

error[E0425]: cannot find value `x29` in this scope
   --> lib/vm/src/trap/traphandlers.rs:455:62
    |
455 |                     context.uc_mcontext.mc_gpregs.gp_x[29] = x29 as
libc::register_t;
    |                                                              ^^^ not
found in this scope

error[E0425]: cannot find value `lr` in this scope
   --> lib/vm/src/trap/traphandlers.rs:456:62
    |
456 |                     context.uc_mcontext.mc_gpregs.gp_x[30] = lr as
libc::register_t;
    |                                                              ^^ not found
in this scope

Please check and resubmit as appropriate.

-- 
You are receiving this mail because:
You are the assignee for the bug.