1da0c48c4Sopenharmony_ci#! /bin/sh
2da0c48c4Sopenharmony_ci# Copyright (C) 2019 Red Hat, Inc.
3da0c48c4Sopenharmony_ci# This file is part of elfutils.
4da0c48c4Sopenharmony_ci#
5da0c48c4Sopenharmony_ci# This file is free software; you can redistribute it and/or modify
6da0c48c4Sopenharmony_ci# it under the terms of the GNU General Public License as published by
7da0c48c4Sopenharmony_ci# the Free Software Foundation; either version 3 of the License, or
8da0c48c4Sopenharmony_ci# (at your option) any later version.
9da0c48c4Sopenharmony_ci#
10da0c48c4Sopenharmony_ci# elfutils is distributed in the hope that it will be useful, but
11da0c48c4Sopenharmony_ci# WITHOUT ANY WARRANTY; without even the implied warranty of
12da0c48c4Sopenharmony_ci# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13da0c48c4Sopenharmony_ci# GNU General Public License for more details.
14da0c48c4Sopenharmony_ci#
15da0c48c4Sopenharmony_ci# You should have received a copy of the GNU General Public License
16da0c48c4Sopenharmony_ci# along with this program.  If not, see <http://www.gnu.org/licenses/>.
17da0c48c4Sopenharmony_ci
18da0c48c4Sopenharmony_ci. $srcdir/test-subr.sh
19da0c48c4Sopenharmony_ci
20da0c48c4Sopenharmony_ci# = rng.ads =
21da0c48c4Sopenharmony_ci# package Rng is
22da0c48c4Sopenharmony_ci# 
23da0c48c4Sopenharmony_ci#    type Rec (I : Integer) is record
24da0c48c4Sopenharmony_ci#       case I is
25da0c48c4Sopenharmony_ci#  when Positive =>
26da0c48c4Sopenharmony_ci#     case I is
27da0c48c4Sopenharmony_ci#        when 1..15 | 17 | 23 =>
28da0c48c4Sopenharmony_ci#   null;
29da0c48c4Sopenharmony_ci#        when others =>
30da0c48c4Sopenharmony_ci#   J : Integer;
31da0c48c4Sopenharmony_ci#     end case;
32da0c48c4Sopenharmony_ci#  when -52..-1 =>
33da0c48c4Sopenharmony_ci#     Q: Integer;
34da0c48c4Sopenharmony_ci#  when -64 =>
35da0c48c4Sopenharmony_ci#     R: Boolean;
36da0c48c4Sopenharmony_ci#  when others =>
37da0c48c4Sopenharmony_ci#     null;
38da0c48c4Sopenharmony_ci#       end case;
39da0c48c4Sopenharmony_ci#    end record;
40da0c48c4Sopenharmony_ci# 
41da0c48c4Sopenharmony_ci#    R : Rec (1);
42da0c48c4Sopenharmony_ci# 
43da0c48c4Sopenharmony_ci# end Rng;
44da0c48c4Sopenharmony_ci
45da0c48c4Sopenharmony_ci# = urng.ads =
46da0c48c4Sopenharmony_ci#
47da0c48c4Sopenharmony_ci# package Urng is
48da0c48c4Sopenharmony_ci# 
49da0c48c4Sopenharmony_ci#    type Unsigned is mod 65536;
50da0c48c4Sopenharmony_ci#    type Rec (U : Unsigned) is record
51da0c48c4Sopenharmony_ci#       case U is
52da0c48c4Sopenharmony_ci#  when 17 | 23 | 32768..65535 =>
53da0c48c4Sopenharmony_ci#     null;
54da0c48c4Sopenharmony_ci#  when 256 => 
55da0c48c4Sopenharmony_ci#     B: Boolean;
56da0c48c4Sopenharmony_ci#  when others =>
57da0c48c4Sopenharmony_ci#     I : Integer;
58da0c48c4Sopenharmony_ci#       end case;
59da0c48c4Sopenharmony_ci#    end record;
60da0c48c4Sopenharmony_ci# 
61da0c48c4Sopenharmony_ci#    R : Rec (1);
62da0c48c4Sopenharmony_ci# 
63da0c48c4Sopenharmony_ci# end Urng;
64da0c48c4Sopenharmony_ci
65da0c48c4Sopenharmony_ci# gcc -c -g -fgnat-encodings=minimal -gstrict-dwarf rng.ads
66da0c48c4Sopenharmony_ci# eu-strip -g -f rng.debug rng.o 
67da0c48c4Sopenharmony_ci# gcc -c -g -fgnat-encodings=minimal -gstrict-dwarf urng.ads
68da0c48c4Sopenharmony_ci# eu-strip -g -f urng.debug urng.o 
69da0c48c4Sopenharmony_ci
70da0c48c4Sopenharmony_citestfiles testfile-rng.debug testfile-urng.debug
71da0c48c4Sopenharmony_ci
72da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=info testfile-rng.debug testfile-urng.debug <<EOF
73da0c48c4Sopenharmony_ci
74da0c48c4Sopenharmony_citestfile-rng.debug:
75da0c48c4Sopenharmony_ci
76da0c48c4Sopenharmony_ci
77da0c48c4Sopenharmony_ciDWARF section [ 5] '.debug_info' at offset 0x40:
78da0c48c4Sopenharmony_ci [Offset]
79da0c48c4Sopenharmony_ci Compilation unit at offset 0:
80da0c48c4Sopenharmony_ci Version: 4, Abbreviation section offset: 0, Address size: 8, Offset size: 4
81da0c48c4Sopenharmony_ci [     b]  compile_unit         abbrev: 1
82da0c48c4Sopenharmony_ci           producer             (strp) "GNU Ada 9.1.1 20190503 (Red Hat 9.1.1-1) -g -fgnat-encodings=minimal -gstrict-dwarf -mtune=generic -march=x86-64"
83da0c48c4Sopenharmony_ci           language             (data1) Ada95 (13)
84da0c48c4Sopenharmony_ci           name                 (strp) "rng.ads"
85da0c48c4Sopenharmony_ci           comp_dir             (strp) "/home/mark"
86da0c48c4Sopenharmony_ci           low_pc               (addr) 000000000000000000
87da0c48c4Sopenharmony_ci           high_pc              (data8) 2016 (0x00000000000007e0)
88da0c48c4Sopenharmony_ci           stmt_list            (sec_offset) 0
89da0c48c4Sopenharmony_ci [    2d]    structure_type       abbrev: 2
90da0c48c4Sopenharmony_ci             name                 (strp) "rng__rec"
91da0c48c4Sopenharmony_ci             byte_size            (exprloc) 
92da0c48c4Sopenharmony_ci              [ 0] push_object_address
93da0c48c4Sopenharmony_ci              [ 1] deref_size 4
94da0c48c4Sopenharmony_ci              [ 3] call4 [    c6]
95da0c48c4Sopenharmony_ci              [ 8] plus_uconst 7
96da0c48c4Sopenharmony_ci              [10] const1s -4
97da0c48c4Sopenharmony_ci              [12] and
98da0c48c4Sopenharmony_ci             decl_file            (data1) rng.ads (1)
99da0c48c4Sopenharmony_ci             decl_line            (data1) 3
100da0c48c4Sopenharmony_ci             decl_column          (data1) 9
101da0c48c4Sopenharmony_ci             sibling              (ref4) [    ab]
102da0c48c4Sopenharmony_ci [    47]      member               abbrev: 3
103da0c48c4Sopenharmony_ci               name                 (string) "i"
104da0c48c4Sopenharmony_ci               decl_file            (data1) rng.ads (1)
105da0c48c4Sopenharmony_ci               decl_line            (data1) 3
106da0c48c4Sopenharmony_ci               decl_column          (data1) 14
107da0c48c4Sopenharmony_ci               type                 (ref4) [    fe]
108da0c48c4Sopenharmony_ci               data_member_location (data1) 0
109da0c48c4Sopenharmony_ci [    52]      variant_part         abbrev: 4
110da0c48c4Sopenharmony_ci               discr                (ref4) [    47]
111da0c48c4Sopenharmony_ci [    57]        variant              abbrev: 5
112da0c48c4Sopenharmony_ci                 discr_list           (block1) range 1..2147483647
113da0c48c4Sopenharmony_ci                 sibling              (ref4) [    81]
114da0c48c4Sopenharmony_ci [    64]          variant_part         abbrev: 4
115da0c48c4Sopenharmony_ci                   discr                (ref4) [    47]
116da0c48c4Sopenharmony_ci [    69]            variant              abbrev: 6
117da0c48c4Sopenharmony_ci                     discr_list           (block1) range 1..15, label 17, label 23
118da0c48c4Sopenharmony_ci [    72]            variant              abbrev: 7
119da0c48c4Sopenharmony_ci [    73]              member               abbrev: 3
120da0c48c4Sopenharmony_ci                       name                 (string) "j"
121da0c48c4Sopenharmony_ci                       decl_file            (data1) rng.ads (1)
122da0c48c4Sopenharmony_ci                       decl_line            (data1) 10
123da0c48c4Sopenharmony_ci                       decl_column          (data1) 19
124da0c48c4Sopenharmony_ci                       type                 (ref4) [    fe]
125da0c48c4Sopenharmony_ci                       data_member_location (data1) 4
126da0c48c4Sopenharmony_ci [    81]        variant              abbrev: 5
127da0c48c4Sopenharmony_ci                 discr_list           (block1) range -52..-1
128da0c48c4Sopenharmony_ci                 sibling              (ref4) [    96]
129da0c48c4Sopenharmony_ci [    8a]          member               abbrev: 3
130da0c48c4Sopenharmony_ci                   name                 (string) "q"
131da0c48c4Sopenharmony_ci                   decl_file            (data1) rng.ads (1)
132da0c48c4Sopenharmony_ci                   decl_line            (data1) 13
133da0c48c4Sopenharmony_ci                   decl_column          (data1) 13
134da0c48c4Sopenharmony_ci                   type                 (ref4) [    fe]
135da0c48c4Sopenharmony_ci                   data_member_location (data1) 4
136da0c48c4Sopenharmony_ci [    96]        variant              abbrev: 8
137da0c48c4Sopenharmony_ci                 discr_value          (sdata) -64
138da0c48c4Sopenharmony_ci                 sibling              (ref4) [    a8]
139da0c48c4Sopenharmony_ci [    9c]          member               abbrev: 3
140da0c48c4Sopenharmony_ci                   name                 (string) "r"
141da0c48c4Sopenharmony_ci                   decl_file            (data1) rng.ads (1)
142da0c48c4Sopenharmony_ci                   decl_line            (data1) 15
143da0c48c4Sopenharmony_ci                   decl_column          (data1) 13
144da0c48c4Sopenharmony_ci                   type                 (ref4) [   105]
145da0c48c4Sopenharmony_ci                   data_member_location (data1) 4
146da0c48c4Sopenharmony_ci [    a8]        variant              abbrev: 9
147da0c48c4Sopenharmony_ci [    ab]    dwarf_procedure      abbrev: 10
148da0c48c4Sopenharmony_ci             location             (exprloc) 
149da0c48c4Sopenharmony_ci              [ 0] dup
150da0c48c4Sopenharmony_ci              [ 1] lit0
151da0c48c4Sopenharmony_ci              [ 2] gt
152da0c48c4Sopenharmony_ci              [ 3] over
153da0c48c4Sopenharmony_ci              [ 4] lit15
154da0c48c4Sopenharmony_ci              [ 5] le
155da0c48c4Sopenharmony_ci              [ 6] and
156da0c48c4Sopenharmony_ci              [ 7] over
157da0c48c4Sopenharmony_ci              [ 8] lit17
158da0c48c4Sopenharmony_ci              [ 9] eq
159da0c48c4Sopenharmony_ci              [10] or
160da0c48c4Sopenharmony_ci              [11] over
161da0c48c4Sopenharmony_ci              [12] lit23
162da0c48c4Sopenharmony_ci              [13] eq
163da0c48c4Sopenharmony_ci              [14] or
164da0c48c4Sopenharmony_ci              [15] bra 22
165da0c48c4Sopenharmony_ci              [18] lit4
166da0c48c4Sopenharmony_ci              [19] skip 23
167da0c48c4Sopenharmony_ci              [22] lit0
168da0c48c4Sopenharmony_ci              [23] swap
169da0c48c4Sopenharmony_ci              [24] drop
170da0c48c4Sopenharmony_ci [    c6]    dwarf_procedure      abbrev: 10
171da0c48c4Sopenharmony_ci             location             (exprloc) 
172da0c48c4Sopenharmony_ci              [ 0] dup
173da0c48c4Sopenharmony_ci              [ 1] lit0
174da0c48c4Sopenharmony_ci              [ 2] gt
175da0c48c4Sopenharmony_ci              [ 3] bra 36
176da0c48c4Sopenharmony_ci              [ 6] dup
177da0c48c4Sopenharmony_ci              [ 7] const1s -52
178da0c48c4Sopenharmony_ci              [ 9] lt
179da0c48c4Sopenharmony_ci              [10] over
180da0c48c4Sopenharmony_ci              [11] lit0
181da0c48c4Sopenharmony_ci              [12] ge
182da0c48c4Sopenharmony_ci              [13] or
183da0c48c4Sopenharmony_ci              [14] bra 21
184da0c48c4Sopenharmony_ci              [17] lit4
185da0c48c4Sopenharmony_ci              [18] skip 33
186da0c48c4Sopenharmony_ci              [21] dup
187da0c48c4Sopenharmony_ci              [22] const1s -64
188da0c48c4Sopenharmony_ci              [24] eq
189da0c48c4Sopenharmony_ci              [25] bra 32
190da0c48c4Sopenharmony_ci              [28] lit0
191da0c48c4Sopenharmony_ci              [29] skip 33
192da0c48c4Sopenharmony_ci              [32] lit4
193da0c48c4Sopenharmony_ci              [33] skip 52
194da0c48c4Sopenharmony_ci              [36] dup
195da0c48c4Sopenharmony_ci              [37] call4 [    ab]
196da0c48c4Sopenharmony_ci              [42] plus_uconst 3
197da0c48c4Sopenharmony_ci              [44] const1s -4
198da0c48c4Sopenharmony_ci              [46] and
199da0c48c4Sopenharmony_ci              [47] plus_uconst 3
200da0c48c4Sopenharmony_ci              [49] const1s -4
201da0c48c4Sopenharmony_ci              [51] and
202da0c48c4Sopenharmony_ci              [52] swap
203da0c48c4Sopenharmony_ci              [53] drop
204da0c48c4Sopenharmony_ci [    fe]    base_type            abbrev: 11
205da0c48c4Sopenharmony_ci             byte_size            (data1) 4
206da0c48c4Sopenharmony_ci             encoding             (data1) signed (5)
207da0c48c4Sopenharmony_ci             name                 (strp) "integer"
208da0c48c4Sopenharmony_ci             artificial           (flag_present) yes
209da0c48c4Sopenharmony_ci [   105]    base_type            abbrev: 12
210da0c48c4Sopenharmony_ci             byte_size            (data1) 1
211da0c48c4Sopenharmony_ci             encoding             (data1) boolean (2)
212da0c48c4Sopenharmony_ci             name                 (strp) "boolean"
213da0c48c4Sopenharmony_ci [   10c]    variable             abbrev: 13
214da0c48c4Sopenharmony_ci             name                 (strp) "rng__r"
215da0c48c4Sopenharmony_ci             decl_file            (data1) rng.ads (1)
216da0c48c4Sopenharmony_ci             decl_line            (data1) 21
217da0c48c4Sopenharmony_ci             decl_column          (data1) 4
218da0c48c4Sopenharmony_ci             type                 (ref4) [    2d]
219da0c48c4Sopenharmony_ci             external             (flag_present) yes
220da0c48c4Sopenharmony_ci             location             (exprloc) 
221da0c48c4Sopenharmony_ci              [ 0] addr 0x7e4
222da0c48c4Sopenharmony_ci [   122]    subprogram           abbrev: 14
223da0c48c4Sopenharmony_ci             external             (flag_present) yes
224da0c48c4Sopenharmony_ci             name                 (strp) "rng___elabs"
225da0c48c4Sopenharmony_ci             artificial           (flag_present) yes
226da0c48c4Sopenharmony_ci             low_pc               (addr) 0x0000000000000734
227da0c48c4Sopenharmony_ci             high_pc              (data8) 22 (0x000000000000074a)
228da0c48c4Sopenharmony_ci             frame_base           (exprloc) 
229da0c48c4Sopenharmony_ci              [ 0] call_frame_cfa
230da0c48c4Sopenharmony_ci
231da0c48c4Sopenharmony_citestfile-urng.debug:
232da0c48c4Sopenharmony_ci
233da0c48c4Sopenharmony_ci
234da0c48c4Sopenharmony_ciDWARF section [ 5] '.debug_info' at offset 0x40:
235da0c48c4Sopenharmony_ci [Offset]
236da0c48c4Sopenharmony_ci Compilation unit at offset 0:
237da0c48c4Sopenharmony_ci Version: 4, Abbreviation section offset: 0, Address size: 8, Offset size: 4
238da0c48c4Sopenharmony_ci [     b]  compile_unit         abbrev: 1
239da0c48c4Sopenharmony_ci           producer             (strp) "GNU Ada 9.1.1 20190503 (Red Hat 9.1.1-1) -g -fgnat-encodings=minimal -gstrict-dwarf -mtune=generic -march=x86-64"
240da0c48c4Sopenharmony_ci           language             (data1) Ada95 (13)
241da0c48c4Sopenharmony_ci           name                 (strp) "urng.ads"
242da0c48c4Sopenharmony_ci           comp_dir             (strp) "/home/mark"
243da0c48c4Sopenharmony_ci           low_pc               (addr) 000000000000000000
244da0c48c4Sopenharmony_ci           high_pc              (data8) 977 (0x00000000000003d1)
245da0c48c4Sopenharmony_ci           stmt_list            (sec_offset) 0
246da0c48c4Sopenharmony_ci [    2d]    base_type            abbrev: 2
247da0c48c4Sopenharmony_ci             byte_size            (data1) 2
248da0c48c4Sopenharmony_ci             encoding             (data1) unsigned (7)
249da0c48c4Sopenharmony_ci             name                 (strp) "urng__unsigned"
250da0c48c4Sopenharmony_ci [    34]    structure_type       abbrev: 3
251da0c48c4Sopenharmony_ci             name                 (strp) "urng__rec"
252da0c48c4Sopenharmony_ci             byte_size            (exprloc) 
253da0c48c4Sopenharmony_ci              [ 0] push_object_address
254da0c48c4Sopenharmony_ci              [ 1] deref_size 2
255da0c48c4Sopenharmony_ci              [ 3] call4 [    8d]
256da0c48c4Sopenharmony_ci              [ 8] plus_uconst 7
257da0c48c4Sopenharmony_ci              [10] const1s -4
258da0c48c4Sopenharmony_ci              [12] and
259da0c48c4Sopenharmony_ci             decl_file            (data1) urng.ads (1)
260da0c48c4Sopenharmony_ci             decl_line            (data1) 4
261da0c48c4Sopenharmony_ci             decl_column          (data1) 9
262da0c48c4Sopenharmony_ci             sibling              (ref4) [    8d]
263da0c48c4Sopenharmony_ci [    4e]      member               abbrev: 4
264da0c48c4Sopenharmony_ci               name                 (string) "u"
265da0c48c4Sopenharmony_ci               decl_file            (data1) urng.ads (1)
266da0c48c4Sopenharmony_ci               decl_line            (data1) 4
267da0c48c4Sopenharmony_ci               decl_column          (data1) 14
268da0c48c4Sopenharmony_ci               type                 (ref4) [    2d]
269da0c48c4Sopenharmony_ci               data_member_location (data1) 0
270da0c48c4Sopenharmony_ci [    59]      variant_part         abbrev: 5
271da0c48c4Sopenharmony_ci               discr                (ref4) [    4e]
272da0c48c4Sopenharmony_ci [    5e]        variant              abbrev: 6
273da0c48c4Sopenharmony_ci                 discr_list           (block1) label 17, label 23, range 32768..65535
274da0c48c4Sopenharmony_ci [    6b]        variant              abbrev: 7
275da0c48c4Sopenharmony_ci                 discr_value          (udata) 256
276da0c48c4Sopenharmony_ci                 sibling              (ref4) [    7e]
277da0c48c4Sopenharmony_ci [    72]          member               abbrev: 4
278da0c48c4Sopenharmony_ci                   name                 (string) "b"
279da0c48c4Sopenharmony_ci                   decl_file            (data1) urng.ads (1)
280da0c48c4Sopenharmony_ci                   decl_line            (data1) 9
281da0c48c4Sopenharmony_ci                   decl_column          (data1) 13
282da0c48c4Sopenharmony_ci                   type                 (ref4) [    a4]
283da0c48c4Sopenharmony_ci                   data_member_location (data1) 4
284da0c48c4Sopenharmony_ci [    7e]        variant              abbrev: 8
285da0c48c4Sopenharmony_ci [    7f]          member               abbrev: 4
286da0c48c4Sopenharmony_ci                   name                 (string) "i"
287da0c48c4Sopenharmony_ci                   decl_file            (data1) urng.ads (1)
288da0c48c4Sopenharmony_ci                   decl_line            (data1) 11
289da0c48c4Sopenharmony_ci                   decl_column          (data1) 13
290da0c48c4Sopenharmony_ci                   type                 (ref4) [    ab]
291da0c48c4Sopenharmony_ci                   data_member_location (data1) 4
292da0c48c4Sopenharmony_ci [    8d]    dwarf_procedure      abbrev: 9
293da0c48c4Sopenharmony_ci             location             (exprloc) 
294da0c48c4Sopenharmony_ci              [ 0] dup
295da0c48c4Sopenharmony_ci              [ 1] lit17
296da0c48c4Sopenharmony_ci              [ 2] ne
297da0c48c4Sopenharmony_ci              [ 3] over
298da0c48c4Sopenharmony_ci              [ 4] lit23
299da0c48c4Sopenharmony_ci              [ 5] ne
300da0c48c4Sopenharmony_ci              [ 6] and
301da0c48c4Sopenharmony_ci              [ 7] over
302da0c48c4Sopenharmony_ci              [ 8] lit0
303da0c48c4Sopenharmony_ci              [ 9] ge
304da0c48c4Sopenharmony_ci              [10] and
305da0c48c4Sopenharmony_ci              [11] bra 18
306da0c48c4Sopenharmony_ci              [14] lit0
307da0c48c4Sopenharmony_ci              [15] skip 19
308da0c48c4Sopenharmony_ci              [18] lit4
309da0c48c4Sopenharmony_ci              [19] swap
310da0c48c4Sopenharmony_ci              [20] drop
311da0c48c4Sopenharmony_ci [    a4]    base_type            abbrev: 2
312da0c48c4Sopenharmony_ci             byte_size            (data1) 1
313da0c48c4Sopenharmony_ci             encoding             (data1) boolean (2)
314da0c48c4Sopenharmony_ci             name                 (strp) "boolean"
315da0c48c4Sopenharmony_ci [    ab]    base_type            abbrev: 10
316da0c48c4Sopenharmony_ci             byte_size            (data1) 4
317da0c48c4Sopenharmony_ci             encoding             (data1) signed (5)
318da0c48c4Sopenharmony_ci             name                 (strp) "integer"
319da0c48c4Sopenharmony_ci             artificial           (flag_present) yes
320da0c48c4Sopenharmony_ci [    b2]    variable             abbrev: 11
321da0c48c4Sopenharmony_ci             name                 (strp) "urng__r"
322da0c48c4Sopenharmony_ci             decl_file            (data1) urng.ads (1)
323da0c48c4Sopenharmony_ci             decl_line            (data1) 15
324da0c48c4Sopenharmony_ci             decl_column          (data1) 4
325da0c48c4Sopenharmony_ci             type                 (ref4) [    34]
326da0c48c4Sopenharmony_ci             external             (flag_present) yes
327da0c48c4Sopenharmony_ci             location             (exprloc) 
328da0c48c4Sopenharmony_ci              [ 0] addr 0x3d8
329da0c48c4Sopenharmony_ci [    c8]    subprogram           abbrev: 12
330da0c48c4Sopenharmony_ci             external             (flag_present) yes
331da0c48c4Sopenharmony_ci             name                 (strp) "urng___elabs"
332da0c48c4Sopenharmony_ci             artificial           (flag_present) yes
333da0c48c4Sopenharmony_ci             low_pc               (addr) 0x0000000000000386
334da0c48c4Sopenharmony_ci             high_pc              (data8) 22 (0x000000000000039c)
335da0c48c4Sopenharmony_ci             frame_base           (exprloc) 
336da0c48c4Sopenharmony_ci              [ 0] call_frame_cfa
337da0c48c4Sopenharmony_ciEOF
338