• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


Commit MetaInfo

Revisiond9d11c361cc29bdac2d2d6c38bce329d25abf7af (tree)
Time2015-07-20 13:59:37
AuthorAlan Modra <amodra@gmai...>
CommiterAlan Modra

Log Message

ALIGN change affects cris scripts

More fallout from a2c59f28. This one could have been fixed by simply
using ". = ALIGN (ABSOLUTE (.), 2);" but it's nicer to align the
section.

* emulparams/criself.sh (INIT_ADDR, FINI_ADDR): Define.
(INIT_START, FINI_START): Don't ALIGN.
* scriptempl/elf.sc (.init, .fini): Apply INIT_ADDR/FINI_ADDR.

Change Summary

Incremental Difference

--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,11 @@
11 2015-07-20 Alan Modra <amodra@gmail.com>
22
3+ * emulparams/criself.sh (INIT_ADDR, FINI_ADDR): Define.
4+ (INIT_START, FINI_START): Don't ALIGN.
5+ * scriptempl/elf.sc (.init, .fini): Apply INIT_ADDR/FINI_ADDR.
6+
7+2015-07-20 Alan Modra <amodra@gmail.com>
8+
39 * scripttempl/elf.sc (.ldata, .bss): Align absolute value of dot.
410 * ldexp.c (is_align_conditional): Handle binary ALIGN.
511 (exp_fold_tree_1): Move code setting SEC_KEEP for assignments to
--- a/ld/emulparams/criself.sh
+++ b/ld/emulparams/criself.sh
@@ -55,8 +55,9 @@ OTHER_BSS_END_SYMBOLS='
5555 '
5656 OTHER_END_SYMBOLS='PROVIDE (__end = .);'
5757
58+INIT_ADDR='ALIGN (2)'
59+
5860 INIT_START='
59- . = ALIGN(2);
6061 ___init__start = .;
6162 PROVIDE (___do_global_ctors = .);
6263 '
@@ -66,8 +67,9 @@ INIT_END='
6667 PROVIDE (___init__end = .);
6768 '
6869
70+FINI_ADDR='ALIGN (2)'
71+
6972 FINI_START='
70- . = ALIGN (2);
7173 ___fini__start = .;
7274 PROVIDE (___do_global_dtors = .);
7375 '
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -474,7 +474,7 @@ emit_dyn()
474474 test -n "${NON_ALLOC_DYN}${SEPARATE_CODE}" || emit_dyn
475475
476476 cat <<EOF
477- .init ${RELOCATING-0} :
477+ .init ${RELOCATING-0}${RELOCATING+${INIT_ADDR}} :
478478 {
479479 ${RELOCATING+${INIT_START}}
480480 KEEP (*(SORT_NONE(.init)))
@@ -495,7 +495,7 @@ cat <<EOF
495495 *(.gnu.warning)
496496 ${RELOCATING+${OTHER_TEXT_SECTIONS}}
497497 } ${FILL}
498- .fini ${RELOCATING-0} :
498+ .fini ${RELOCATING-0}${RELOCATING+${FINI_ADDR}} :
499499 {
500500 ${RELOCATING+${FINI_START}}
501501 KEEP (*(SORT_NONE(.fini)))