Changeset 236 for trunk/src/emx/src/emxomf/stabshll.c
- Timestamp:
- May 26, 2003, 4:43:12 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/src/emx/src/emxomf/stabshll.c (modified) (35 diffs, 1 prop)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/src/emxomf/stabshll.c
-
Property cvs2svn:cvs-rev
changed from
1.2to1.3
r235 r236 515 515 int sym_seg, int ext) 516 516 { 517 struct reloc r;517 struct relocation_info r; 518 518 519 519 sst_start (SST_static); 520 r. address = sst.size;520 r.r_address = sst.size; 521 521 buffer_dword (&sst, addr); /* Segment offset */ 522 522 buffer_word (&sst, 0); /* Segment address */ … … 524 524 buffer_nstr (&sst, name); /* Symbol name */ 525 525 sst_end (); 526 r. ext= ext;527 r. length = 2;528 r. symbolnum = sym_seg;529 r. pcrel = 0;530 r. unused = 0;526 r.r_extern = ext; 527 r.r_length = 2; 528 r.r_symbolnum = sym_seg; 529 r.r_pcrel = 0; 530 r.r_pad = 0; 531 531 buffer_mem (&sst_reloc, &r, sizeof (r)); 532 r. address += 4;533 r. length = 1;532 r.r_address += 4; 533 r.r_length = 1; 534 534 buffer_mem (&sst_reloc, &r, sizeof (r)); 535 535 } … … 772 772 773 773 774 #if defined ( DEBUG)774 #if defined (HLL_DEBUG) 775 775 776 776 /* This function is used to print an internal type for debugging. */ … … 819 819 printf ("("); 820 820 show_type (tp->d.array.etype); 821 printf ("[% d]", tp->d.array.last + 1 - tp->d.array.first);821 printf ("[%ld]", tp->d.array.last + 1 - tp->d.array.first); 822 822 break; 823 823 case ty_bits: … … 2339 2339 for (i = *index; i < sym_count; ++i) 2340 2340 { 2341 p = str_ptr + sym_ptr[i]. string;2341 p = str_ptr + sym_ptr[i].n_un.n_strx; 2342 2342 n = strlen (p); 2343 2343 if (n > 0 && p[n-1] == '\\') … … 2351 2351 if (i == *index) 2352 2352 { 2353 *str = str_ptr + sym_ptr[i]. string;2353 *str = str_ptr + sym_ptr[i].n_un.n_strx; 2354 2354 return FALSE; 2355 2355 } … … 2360 2360 for (i = *index; i < sym_count; ++i) 2361 2361 { 2362 p = str_ptr + sym_ptr[i]. string;2362 p = str_ptr + sym_ptr[i].n_un.n_strx; 2363 2363 n = strlen (p); 2364 2364 if (n > 0 && p[n-1] == '\\') … … 2401 2401 memcpy (name, str, n); 2402 2402 name[n] = 0; 2403 #if defined ( DEBUG)2403 #if defined (HLL_DEBUG) 2404 2404 printf ("LSYM/LCSYM/GSYM/PSYM/RSYM/STSYM/FUN %s\n", str); 2405 2405 #endif … … 2421 2421 ++parse_ptr; /* synonymous type */ 2422 2422 t = parse_complete_type (name); 2423 #if defined ( DEBUG)2423 #if defined (HLL_DEBUG) 2424 2424 printf (" type: "); 2425 2425 show_type (t); … … 2435 2435 ++parse_ptr; 2436 2436 t = parse_complete_type (name); 2437 #if defined ( DEBUG)2437 #if defined (HLL_DEBUG) 2438 2438 printf (" type: "); 2439 2439 show_type (t); … … 2445 2445 case '5': case '6': case '7': case '8': case '9': 2446 2446 t = parse_complete_type (name); 2447 #if defined ( DEBUG)2447 #if defined (HLL_DEBUG) 2448 2448 printf (" type: "); 2449 2449 show_type (t); … … 2464 2464 { 2465 2465 size_t ptr; 2466 struct reloc r;2466 struct relocation_info r; 2467 2467 2468 2468 sst_start (SST_begin); 2469 r. address = sst.size;2469 r.r_address = sst.size; 2470 2470 ptr = sst.size; 2471 2471 buffer_dword (&sst, addr); /* Segment offset */ … … 2476 2476 sst_end (); 2477 2477 2478 r. ext= 0;2479 r. length = 2;2480 r. symbolnum = N_TEXT;2481 r. pcrel = 0;2482 r. unused = 0;2478 r.r_extern = 0; 2479 r.r_length = 2; 2480 r.r_symbolnum = N_TEXT; 2481 r.r_pcrel = 0; 2482 r.r_pad = 0; 2483 2483 buffer_mem (&sst_reloc, &r, sizeof (r)); 2484 2484 return ptr; … … 2522 2522 const char *p; 2523 2523 2524 if (s-> type != N_FUN)2524 if (s->n_type != N_FUN) 2525 2525 return FALSE; 2526 p = strchr (str_ptr + s-> string, ':');2526 p = strchr (str_ptr + s->n_un.n_strx, ':'); 2527 2527 if (p == NULL) 2528 2528 return FALSE; … … 2567 2567 if (is_fun (&sym_ptr[i])) 2568 2568 { 2569 addr = sym_ptr[i]. value;2569 addr = sym_ptr[i].n_value; 2570 2570 break; 2571 2571 } … … 2597 2597 --block_grow.count; 2598 2598 hll_end (block_stack[block_grow.count].patch_ptr, 0, 2599 sym_ptr[i]. value - block_stack[block_grow.count].addr);2599 sym_ptr[i].n_value - block_stack[block_grow.count].addr); 2600 2600 if (block_grow.count == 0 && proc_patch_base != 0) 2601 2601 fun_end (i); … … 2613 2613 { 2614 2614 struct type t, *t1, *t2; 2615 struct reloc r;2615 struct relocation_info r; 2616 2616 const char *str, *p; 2617 2617 char *name; 2618 2618 int n, ti; 2619 2619 2620 str = str_ptr + symbol-> string;2620 str = str_ptr + symbol->n_un.n_strx; 2621 2621 p = strchr (str, ':'); 2622 2622 if (p == NULL) … … 2627 2627 name[n] = 0; 2628 2628 2629 proc_start_addr = symbol-> value;2629 proc_start_addr = symbol->n_value; 2630 2630 2631 2631 if (args_grow.count == 0) … … 2646 2646 make_type (t2, &ti); 2647 2647 sst_start (cplusplus_flag ? SST_CPPproc : SST_proc); 2648 r. address = sst.size;2649 buffer_dword (&sst, symbol-> value); /* Segment offset */2648 r.r_address = sst.size; 2649 buffer_dword (&sst, symbol->n_value); /* Segment offset */ 2650 2650 buffer_word (&sst, ti); /* Type index */ 2651 2651 proc_patch_base = sst.size; … … 2660 2660 buffer_nstr (&sst, name); /* Proc name */ 2661 2661 sst_end (); 2662 r. ext= 0;2663 r. length = 2;2664 r. symbolnum = N_TEXT;2665 r. pcrel = 0;2666 r. unused = 0;2662 r.r_extern = 0; 2663 r.r_length = 2; 2664 r.r_symbolnum = N_TEXT; 2665 r.r_pcrel = 0; 2666 r.r_pad = 0; 2667 2667 buffer_mem (&sst_reloc, &r, sizeof (r)); 2668 2668 } … … 2677 2677 lbrac_index = -1; 2678 2678 for (; i < sym_count; ++i) 2679 if (sym_ptr[i]. type == N_RBRAC || is_fun (&sym_ptr[i]))2679 if (sym_ptr[i].n_type == N_RBRAC || is_fun (&sym_ptr[i])) 2680 2680 return; 2681 else if (sym_ptr[i]. type == N_LBRAC)2681 else if (sym_ptr[i].n_type == N_LBRAC) 2682 2682 { 2683 2683 lbrac_index = i; 2684 block_begin (sym_ptr[i]. value);2684 block_begin (sym_ptr[i].n_value); 2685 2685 return; 2686 2686 } … … 2715 2715 memcpy (name, str, n); 2716 2716 name[n] = 0; 2717 #if defined ( DEBUG)2717 #if defined (HLL_DEBUG) 2718 2718 printf ("%s %s\n", msg, str); 2719 2719 #endif … … 2727 2727 ++parse_ptr; 2728 2728 ti = hll_type (); 2729 #if defined ( DEBUG)2729 #if defined (HLL_DEBUG) 2730 2730 printf (" type=%#x\n", ti); 2731 2731 #endif … … 2736 2736 return; 2737 2737 } 2738 if (sym2-> type == N_EXT)2738 if (sym2->n_type == N_EXT) 2739 2739 sst_static (name, 0, ti, sym2 - sym_ptr, 1); 2740 2740 else 2741 sst_static (name, sym2-> value, ti, sym2->type, 0);2741 sst_static (name, sym2->n_value, ti, sym2->n_type, 0); 2742 2742 break; 2743 2743 … … 2755 2755 ++parse_ptr; 2756 2756 ti = hll_type (); 2757 #if defined ( DEBUG)2757 #if defined (HLL_DEBUG) 2758 2758 printf (" type=%#x\n", ti); 2759 2759 #endif 2760 sst_static (name, symbol-> value, ti, where, 0);2760 sst_static (name, symbol->n_value, ti, where, 0); 2761 2761 break; 2762 2762 … … 2774 2774 { 2775 2775 ti = hll_type (); 2776 #if defined ( DEBUG)2776 #if defined (HLL_DEBUG) 2777 2777 printf (" type=%#x\n", ti); 2778 2778 #endif 2779 2779 sst_start (SST_auto); 2780 buffer_dword (&sst, symbol-> value);/* Offset into stk frame */2780 buffer_dword (&sst, symbol->n_value);/* Offset into stk frame */ 2781 2781 buffer_word (&sst, ti); /* Type index */ 2782 2782 buffer_nstr (&sst, name); /* Symbol name */ … … 2802 2802 ++parse_ptr; 2803 2803 ti = hll_type (); 2804 switch (symbol-> value)2804 switch (symbol->n_value) 2805 2805 { 2806 2806 case 0: /* EAX */ … … 2853 2853 break; 2854 2854 default: 2855 warning ("unknown register %lu", symbol-> value);2855 warning ("unknown register %lu", symbol->n_value); 2856 2856 return; 2857 2857 } … … 2874 2874 } 2875 2875 ti = hll_type (); 2876 #if defined ( DEBUG)2876 #if defined (HLL_DEBUG) 2877 2877 printf (" type=%#x\n", ti); 2878 2878 #endif 2879 2879 sst_start (SST_auto); 2880 buffer_dword (&sst, symbol-> value);/* Offset into stk frame */2880 buffer_dword (&sst, symbol->n_value); /* Offset into stk frame */ 2881 2881 buffer_word (&sst, ti); /* Type index */ 2882 2882 buffer_nstr (&sst, name); /* Symbol name */ … … 2906 2906 last_fun_valid = TRUE; 2907 2907 args_grow.count = 0; 2908 last_fun_addr = symbol-> value;2908 last_fun_addr = symbol->n_value; 2909 2909 prologue_length = -1; 2910 2910 2911 for (i = *index + 1; i < sym_count && sym_ptr[i]. type == N_PSYM; ++i)2911 for (i = *index + 1; i < sym_count && sym_ptr[i].n_type == N_PSYM; ++i) 2912 2912 parse_symbol (&i, -1, "PSYM", FALSE); 2913 2913 … … 2920 2920 { 2921 2921 if (prologue_length == -1) 2922 prologue_length = sym_ptr[lbrac_index]. value - last_fun_addr;2922 prologue_length = sym_ptr[lbrac_index].n_value - last_fun_addr; 2923 2923 } 2924 2924 2925 2925 /* Parameters */ 2926 2926 2927 while (*index + 1 < sym_count && sym_ptr[*index+1]. type == N_PSYM)2927 while (*index + 1 < sym_count && sym_ptr[*index+1].n_type == N_PSYM) 2928 2928 { 2929 2929 ++(*index); … … 2999 2999 static void write_changseg (void) 3000 3000 { 3001 struct reloc r;3001 struct relocation_info r; 3002 3002 3003 3003 sst_start (SST_changseg); 3004 r. address = sst.size;3004 r.r_address = sst.size; 3005 3005 buffer_word (&sst, 0); /* Segment number */ 3006 3006 buffer_word (&sst, 0); /* Reserved */ 3007 3007 sst_end (); 3008 r. ext= 0;3009 r. length = 1;3010 r. symbolnum = N_TEXT;3011 r. pcrel = 0;3012 r. unused = 0;3008 r.r_extern = 0; 3009 r.r_length = 1; 3010 r.r_symbolnum = N_TEXT; 3011 r.r_pcrel = 0; 3012 r.r_pad = 0; 3013 3013 buffer_mem (&sst_reloc, &r, sizeof (r)); 3014 3014 } … … 3039 3039 3040 3040 for (i = 0; i < sym_count; ++i) 3041 switch (sym_ptr[i]. type)3041 switch (sym_ptr[i].n_type) 3042 3042 { 3043 3043 case N_LSYM: … … 3064 3064 lbrac_index = -1; block_grow.count = 0; proc_patch_base = 0; 3065 3065 for (i = 0; i < sym_count; ++i) 3066 switch (sym_ptr[i]. type)3066 switch (sym_ptr[i].n_type) 3067 3067 { 3068 3068 case N_LSYM: … … 3088 3088 case N_LBRAC: 3089 3089 if (lbrac_index == -1) /* N_LBRAC without local symbols */ 3090 block_begin (sym_ptr[i]. value);3090 block_begin (sym_ptr[i].n_value); 3091 3091 else if (i != lbrac_index) 3092 3092 warning ("Invalid N_LBRAC"); -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.
