summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1992-06-09 14:57:42 +0000
committerSteve Chamberlain <sac@cygnus>1992-06-09 14:57:42 +0000
commita1765cf0fef298858cfe669e0b8143dba90b4dd1 (patch)
treebdf7f757aa6e0b41b0499d1d7f1e6845ff2a0c84
parent90d49457163cfd1640b02d210e6cb35e4bdebe34 (diff)
downloadppe42-binutils-a1765cf0fef298858cfe669e0b8143dba90b4dd1.tar.gz
ppe42-binutils-a1765cf0fef298858cfe669e0b8143dba90b4dd1.zip
* subsegs.c (subseg_change): allow and handle a change into SEG_BSS.
* tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do pcrel data stuff. (md_estimate_size_before_relax): when relaxing a 68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put it into SEG_BSS
-rw-r--r--gas/config/ChangeLog8
-rw-r--r--gas/config/tc-m68k.c16
2 files changed, 17 insertions, 7 deletions
diff --git a/gas/config/ChangeLog b/gas/config/ChangeLog
index ce1e22dca1..fe982fd74f 100644
--- a/gas/config/ChangeLog
+++ b/gas/config/ChangeLog
@@ -1,3 +1,11 @@
+Tue Jun 9 07:50:46 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * tc-m68k.c (m68kip): Fix typo so that only arch's >=68020 do
+ pcrel data stuff. (md_estimate_size_before_relax): when relaxing a
+ 68010 bxx into a bra+6 jmpxx, put the bytes of the jmp opcode into
+ the right place. (s_bss): Don't put .bss stuff into SEG_DATA, put
+ it into SEG_BSS
+
Thu May 28 11:20:27 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
* tc-sparc.c: Use new ARCHITECTURES_CONFLICT_P macro. Mention new
diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c
index 17a41eb0fe..4ac4abb1ab 100644
--- a/gas/config/tc-m68k.c
+++ b/gas/config/tc-m68k.c
@@ -1708,7 +1708,7 @@ char *instring;
&& !subs(opP->con1)
&& seg(opP->con1) == SEG_TEXT
&& now_seg == SEG_TEXT
- && cpu_of_arch(current_architecture) < m68020
+ && cpu_of_arch(current_architecture) >= m68020
&& !flagseen['S']
&& !strchr("~%&$?", s[0])) {
tmpreg=0x3A; /* 7.2 */
@@ -3203,8 +3203,8 @@ segT segment;
} else {
fragP->fr_opcode[1] = 0x06; /* branch offset = 6 */
/* JF: these were fr_opcode[2,3] */
- buffer_address[2] = 0x4e; /* put in jmp long (0x4ef9) */
- buffer_address[3] = 0xf9;
+ buffer_address[0] = 0x4e; /* put in jmp long (0x4ef9) */
+ buffer_address[1] = 0xf9;
fragP->fr_fix += 2; /* account for jmp instruction */
subseg_change(SEG_TEXT,0);
fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0,
@@ -3598,10 +3598,12 @@ static void s_data2() {
demand_empty_rest_of_line();
} /* s_data2() */
-static void s_bss() {
- /* We don't support putting frags in the BSS segment, but we
- can put them into initialized data for now... */
- subseg_new(SEG_DATA,255); /* FIXME-SOON */
+static void s_bss()
+{
+ /* We don't support putting frags in the BSS segment, we fake it
+ by marking in_bss, then looking at s_skip for clues */
+
+ subseg_new(SEG_BSS, 0);
demand_empty_rest_of_line();
} /* s_bss() */
OpenPOWER on IntegriCloud