https://sourceware.org/bugzilla/show_bug.cgi?id=21099

--- Comment #2 from Jiong Wang <jiwang at gcc dot gnu.org> ---
(In reply to Alan Modra from comment #1)
> In general, strip cannot alter loaded sections, so it should not touch
> .dynsym.  That means that removing sections, whether by using strip or
> objcopy, may break executables or shared libraries.
> 
> Don't define dynamic symbols in debug sections..

Thanks for the clarification.

This issue was exposed by the following failure on arm-none-eabi.

FAIL: Strip -s libdwarf1c.so

The symbol type for "_stack" before and after strip differs

-00080000 N _stack
+00080000 A _stack

The reason seems to be it's defined after debug sections, so after those
sections deleted, the section index of "_stack" is broken.

---
. $srcdir/scripttempl/DWARF.sc

cat <<EOF

  ${TINY_DATA_SECTION}
  ${TINY_BSS_SECTION}
                        <--_stack points here and defined unconditionally
  ${STACK_ADDR+${STACK}}
---

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to