* write.c (fixup_segment): if relaxing, don't do anything.

* config/obj-bout.[ch] : maintain the a_relaxable file header info
	* config/tc-i960.c: new option -linkrelax
This commit is contained in:
Steve Chamberlain 1992-07-16 15:22:26 +00:00
parent 01bbba251b
commit 462088b886
3 changed files with 50 additions and 8 deletions

View File

@ -1,3 +1,23 @@
Thu Jul 16 08:20:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* write.c (fixup_segment): if relaxing, don't do anything.
* config/obj-bout.[ch] : maintain the a_relaxable file header info
* config/tc-i960.c: new option -linkrelax
Mon Jul 13 14:11:36 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* expr.c (expr): allow SEG_BSS in expressions
* read.c (potable): align should be nbytes, not ptwo!
* write.c (write_object_file): extra glue for new bss attributes
(relax_segment): SEG_BSS is ok now
* config/tc-m68k.c (m68k_ip_op): can now parse more @( modes
Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
* configure.in: recognize m680x0 as having sun3 emulation mode for
vxworks environment.
Tue Jun 30 20:25:54 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
* Makefile.in: Add program_suffix (parallel to program_prefix)
@ -19,7 +39,26 @@ Tue Jun 9 07:54:54 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* write.c (write_object_file): various changes to handle data in
the BSS segment in much the same was as stuff in the DATA segment.
* 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.
* read.c(pseudo_set): register expressions can be the source of a
set.
* subsegs.c (subseg_new): Now -R forces all changes to SEG_DATA to
goto SEG_TEXT (if a.out)
* write.c (write_object_file): If a.out don't use the old way for
-R.
* config/obj-a.out (s_sect): complain if the user tries to use a
subsegment with a value which might interfere with out -R hackery.
* config/tc-m68k.c (m68k_reg_parse): lookup names in symbol table
rather than use ugly if tree. (init_regtable): insert register
names into symbol table.
Tue Jun 2 16:47:09 1992 Steve Chamberlain (sac@cygnus.com)
* write.c (write_object_file): keep the fix_tail clean, which
fixes a bug in -R where relocations were being lost.
Thu Jun 4 11:59:13 1992 Steve Chamberlain (sac@thepub.cygnus.com)
@ -46,6 +85,7 @@ Mon Jun 1 16:20:22 1992 Michael Tiemann (tiemann@cygnus.com)
* configure.in: recognize m680x0 as having sun3 emulation mode for
vxworks environment.
>>>>>>> 1.62
Sun May 31 05:33:00 1992 david d `zoo' zuhn (zoo@cygnus.com)
* configure.in: recognize m680x0 as an m68k

View File

@ -130,7 +130,9 @@ object_headers *headers;
headers->header.a_tload = 0;
headers->header.a_dload = md_section_align(SEG_DATA, H_GET_TEXT_SIZE(headers));
headers->header.a_relaxable = linkrelax;
append(where, (char *) &headers->header, sizeof(headers->header));
} /* a_header_append() */

View File

@ -100,12 +100,12 @@ struct exec {
unsigned long a_drsize; /* Length of data relocation info */
/* Added for i960 */
unsigned long a_tload; /* Text runtime load address */
unsigned long a_dload; /* Data runtime load address */
unsigned char a_talign; /* Alignment of text segment */
unsigned char a_dalign; /* Alignment of data segment */
unsigned char a_balign; /* Alignment of bss segment */
unsigned char unused; /* (Just to make struct size a multiple of 4) */
unsigned long a_tload; /* Text runtime load address */
unsigned long a_dload; /* Data runtime load address */
unsigned char a_talign; /* Alignment of text segment */
unsigned char a_dalign; /* Alignment of data segment */
unsigned char a_balign; /* Alignment of bss segment */
unsigned char a_relaxable; /* Contains enough info to relax */
};
#define N_BADMAG(x) (((x).a_magic)!=BMAGIC)