diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2009-05-22 11:27:44 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@codesourcery.com> | 2009-05-22 11:27:44 +0000 |
commit | ec6d26bed6aaf59e5c3d4b619b127c2e22ff39a0 (patch) | |
tree | d1632ec7ec393d26d0dde9c2826b5e2f3203a047 /ld | |
parent | 88c0ab9dd995d4719c640134a75f11abfad249be (diff) | |
download | gdb-ec6d26bed6aaf59e5c3d4b619b127c2e22ff39a0.zip gdb-ec6d26bed6aaf59e5c3d4b619b127c2e22ff39a0.tar.gz gdb-ec6d26bed6aaf59e5c3d4b619b127c2e22ff39a0.tar.bz2 |
* ldlang.c (lang_check_section_addresses): Ignore non-loadable
sections when checking for overlap. Clarify error message
concerns load address.
testsuite/
* ld-scripts/rgn-at4.t: New.
* ld-scripts/rgn-at4.d: New.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 6 | ||||
-rw-r--r-- | ld/ldlang.c | 5 | ||||
-rw-r--r-- | ld/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/rgn-at4.d | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/rgn-at4.t | 14 |
5 files changed, 41 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 7af3e3c..7e99916 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2009-05-22 Nathan Sidwell <nathan@codesourcery.com> + + * ldlang.c (lang_check_section_addresses): Ignore non-loadable + sections when checking for overlap. Clarify error message + concerns load address. + 2009-05-22 Alan Modra <amodra@bigpond.net.au> * Makefile.am: Run "make dep-am". diff --git a/ld/ldlang.c b/ld/ldlang.c index d97a55b..2f1e0ea 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -4498,7 +4498,8 @@ lang_check_section_addresses (void) for (s = link_info.output_bfd->sections; s != NULL; s = s->next) { /* Only consider loadable sections with real contents. */ - if (IGNORE_SECTION (s) || s->size == 0) + if ((s->flags & SEC_NEVER_LOAD) || !(s->flags & SEC_LOAD) + || s->size == 0) continue; sections[count] = s; @@ -4529,7 +4530,7 @@ lang_check_section_addresses (void) /* Look for an overlap. */ if (s_end >= os_start && s_start <= os_end) - einfo (_("%X%P: section %s [%V -> %V] overlaps section %s [%V -> %V]\n"), + einfo (_("%X%P: section %s loaded at [%V,%V] overlaps section %s loaded at [%V,%V]\n"), s->name, s_start, s_end, os->name, os_start, os_end); } diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index ca27faf..0df5dbc 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-05-22 Nathan Sidwell <nathan@codesourcery.com> + + * ld-scripts/rgn-at4.t: New. + * ld-scripts/rgn-at4.d: New. + 2009-05-21 Dave Korn <dave.korn.cygwin@gmail.com> * ld-pe/aligncomm-1.c (_alloca): Add dummy definition to diff --git a/ld/testsuite/ld-scripts/rgn-at4.d b/ld/testsuite/ld-scripts/rgn-at4.d new file mode 100644 index 0000000..7db7697 --- /dev/null +++ b/ld/testsuite/ld-scripts/rgn-at4.d @@ -0,0 +1,13 @@ +# name: rgn-at4 +# source: rgn-at.s +# ld: -T rgn-at4.t +# objdump: -w -h + +.*: file format .* + +Sections: +Idx +Name +Size +VMA +LMA +File off +Algn +Flags + 0 .text +0+[0-9a-f][0-9a-f] +0+0010000 +0+0020000 +.* + 1 .data +0+[0-9a-f][0-9a-f] +0+00100[0-9a-f]+ +0+00200[0-9a-f]+ +.* + 2 .bss +0+[0-9a-f][0-9a-f] +0+00100[0-9a-f]+ +0+00200[0-9a-f]+ +.* + 3 .trail +0+[0-9a-f][0-9a-f] +0+00100[0-9a-f]+ +0+00200[0-9a-f]+ +.* diff --git a/ld/testsuite/ld-scripts/rgn-at4.t b/ld/testsuite/ld-scripts/rgn-at4.t new file mode 100644 index 0000000..0e3fec4 --- /dev/null +++ b/ld/testsuite/ld-scripts/rgn-at4.t @@ -0,0 +1,14 @@ +/* Memory region at test, >AT should propagate by default */ + +MEMORY { + ram : ORIGIN = 0x10000, LENGTH = 0x100 + rom : ORIGIN = 0x20000, LENGTH = 0x200 +} +_start = 0x1000; +SECTIONS { + .text : { *(.text) } >ram AT>rom + .data : { *(.data) } >ram + .bss : { *(.bss) } >ram + .trail : { LONG(5) } >ram + /DISCARD/ : { *(*) } +} |