Skip to content

Commit 2fa73af

Browse files
committed
ER symbols also need to set AMODE
1 parent c19957c commit 2fa73af

File tree

5 files changed

+6
-4
lines changed

5 files changed

+6
-4
lines changed

llvm/include/llvm/MC/MCGOFFAttributes.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ struct ERAttr {
8585
GOFF::ESDExecutable Executable = GOFF::ESD_EXE_Unspecified;
8686
GOFF::ESDBindingStrength BindingStrength = GOFF::ESD_BST_Strong;
8787
GOFF::ESDLinkageType Linkage = GOFF::ESD_LT_XPLink;
88+
GOFF::ESDAmode Amode;
8889
GOFF::ESDBindingScope BindingScope = GOFF::ESD_BSC_Unspecified;
8990
};
9091

llvm/lib/MC/GOFFObjectWriter.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,7 @@ class GOFFSymbol {
275275
BehavAttrs.setExecutable(Attr.Executable);
276276
BehavAttrs.setBindingStrength(Attr.BindingStrength);
277277
BehavAttrs.setLinkageType(Attr.Linkage);
278+
BehavAttrs.setAmode(Attr.Amode);
278279
BehavAttrs.setBindingScope(Attr.BindingScope);
279280
}
280281
};

llvm/lib/MC/MCSymbolGOFF.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,6 @@ void MCSymbolGOFF::initAttributes() {
4242
llvm_unreachable("Unexpected section type for label");
4343
} else {
4444
setERAttributes(GOFF::ERAttr{CodeData, BindingStrength, GOFF::ESD_LT_XPLink,
45-
BindingScope});
45+
GOFF::ESD_AMODE_64, BindingScope});
4646
}
4747
}

llvm/test/CodeGen/SystemZ/zos-section-1.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ entry:
109109
; CHECK-NEXT: 000320 03 00 00 04 [[CELQSTRT:00 00 00 09]] [[ROOTSD]] 00 00 00 00
110110
; CHECK-NEXT: 000330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
111111
; CHECK-NEXT: 000340 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
112-
; CHECK-NEXT: 000350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02
112+
; CHECK-NEXT: 000350 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 02
113113
; CHECK-NEXT: 000360 00 04 20 00 00 00 00 08 c3 c5 d3 d8 e2 e3 d9 e3
114114

115115
; ESD record, type LD.
@@ -125,7 +125,7 @@ entry:
125125
; CHECK-NEXT: 0003c0 03 00 00 04 [[OTHER:00 00 00 0b]] [[ROOTSD]] 00 00 00 00
126126
; CHECK-NEXT: 0003d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
127127
; CHECK-NEXT: 0003e0 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
128-
; CHECK-NEXT: 0003f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02
128+
; CHECK-NEXT: 0003f0 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 02
129129
; CHECK-NEXT: 000400 00 04 20 00 00 00 00 05 96 a3 88 85 99 00 00 00
130130

131131
; Text record for the code section C_CODE64.

llvm/test/CodeGen/SystemZ/zos-section-2.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ source_filename = "test.ll"
152152
; CHECK-NEXT: 000500 03 00 00 04 [[CELQSTRT:00 00 00 0f]] [[ROOTSD]] 00 00 00 00
153153
; CHECK-NEXT: 000510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
154154
; CHECK-NEXT: 000520 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
155-
; CHECK-NEXT: 000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02
155+
; CHECK-NEXT: 000530 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 02
156156
; CHECK-NEXT: 000540 00 04 20 00 00 00 00 08 c3 c5 d3 d8 e2 e3 d9 e3
157157

158158
; Text record for the code section C_CODE64.

0 commit comments

Comments
 (0)