111
|
1 /* PR target/12898
|
|
2 0x8000 needs multiple instructions to be emitted on Alpha; the
|
|
3 fluff around it causes it to be emitted in a no_new_pseudos
|
|
4 context, which triggered a problem in alpha.c. */
|
|
5
|
|
6 void f (const char *, ...);
|
|
7 int g (void);
|
|
8 void *p (void);
|
|
9
|
|
10 int isymBase, ilineBase, sym_hdr, want_line, proc_desc;
|
|
11 char *lines;
|
|
12
|
|
13 void print_file_desc (int *fdp)
|
|
14 {
|
|
15 char *str_base = p ();
|
|
16 int symi, pdi = g ();
|
|
17
|
|
18 for (symi = 0; isymBase;)
|
|
19 {
|
|
20 int proc_ptr = proc_desc + pdi;
|
|
21 f("1", isymBase, proc_ptr + *fdp, str_base);
|
|
22 if (want_line && *fdp)
|
|
23 {
|
|
24 int delta;
|
|
25 long cur_line = proc_ptr;
|
|
26 char *line_ptr = lines + proc_ptr;
|
|
27 char *line_end = p ();
|
|
28
|
|
29 f("2", sym_hdr);
|
|
30 while (line_ptr < line_end)
|
|
31 {
|
|
32 delta = *line_ptr;
|
|
33 if (delta)
|
|
34 line_ptr++;
|
|
35 else
|
|
36 delta = line_ptr[1] ^ 0x8000;
|
|
37 f("3", cur_line, delta);
|
|
38 }
|
|
39 }
|
|
40 }
|
|
41 }
|