Changeset 237


Ignore:
Timestamp:
May 26, 2003, 4:50:21 PM (22 years ago)
Author:
zap
Message:

Re-applied Knut's fix related to segment alignment.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/src/emxomf/emxomf.c

    • Property cvs2svn:cvs-rev changed from 1.7 to 1.8
    r236 r237  
    13871387    P (bit 0)           USE32 */
    13881388
    1389 static int seg_def (int name_index, int class_index, long size, int stack)
     1389static int seg_def (int name_index, int class_index, long size, int stack, int is_set)
    13901390{
    13911391  byte seg_attr;
    13921392
    1393   seg_attr = (stack ? 0x75 : 0x69);
     1393  seg_attr =  (is_set ? (stack ? 0xb5 : 0xa9) : (stack ? 0x75 : 0x69) );
    13941394  if (size > 0x10000 || force_big)
    13951395    {
     
    20002000      set_ptr->seg_index[j] =
    20012001        seg_def (set_ptr->seg_name[j], code_class_name,
    2002                  4 * (j == 1 ? set_ptr->count : set_ptr->def), FALSE);
     2002                 4 * (j == 1 ? set_ptr->count : set_ptr->def), FALSE, TRUE);
    20032003}
    20042004
     
    30183018
    30193019  text_index = seg_def (text_seg_name, code_class_name, text_size,
    3020                         FALSE);
     3020                        FALSE, FALSE);
    30213021  write_set_segs ();
    30223022
    30233023  if (udat_seg_string != NULL)
    30243024    udat_index = seg_def (udat_seg_name, data_class_name, data_size,
    3025                           FALSE);
     3025                          FALSE, FALSE);
    30263026  data_index = seg_def (data_seg_name, data_class_name,
    30273027                        (udat_seg_string == NULL ? data_size : 0),
    3028                         FALSE);
     3028                        FALSE, FALSE);
    30293029  if (udat_seg_string == NULL)
    30303030    udat_index = data_index;
    30313031
    30323032  bss_index = seg_def (bss_seg_name, bss_class_name, a_out_h->a_bss,
    3033                        FALSE);
     3033                       FALSE, FALSE);
    30343034
    30353035  if (mod_type == MT_MAIN)
    3036     stack_index = seg_def (stack_seg_name, stack_class_name, 0x8000, TRUE);
     3036    stack_index = seg_def (stack_seg_name, stack_class_name, 0x8000, TRUE, FALSE);
    30373037
    30383038  if (!strip_symbols)
     
    30403040      convert_debug ();         /* After seg_def of text, data & bss */
    30413041      symbols_index = seg_def (symbols_seg_name, debsym_class_name,
    3042                                sst.size, FALSE);
     3042                               sst.size, FALSE, FALSE);
    30433043      types_index = seg_def (types_seg_name, debtyp_class_name,
    3044                              tt.size, FALSE);
     3044                             tt.size, FALSE, FALSE);
    30453045    }
    30463046
Note: See TracChangeset for help on using the changeset viewer.