File 0072-Fix-alignment-of-byte-sized-constants.patch of Package erlang
From e688b5dd0ef3437e6e99419ea9af1895b9747216 Mon Sep 17 00:00:00 2001
From: Kostis Sagonas <kostis@it.uu.se>
Date: Tue, 21 Mar 2017 20:03:58 +0100
Subject: [PATCH 1/3] Fix alignment of byte-sized constants
---
lib/hipe/misc/hipe_consttab.erl | 2 +-
lib/hipe/misc/hipe_pack_constants.erl | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/hipe/misc/hipe_consttab.erl b/lib/hipe/misc/hipe_consttab.erl
index 226b20fa4..adffed720 100644
--- a/lib/hipe/misc/hipe_consttab.erl
+++ b/lib/hipe/misc/hipe_consttab.erl
@@ -193,7 +193,7 @@ insert_block({ConstTab, RefToLabels, NextLabel}, ElementType, InitList) ->
ReferredLabels = get_labels(InitList, []),
NewRefTo = ReferredLabels ++ RefToLabels,
{NewTa, Id} = insert_const({ConstTab, NewRefTo, NextLabel},
- block, word_size(), false,
+ block, size_of(ElementType), false,
{ElementType,InitList}),
{insert_backrefs(NewTa, Id, ReferredLabels), Id}.
diff --git a/lib/hipe/misc/hipe_pack_constants.erl b/lib/hipe/misc/hipe_pack_constants.erl
index b54830dd5..43aae6eb6 100644
--- a/lib/hipe/misc/hipe_pack_constants.erl
+++ b/lib/hipe/misc/hipe_pack_constants.erl
@@ -64,8 +64,8 @@
-spec pack_constants([{mfa(),[_],hipe_consttab()}], ct_alignment()) ->
{ct_alignment(), non_neg_integer(), packed_const_map(), mfa_refs_map()}.
-pack_constants(Data, Align) ->
- pack_constants(Data, 0, Align, 0, [], []).
+pack_constants(Data, _Align) ->
+ pack_constants(Data, 0, 1, 0, [], []).
pack_constants([{MFA,_,ConstTab}|Rest], Size, Align, ConstNo, Acc, Refs) ->
Labels = hipe_consttab:labels(ConstTab),
--
2.12.2