summaryrefslogtreecommitdiff
path: root/asmcomp/emit_alpha.mlp
diff options
context:
space:
mode:
Diffstat (limited to 'asmcomp/emit_alpha.mlp')
-rw-r--r--asmcomp/emit_alpha.mlp14
1 files changed, 9 insertions, 5 deletions
diff --git a/asmcomp/emit_alpha.mlp b/asmcomp/emit_alpha.mlp
index f6a61714be..cc7689bd98 100644
--- a/asmcomp/emit_alpha.mlp
+++ b/asmcomp/emit_alpha.mlp
@@ -548,9 +548,11 @@ let fundecl fundecl =
(* Emission of data *)
let emit_item = function
- Clabel lbl ->
- ` .globl {emit_symbol lbl}\n`;
- `{emit_symbol lbl}:\n`
+ Cdefine_symbol s ->
+ ` .globl {emit_symbol s}\n`;
+ `{emit_symbol s}:\n`
+ | Cdefine_label lbl ->
+ `{emit_label (10000 + lbl)}:\n`
| Cint8 n ->
` .byte {emit_int n}\n`
| Cint16 n ->
@@ -559,8 +561,10 @@ let emit_item = function
` .quad {emit_int n}\n`
| Cfloat f ->
` .double {emit_string f}\n`
- | Caddress lbl ->
- ` .quad {emit_symbol lbl}\n`
+ | Csymbol_address s ->
+ ` .quad {emit_symbol s}\n`
+ | Clabel_address lbl ->
+ ` .quad {emit_label (10000 + lbl)}\n`
| Cstring s ->
let l = String.length s in
if l = 0 then ()