Skip to content

Commit

Permalink
Ensure frame table is 8-aligned on ARM64 and PPC64
Browse files Browse the repository at this point in the history
Fixes issue ocaml#7887.
  • Loading branch information
xavierleroy committed Mar 29, 2019
1 parent 9474860 commit 9a3a754
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 1 deletion.
3 changes: 3 additions & 0 deletions Changes
Expand Up @@ -9,6 +9,9 @@ Working version
iOS and other Darwin targets.
(Mark Shinwell, review by Nicolas Ojeda Bar and Xavier Leroy)

- #7887: ensure frame table is 8-aligned on ARM64 and PPC64
(Xavier Leroy, report by Mark Hayden)

- #8507: Shorten symbol names of anonymous functions in Flambda mode
(the directory portions are now hidden)
(Mark Shinwell, review by Nicolás Ojeda Bär)
Expand Down
3 changes: 2 additions & 1 deletion asmcomp/arm64/emit.mlp
Expand Up @@ -979,7 +979,8 @@ let end_assembly () =
` .quad 0\n`; (* PR#6329 *)
` .globl {emit_symbol lbl_end}\n`;
`{emit_symbol lbl_end}:\n`;
` .long 0\n`;
` .quad 0\n`;
` .align 3\n`; (* #7887 *)
let lbl = Compilenv.make_symbol (Some "frametable") in
` .globl {emit_symbol lbl}\n`;
`{emit_symbol lbl}:\n`;
Expand Down
1 change: 1 addition & 0 deletions asmcomp/power/emit.mlp
Expand Up @@ -1177,6 +1177,7 @@ let end_assembly() =
` {emit_string datag} 0\n`;
(* Emit the frame descriptors *)
emit_string data_space; (* not rodata_space because it contains relocations *)
if ppc64 then ` .align 3\n`; (* #7887 *)
let lbl = Compilenv.make_symbol (Some "frametable") in
declare_global_data lbl;
`{emit_symbol lbl}:\n`;
Expand Down

0 comments on commit 9a3a754

Please sign in to comment.