Jason Eckhardt
9d7e2ba5ae
2003-08-04 Christian Groessler <chris@groessler.org>
...
Jason Eckhardt <jle@rice.edu>
* configure.tgt: Recognize new target i860-*-coff.
* Makefile.am (ALL_EMULATIONS): Add ecoff_i860.o.
(ecoff_i860.c): New rule.
* emulparams/coff_i860.sh: New file.
* scripttempl/i860coff.sc: New file.
* Makefile.in: Regenerate.
2003-08-06 02:19:05 +00:00
Stephane Carrez
83a27a96d4
* scripttempl/elfm68hc12.sc: Add gcc_except_table.
...
* scripttempl/elfm68hc11.sc: Likewise.
2003-07-29 20:17:17 +00:00
Stephane Carrez
494fee87a7
* scripttempl/elfm68hc11.sc: Keep ctor/dtor sections; Take into
...
account .tramp sections;
* scripttempl/elfm68hc12.sc: Likewise.
2003-07-23 19:33:20 +00:00
Alan Modra
68f8ff14d1
* emulparams/elf64ppc.sh (OTHER_GOT_SECTIONS): Don't define.
...
(GOT): Define.
* emultempl/ppc64elf.em (stub_added): New static var.
(ppc_create_output_section_statements): Call ppc64_elf_init_stub_bfd.
(ppc_add_stub_section): Set stub_added.
(gld${EMULATION_NAME}_finish): Look for .got rather than .toc. Adjust
ppc64_elf_size_stubs call and test for stubs.
* scripttempl/elf.sc (GOT): Define and use.
2003-07-10 00:38:19 +00:00
Jakub Jelinek
9203ba999f
bfd/
...
* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
(elfNN_ia64_dynamic_symbol_p): Change info->shared into
!info->executable.
(get_fptr): For -pie create .opd as writable section and create
.rela.opd as well.
(elfNN_ia64_check_relocs): Change info->shared into
!info->executable.
(allocate_fptr): Likewise.
(allocate_dynrel_entries): Account for a relative reloc for -pie
@fptr(). Don't account for a relative reloc if -pie want_ltoff_fptr
for undefweak symbol. Account for an IPLT reloc in .rela.opd
section if -pie.
(set_got_entry): Don't create a relative reloc if -pie
want_ltoff_fptr for undefweak symbol.
(set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
(elfNN_ia64_relocate_section): Emit a relative reloc for -pie
@fptr().
* elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
even if -pie.
* elf32-i386.c (elf_i386_relocate_section): Likewise.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
* elf64-s390.c (elf_s390_relocate_section): Likewise.
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
* elf32-s390.c (elf_s390_relocate_section): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
ld/
* emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't include
.opd if -pie.
(OTHER_READWRITE_SECTIONS): Include .opd if -pie.
* scripttempl/elf.sc: Use SHLIB_DATA_ADDR instead of DATA_ADDR
if -pie.
2003-07-04 13:53:38 +00:00
Richard Sandiford
d1b2d571cc
* scripttempl/h8300sxn.sc: New file.
2003-06-10 08:31:04 +00:00
Jakub Jelinek
9ee5e4996f
binutils/
...
* readelf.c (get_segment_type): Handle PT_GNU_STACK.
bfd/
* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
(bfd_section_from_phdr): Likewise.
(map_sections_to_segments): Create PT_GNU_STACK segment header.
(get_program_header_size): Count with PT_GNU_STACK.
* elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
* elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
include/
* bfdlink.h (struct bfd_link_info): Add execstack and noexecstack.
* elf/common.h (PT_GNU_STACK): Define.
ld/
* ldgram.y (phdr_type): Grok PT_GNU_STACK.
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
-z execstack and -z noexecstack.
(gld${EMULATION_NAME}_list_options): Likewise.
* scripttempl/elf.sc: If not -r, discard .note.GNU-stack section.
2003-06-03 22:27:24 +00:00
Michael Snyder
65982ba6e7
2003-06-03 Michael Snyder <msnyder@redhat.com>
...
and Bernd Schmidt <bernds@redhat.com>
and Alexandre Oliva <aoliva@redhat.com>
* Makefile.am: Add new emulations for h8300sx.
* Makefile.in: Regenerate.
* configure.tgt: Add new emulations.
* emulparams/h8300sx.sh: New emulation.
* emulparams/h8300sxelf.sh: Ditto.
* scripttempl/h8300sx.sc: Ditto.
2003-06-03 21:43:52 +00:00
Jakub Jelinek
36af4a4e51
bfd/
...
* elflink.h (elf_link_add_object_symbols): Use !info->executable
instead of info->shared where appropriate.
(bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
* elflink.c (_bfd_elf_create_got_section): Likewise.
(_bfd_elf_link_create_dynamic_sections): Likewise.
(_bfd_elf_link_assign_sym_version): Likewise.
* elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
and DT_DEBUG dynamic tag even for position independent executables.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
* elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
* elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
* elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
* elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
* elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
* elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
include/
* bfdlink.h (struct bfd_link_info): Add pie and executable
bits.
ld/
* lexsup.c (OPTION_PIE): Define.
(ld_options): Add -pie and --pic-executable options.
(parse_args): Handle OPTION_PIE.
* ldmain.c (main): Initialize link_info.pie and
link_info.executable.
* genscripts.sh: Generate PIE scripts.
* ld.texinfo: Document -pie and --pic-executable options.
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open):
(gld${EMULATION_NAME}_place_orphan): Likewise.
(gld${EMULATION_NAME}_get_script): Include PIE scripts.
* scripttempl/elf.sc: In PIE scripts set . the same way as in
shared scripts.
* emulparams/elf_i386.sh (GENERATE_PIE_SCRIPT): Set to yes.
* emulparams/elf64_ia64.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf32ppc.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf64ppc.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf_x86_64.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf_s390.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf32_sparc.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf64_sparc.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf64alpha.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf64_s390.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf_i386.sh (GENERATE_PIE_SCRIPT): Likewise.
2003-05-30 15:50:12 +00:00
Nick Clifton
0dbc2a48b4
oops - omitted from previous delta
2003-04-24 15:25:24 +00:00
Nick Clifton
8d9cd6b19b
Add support for h8300hn and h8300sn
2003-04-24 12:36:08 +00:00
Nick Clifton
517ed4859c
Define __data and __rdata
2003-04-18 08:26:17 +00:00
Nick Clifton
39f1ebed0b
Add .jcr section mapping.
2003-04-16 11:53:46 +00:00
Alan Modra
877d60f7bc
* scripttempl/elf.sc (CTOR): Handle crtbeginS.o, crtendS.o and
...
other variants of crtbegin.o, crtend.o.
(DTOR): Likewise.
* scripttempl/crisaout.sc (ctors, dtors): Likewise.
* scripttempl/elf_chaos.sc (CTOR, DTOR): Likewise.
* scripttempl/elfd10v.sc (CTOR, DTOR): Likewise.
* scripttempl/elfd30v.sc (CTOR, DTOR): Likewise.
* scripttempl/elfxtensa.sc (CTOR, DTOR): Likewise.
* scripttempl/iq2000.sc (CTOR, DTOR): Likewise.
* scripttempl/mmo.sc (ctors, dtors): Likewise.
* scripttempl/xstormy16.sc (CTOR, DTOR): Likewise.
2003-04-14 13:03:17 +00:00
Nick Clifton
d4b6ee6788
Add initX, finiX, ctors, dtors sections to respect C++ constructor/destructor.
...
Add ctors/dtors start/stop definitions.
2003-04-09 11:07:51 +00:00
Svein Seldal
be33c5dd4d
Namespace cleanup for the tic4x target. Replace s/c4x/tic4x/ and s/c3x/tic3x/. 2003 copyright update
2003-04-04 08:15:15 +00:00
Nick Clifton
e0001a05d2
Add Xtensa port
2003-04-01 15:50:31 +00:00
Nick Clifton
e16bb312f5
Add iWMMXt support
2003-03-25 20:56:01 +00:00
Christopher Faylor
15c9f67344
* scripttempl/pe.sc: Use PROVIDE with etext, end, _end,
2003-03-03 02:38:10 +00:00
Nick Clifton
db6a591064
Add new data anchors defenitions.
2003-02-11 18:02:55 +00:00
Svein Seldal
0da35f8be8
Updates for fixing tic4x arch tagging of its object files.
...
* bfd/coffcode.h (coff_set_flags): Added get/set arch hooks.
* include/coff/tic4x.h (TICOFF_TARGET_MACHINE_GET): Fixed define bug
* include/coff/ti.h (TICOFF_TARGET_MACHINE_GET): Added macros
* ld/Makefile.am: Added etic3xcoff.o and etic4xcoff_onchip.o
* ld/Makefile.in: Regenerate
* ld/configure.tgt: Added extra target emulations
* ld/emulparams/tic3xcoff.sh: Remove old settings
* ld/emulparams/tic4xcoff.sh: Ditto
* ld/emulparams/tic3xcoff-onchip.sh: Added new
* ld/scripttempl/tic4xcoff.sc: Revise and combine both c3x and c4x
* ld/scripttempl/tic3xcoff.sc: Remove
2003-01-20 22:34:39 +00:00
Stan Cox
e09a710638
* Makefile.am (ALL_EMULATIONS): Add eelf32iq2000.o.
...
(eelf32iq2000.c): New target.
* Makefile.in: Regenerate.
* configure.tgt: Handle iq2000-*-elf.
* emulparams/elf32iq10.sh: New file.
* emulparams/elf32iq2000.sh: New file.
* scripttempl/iq2000.sc: New file.
2003-01-04 02:04:44 +00:00
Nick Clifton
2469cfa284
Add support for msp430.
2002-12-30 19:25:13 +00:00
Nick Clifton
3637916721
(__RUNTIME_PSEUDO_RELOC_LIST__, __RUNTIME_PSEUDO_RELOC_LIST_END__): Add
...
only when relocating.
2002-10-23 11:21:27 +00:00
Stephane Carrez
e1026ffb69
* scripttempl/elfm68hc11.sc: Use KEEP for .vectors, .installN,
...
.finiN section.
* scripttempl/elfm68hc12.sc: Likewise.
2002-10-13 09:29:35 +00:00
Alan Modra
1bf0a4d93e
* scripttempl/elfd30v.sc: Order reloc sections placing .plt last.
...
* scripttempl/elfm68hc11.sc: Likewise.
* scripttempl/elfm68hc12.sc: Likewise.
2002-09-30 09:31:31 +00:00
Daniel Jacobowitz
ff3268267c
From "Anita Kulkarni" <AnitaK@kpit.com>
...
* scripttempl/sh.sc: Handle .eh_frame* and .gcc_exc*
sections.
2002-09-25 17:06:09 +00:00
Alan Modra
1ddd7b13ed
* genscripts.sh (SEGMENT_SIZE): Use MAXPAGESIZE before
...
TARGET_PAGE_SIZE.
* scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Incorporate
SEGMENT_SIZE alignment.
* emulparams/elf64ppc.sh (DATA_ADDR): Delete.
(SEGMENT_SIZE): Define.
2002-09-25 07:21:08 +00:00
Alan Modra
06143382c6
* emulparams/elf64ppc.sh (DATA_ADDR): Define.
...
* emulparams/elf64_aix.sh (DATA_ADDR): Don't use a fixed address
for start of .data, instead align up to 256M boundary.
* scripttempl/aix.sc: Likewise.
2002-09-24 04:02:03 +00:00
DJ Delorie
8e616ecc6b
* scripttempl/i386go32.sc: Handle bss unique sections.
2002-09-23 11:36:15 +00:00
Nick Clifton
67010b4679
Add EXTERN references to __ctbpm __gp and __ep.
...
Define TEMPLATE_NAME.
Revert bogus change to ldexp.c
2002-09-02 17:03:30 +00:00
Nick Clifton
5435462c55
Update description to reflect D10V TS3 board.
2002-08-30 11:34:40 +00:00
Nick Clifton
026df7c5e6
Add TMS320C4x support
2002-08-28 10:38:51 +00:00
Nick Clifton
ad5211bec5
Handle .rdata_runtime_pseudo_reloc sections.
2002-08-27 11:12:53 +00:00
Nick Clifton
24a1ba0f48
Revert Adam Nemet's THUMB PLT patch
2002-08-01 14:03:01 +00:00
Nick Clifton
8f64befb29
Add support for Thumb PLT entries with interworking
2002-07-31 12:04:47 +00:00
Nick Clifton
cf88bb9f09
Add IP2k support to BFD and LD
2002-07-17 14:15:52 +00:00
Stephane Carrez
a66c0f2c3b
* emulparams/m68hc12elfb.sh (EEPROM_MEMORY): Define.
...
* emulparams/m68hc11elfb.sh (EEPROM_MEMORY): Define.
* emulparams/m68hc11elf.sh (EEPROM_SIZE): Define.
(EEPROM_START_ADDR): Define.
(EEPROM_MEMORY): Define.
* emulparams/m68hc12elf.sh: Likewise.
* scripttempl/elfm68hc11.sc: Handle .eeprom section; handle .softregs
section to put soft registers in .page0.
* scripttempl/elfm68hc12.sc: Likewise but put soft registers in bss.
2002-06-29 10:33:45 +00:00
Tom Rix
8243435612
Fix ld segfault for some elf targets. Fix default layout for d10v.
2002-06-17 14:08:40 +00:00
Alan Modra
f13a54248a
* scripttempl/elf.sc (.tbss): Fix mismatched parentheses/braces.
2002-06-07 09:59:07 +00:00
Marek Michalkiewicz
0c9b4fee1c
* scripttempl/avr.sc: Changes to support current GCC and avr-libc,
...
C++ constructors/destructors, loosely based on the m68hc11 port.
2002-06-01 23:28:59 +00:00
Nick Clifton
d172d4ba03
Add DLX target
2002-05-28 14:08:47 +00:00
Nick Clifton
b4477fa895
Install new elf_chaos.sc script.
2002-05-27 17:52:56 +00:00
Jakub Jelinek
13ae64f3c7
* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
...
for symbols from SHF_TLS section.
(_bfd_elf_print_private_bfd_data): Add PT_TLS.
(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
(map_sections_to_segments): Build PT_TLS segment if necessary.
(assign_file_positions_for_segments): Likewise.
(get_program_header_size): Account for PT_TLS segment.
(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
SEC_THREAD_LOCAL sections to STT_TLS.
* reloc.c: Add 386 and IA-64 TLS relocs.
* section.c (SEC_THREAD_LOCAL): Define.
(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
Remove.
* elflink.h (elf_link_add_object_symbols): Support .tcommon.
(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
unconditionally.
(struct elf_final_link_info): Add first_tls_sec.
(elf_bfd_final_link): Set first_tls_sec.
Compute elf_hash_table (info)->tls_segment.
(elf_link_output_extsym): Handle STT_TLS symbols.
(elf_link_input_bfd): Likewise.
* syms.c (BSF_THREAD_LOCAL): Define.
* bfd-in2.h: Rebuilt.
* libbfd.h: Rebuilt.
* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
elf_i386_mkobject, elf_i386_object_p): New functions.
(elf_howto_table): Add TLS relocs.
(elf_i386_reloc_type_lookup): Support TLS relocs.
(elf_i386_info_to_howto_rel): Likewise.
(struct elf_i386_link_hash_entry): Add tls_type.
(struct elf_i386_obj_tdata): New.
(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
New macros.
(struct elf_i386_link_hash_table): Add tls_ldm_got.
(link_hash_newfunc): Clear tls_type.
(elf_i386_check_relocs): Support TLS relocs.
(elf_i386_gc_sweep_hook): Likewise.
(allocate_dynrelocs): Likewise.
(elf_i386_size_dynamic_sections): Likewise.
(elf_i386_relocate_section): Likewise.
(elf_i386_finish_dynamic_symbol): Likewise.
(bfd_elf32_mkobject, elf_backend_object_p): Define.
* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
want_tprel, want_dtpmod, want_dtprel.
(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
R_IA64_LTOFF_TPREL22.
(elf_code_to_howto_index): Add TLS relocs.
(elfNN_ia64_check_relocs): Support TLS relocs.
(allocate_global_data_got): Account for TLS .got data.
(allocate_dynrel_entries): Account for TLS dynamic relocations.
(elfNN_ia64_install_value): Supprt TLS relocs.
(set_got_entry): Support TLS relocs.
(elfNN_ia64_relocate_section): Likewise.
* config/obj-elf.c (elf_common): Renamed from obj_elf_common.
(obj_elf_common): Call elf_common.
(obj_elf_tls_common): New function.
(elf_pseudo_tab): Support .tls_common.
(special_sections): Add .tdata and .tbss.
(obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS
sections.
(obj_elf_parse_section_letters): Support T in section flags (SHF_TLS).
(obj_elf_parse_section_letters): Include T in error message.
* config/tc-ppc.c (ppc_section_letter): Likewise.
* config/tc-alpha.c (alpha_elf_section_letter): Likewise.
(tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as
SEC_MERGE.
* config/tc-sparc.c (md_apply_fix3): Likewise.
* config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs.
Define them if not BFD_ASSEMBLER.
(lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF
and @NTPOFF.
(md_apply_fix3): Add TLS relocs.
* config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE,
FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE,
FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE.
(pseudo_func): Support @dtpmod(), @dtprel() and @tprel().
(ia64_elf_section_letter): Include T in error message.
(md_begin): Support TLS operators.
(md_operand): Likewise.
(ia64_gen_real_reloc_type): Support TLS relocs.
* testsuite/gas/i386/tlspic.s: New file.
* testsuite/gas/i386/tlsd.s: New file.
* testsuite/gas/i386/tlsnopic.s: New file.
* testsuite/gas/i386/tlsd.d: New file.
* testsuite/gas/i386/tlsnopic.d: New file.
* testsuite/gas/i386/tlspic.d: New file.
* testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests.
* testsuite/gas/ia64/tls.s: New file.
* testsuite/gas/ia64/tls.d: New file.
* testsuite/gas/ia64/ia64.exp: Add tls test.
* write.c (adjust_reloc_syms): Don't change symbols in
SEC_THREAD_LOCAL sections to STT_SECTION + addend.
* elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
* elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
* elf/i386.h: Add TLS relocs.
* scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
* ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
output section if necessary. Handle .tbss.
(lang_size_sections): Clear _raw_size for .tbss section
(it allocates space in PT_TLS segment only).
* ldwrite.c (build_link_order): Build link order for .tbss too.
* readelf.c (get_segment_type): Add PT_TLS.
(get_elf_section_flags): Add SHF_TLS.
(get_dynamic_flags): Optimize. Add DF_STATIC_TLS.
(process_dynamic_segment): Use puts instead of printf.
(get_symbol_type): Support STT_TLS.
* objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT,
SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS.
Add SEC_THREAD_LOCAL.
2002-05-23 13:12:53 +00:00
Marek Michalkiewicz
7c8bf1e82a
* emulparams/avr1.sh: New file.
...
* emulparams/avr2.sh: New file.
* emulparams/avr3.sh: New file.
* emulparams/avr4.sh: New file.
* emulparams/avr5.sh: New file.
* scripttempl/avr.sc: New file.
2002-05-16 19:51:08 +00:00
Jakub Jelinek
2d13d8c5ee
* scripttempl/elf.sc: Only use DATA_SEGMENT_END() together with
...
DATA_SEGMENT_ALIGN.
2002-03-05 11:56:23 +00:00
H.J. Lu
b5090659de
2002-03-04 H.J. Lu <hjl@gnu.org>
...
* scripttempl/elf.sc: Put .preinit_array, .init_array and
.fini_array in the data segment.
2002-03-04 20:40:14 +00:00
Alan Modra
f42ce16e2f
* scripttempl/elf.sc: Correct syntax errors in 2002-03-01 commit.
2002-03-04 01:37:52 +00:00
Richard Henderson
de77b6ac8b
* scripttempl/elf.sc (SECTIONS): Add entries for .preinit_array,
...
.init_array, and .fini_array.
2002-03-02 01:25:26 +00:00
Jakub Jelinek
2d20f7bf67
* ldlex.l (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
...
* ldgram.y (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
(exp): Add DATA_SEGMENT_ALIGN (exp, exp) and DATA_SEGMENT_END (exp).
* ldexp.c (exp_data_seg): New variable.
(exp_print_token): Handle DATA_SEGMENT_ALIGN and DATA_SEGMENT_END.
(fold_binary): Handle DATA_SEGMENT_ALIGN.
(exp_fold_tree): Handle DATA_SEGMENT_END.
Pass allocation_done when recursing instead of hardcoding
lang_allocating_phase_enum.
* ldexp.h (exp_data_seg): New.
* ldlang.c (lang_size_sections_1): Renamed from lang_size_sections.
(lang_size_sections): New.
* ld.texinfo (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): Document.
* scripttempl/elf.sc: Use DATA_SEGMENT_ALIGN and DATA_SEGMENT_END
if COMMONPAGESIZE is defined.
* emulparams/elf_i386.sh (COMMONPAGESIZE): Set to 4K.
* emulparams/elf32_sparc.sh (COMMONPAGESIZE): Set to 8K.
* emulparams/elf64_sparc.sh (COMMONPAGESIZE): Set to 8K.
* emulparams/elf64alpha.sh (COMMONPAGESIZE): Set to 8K.
* emulparams/elf64_ia64.sh (COMMONPAGESIZE): Set to 16K for shared
libraries only.
2002-02-12 14:50:08 +00:00