ld/
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 4 Oct 2004 16:45:51 +0000 (16:45 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 4 Oct 2004 16:45:51 +0000 (16:45 +0000)
commitbcaa7b3eb9571ac0699402a62bf1bfae3a263413
treea3101f1a003e9bb9ff9579fc1a0c3d016cc52821
parenta4f5ad884ecd1b56c973e0d562d97720140d1ec8
ld/

2004-10-04  H.J. Lu  <hongjiu.lu@intel.com>

* NEWS: Mention SORT_BY_NAME, SORT_BY_ALIGNMENT and
--sort-section name|alignment.

* ld.texinfo: Document SORT_BY_NAME, SORT_BY_ALIGNMENT and
--sort-section name|alignment.

* ld.h (sort_type): New enum.
(wildcard_spec): Change the type of `sorted' to sort_type.

* ldgram.y (SORT): Removed.
(SORT_BY_NAME): Added.
(SORT_BY_ALIGNMENT): Added.
(wildcard_spec): Updated `sorted'. Handle SORT_BY_NAME and
SORT_BY_ALIGNMENT.
(input_section_spec_no_keep): Updated `sorted'.
(statement): Replace SORT with SORT_BY_NAME.

* ldlang.c (compare_section): New function to compare 2
sections with different sorting schemes.
(wild_sort): Updated. Use compare_section.
(update_wild_statements): New function.
(lang_process): Call update_wild_statements before
map_input_to_output_sections.

* ldlex.l (SORT_BY_NAME): New.
(SORT_BY_ALIGNMENT): New.
(SORT): Return SORT_BY_NAME.

* ldmain.c (sort_section): New. Defined.
(main): Initialize it to none.

* lexsup.c (option_values): Add OPTION_SORT_SECTION.
(ld_options): Add an entry for OPTION_SORT_SECTION.
(parse_args): Handle OPTION_SORT_SECTION.

* mri.c (mri_draw_tree): Updated `sorted'.

ld/testsuite/

2004-10-04  H.J. Lu  <hongjiu.lu@intel.com>

* ld-scripts/sort.exp: New file for section sorting tests.
* ld-scripts/sort_b_a.d: Likewise
* ld-scripts/sort_b_a.s: Likewise
* ld-scripts/sort_b_a.t: Likewise
* ld-scripts/sort_b_a_a-1.d: Likewise
* ld-scripts/sort_b_a_a-2.d: Likewise
* ld-scripts/sort_b_a_a-3.d: Likewise
* ld-scripts/sort_b_a_a.t: Likewise
* ld-scripts/sort_b_a_n-1.d: Likewise
* ld-scripts/sort_b_a_n-2.d: Likewise
* ld-scripts/sort_b_a_n-3.d: Likewise
* ld-scripts/sort_b_a_n.t: Likewise
* ld-scripts/sort_b_n.d: Likewise
* ld-scripts/sort_b_n.s: Likewise
* ld-scripts/sort_b_n.t: Likewise
* ld-scripts/sort_b_n_a-1.d: Likewise
* ld-scripts/sort_b_n_a-2.d: Likewise
* ld-scripts/sort_b_n_a-3.d: Likewise
* ld-scripts/sort_b_n_a.t: Likewise
* ld-scripts/sort_b_n_n-1.d: Likewise
* ld-scripts/sort_b_n_n-2.d: Likewise
* ld-scripts/sort_b_n_n-3.d: Likewise
* ld-scripts/sort_b_n_n.t: Likewise
* ld-scripts/sort_n_a-a.s: Likewise
* ld-scripts/sort_n_a-b.s: Likewise
* ld-scripts/sort_no-1.d: Likewise
* ld-scripts/sort_no-2.d: Likewise
* ld-scripts/sort_no.t: Likewise
39 files changed:
ld/ChangeLog
ld/NEWS
ld/ld.h
ld/ld.texinfo
ld/ldgram.y
ld/ldlang.c
ld/ldlex.l
ld/ldmain.c
ld/lexsup.c
ld/mri.c
ld/testsuite/ChangeLog
ld/testsuite/ld-scripts/sort.exp [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_a.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_a.s [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_a.t [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_a_a-1.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_a_a-2.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_a_a-3.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_a_a.t [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_a_n-1.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_a_n-2.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_a_n-3.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_a_n.t [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_n.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_n.s [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_n.t [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_n_a-1.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_n_a-2.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_n_a-3.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_n_a.t [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_n_n-1.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_n_n-2.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_n_n-3.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_b_n_n.t [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_n_a-a.s [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_n_a-b.s [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_no-1.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_no-2.d [new file with mode: 0644]
ld/testsuite/ld-scripts/sort_no.t [new file with mode: 0644]