diff options
-rw-r--r-- | gas/ChangeLog | 4 | ||||
-rw-r--r-- | gas/subsegs.c | 11 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 7f9f0d7..7e5f4fe 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * subsegs.c (subseg_change): allow and handle a change into SEG_BSS. + Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com) * expr.c(expr): allow SEG_REGISTER in expressions. diff --git a/gas/subsegs.c b/gas/subsegs.c index 2e4c10b..e883e29 100644 --- a/gas/subsegs.c +++ b/gas/subsegs.c @@ -138,12 +138,16 @@ register int subseg; seg_fix_rootP = & data_fix_root; seg_fix_tailP = & data_fix_tail; } - else + else if (seg == SEG_TEXT) { - know (seg == SEG_TEXT); seg_fix_rootP = & text_fix_root; seg_fix_tailP = & text_fix_tail; } + else { + know (seg == SEG_BSS); + seg_fix_rootP = & bss_fix_root; + seg_fix_tailP = & bss_fix_tail; + } #endif } @@ -170,7 +174,7 @@ register subsegT subseg; { long tmp; /* JF for obstack alignment hacking */ #ifndef MANY_SEGMENTS - know(seg == SEG_DATA || seg == SEG_TEXT); + know(seg == SEG_DATA || seg == SEG_TEXT || seg == SEG_BSS); #endif #ifdef OBJ_AOUT /* If -R specifed, always put stuff into the data section */ @@ -183,7 +187,6 @@ register subsegT subseg; } } #endif - if (seg != now_seg || subseg != now_subseg) { /* we just changed sub-segments */ register frchainS * frcP; /* crawl frchain chain */ |