diff options
author | Ian Lance Taylor <ian@airs.com> | 2001-02-13 21:27:52 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2001-02-13 21:27:52 +0000 |
commit | c842b53ae1792ed3bc68759dee24dffdbf3bed32 (patch) | |
tree | 9112893548d98202180c3765c1e173b5a0a48fbc /gas/config | |
parent | 6433dece0aec566a5f07be9512ad4c39ff3d5b72 (diff) | |
download | gdb-c842b53ae1792ed3bc68759dee24dffdbf3bed32.zip gdb-c842b53ae1792ed3bc68759dee24dffdbf3bed32.tar.gz gdb-c842b53ae1792ed3bc68759dee24dffdbf3bed32.tar.bz2 |
* write.c (is_dnrange): Stop as soon as the address becomes
larger.
(relax_frag): Add segment parameter. Only call symbol_get_frag
once. Only call is_dnrange if the symbol is in the same segment,
and the symbol address is larger.
(relax_segment): Pass segment to md_relax_frag and relax_frag.
* write.h (relax_frag): Update declaration.
* config/tc-fr30.c (fr30_relax_frag): Add segment parameter. Pass
it to relax_frag.
* config/tc-m32r.c (m32r_relax_frag): Likewise.
* config/tc-m32r.h (md_relax_frag): Add segment parameter.
(m32r_relax_frag): Update declaration.
* config/tc-mips.h (md_relax_frag): Add segment parameter.
* config/tc-tic54x.h (md_relax_frag): Likewise.
* doc/internals.texi (CPU backend): Update documentation for
md_relax_frag.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-fr30.c | 5 | ||||
-rw-r--r-- | gas/config/tc-m32r.c | 5 | ||||
-rw-r--r-- | gas/config/tc-m32r.h | 6 | ||||
-rw-r--r-- | gas/config/tc-mips.h | 2 | ||||
-rw-r--r-- | gas/config/tc-tic54x.h | 2 |
5 files changed, 11 insertions, 9 deletions
diff --git a/gas/config/tc-fr30.c b/gas/config/tc-fr30.c index c61a8af..ea7ffb5 100644 --- a/gas/config/tc-fr30.c +++ b/gas/config/tc-fr30.c @@ -208,7 +208,8 @@ const relax_typeS md_relax_table[] = }; long -fr30_relax_frag (fragP, stretch) +fr30_relax_frag (segment, fragP, stretch) + segT segment; fragS * fragP; long stretch; { @@ -235,7 +236,7 @@ fr30_relax_frag (fragP, stretch) } else { - growth = relax_frag (fragP, stretch); + growth = relax_frag (segment, fragP, stretch); /* Long jump on odd halfword boundary? */ if (fragP->fr_subtype == 2 && (address & 3) != 0) diff --git a/gas/config/tc-m32r.c b/gas/config/tc-m32r.c index 062181e..cf68fe3 100644 --- a/gas/config/tc-m32r.c +++ b/gas/config/tc-m32r.c @@ -1384,7 +1384,8 @@ const relax_typeS md_relax_table[] = }; long -m32r_relax_frag (fragP, stretch) +m32r_relax_frag (segment, fragP, stretch) + segT segment; fragS *fragP; long stretch; { @@ -1411,7 +1412,7 @@ m32r_relax_frag (fragP, stretch) } else { - growth = relax_frag (fragP, stretch); + growth = relax_frag (segment, fragP, stretch); /* Long jump on odd halfword boundary? */ if (fragP->fr_subtype == 2 && (address & 3) != 0) diff --git a/gas/config/tc-m32r.h b/gas/config/tc-m32r.h index 9e04c19..98bfb8d 100644 --- a/gas/config/tc-m32r.h +++ b/gas/config/tc-m32r.h @@ -54,9 +54,9 @@ extern void m32r_prepare_relax_scan (); #define md_prepare_relax_scan(fragP, address, aim, this_state, this_type) \ m32r_prepare_relax_scan (fragP, address, aim, this_state, this_type) #else -extern long m32r_relax_frag PARAMS ((fragS *, long)); -#define md_relax_frag(fragP, stretch) \ -m32r_relax_frag (fragP, stretch) +extern long m32r_relax_frag PARAMS ((segT, fragS *, long)); +#define md_relax_frag(segment, fragP, stretch) \ +m32r_relax_frag (segment, fragP, stretch) #endif /* Account for nop if 32 bit insn falls on odd halfword boundary. */ #define TC_CGEN_MAX_RELAX(insn, len) (6) diff --git a/gas/config/tc-mips.h b/gas/config/tc-mips.h index 561d5d7..72e734f 100644 --- a/gas/config/tc-mips.h +++ b/gas/config/tc-mips.h @@ -49,7 +49,7 @@ struct expressionS; relocation: */ #define MAX_GPREL_OFFSET (0x7FF4) -#define md_relax_frag(fragp, stretch) mips_relax_frag(fragp, stretch) +#define md_relax_frag(segment, fragp, stretch) mips_relax_frag(fragp, stretch) extern int mips_relax_frag PARAMS ((struct frag *, long)); #define md_undefined_symbol(name) (0) diff --git a/gas/config/tc-tic54x.h b/gas/config/tc-tic54x.h index b43cce1..d162da6 100644 --- a/gas/config/tc-tic54x.h +++ b/gas/config/tc-tic54x.h @@ -108,7 +108,7 @@ extern void tic54x_start_line_hook (); tic54x_estimate_size_before_relax(f,s) extern int tic54x_estimate_size_before_relax(fragS *, segT); -#define md_relax_frag(f,s) tic54x_relax_frag(f,s) +#define md_relax_frag(seg, f,s) tic54x_relax_frag(f,s) extern int tic54x_relax_frag(fragS *, long); #define md_convert_frag(b,s,f) tic54x_convert_frag(b,s,f) |