This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/3] arm: Fix link time optimization issues


This patch series fixes a few things so that link time optimization will work.
The high-level problem is that LTO can re-order top-level assembly blocks, so
code that previously worked because one asm() block was listed before another
at global scope in a file (in this case via #include) may no longer work.

So far this was only an issue with two macros that were defined in an #include'd
header. With these patches, I have LTO working with newlib on arm.

Pat Pannuto (3):
  Remove unneeded references to arm_asm.h
  arm: Remove optpld macro
  arm: Remove RETURN macro

 newlib/libc/machine/arm/Makefile.am           |  2 +-
 newlib/libc/machine/arm/Makefile.in           |  2 +-
 newlib/libc/machine/arm/aeabi_memcpy-armv7a.S |  2 +-
 newlib/libc/machine/arm/aeabi_memmove-soft.S  |  2 --
 newlib/libc/machine/arm/aeabi_memset-soft.S   |  2 --
 newlib/libc/machine/arm/arm_asm.h             | 35 ---------------------------
 newlib/libc/machine/arm/memchr.S              |  1 -
 newlib/libc/machine/arm/strcmp-arm-tiny.S     |  2 +-
 newlib/libc/machine/arm/strcmp-armv4.S        | 12 +++++++++
 newlib/libc/machine/arm/strcmp-armv7m.S       |  6 ++---
 newlib/libc/machine/arm/strcmp.S              |  1 -
 newlib/libc/machine/arm/strcpy.c              | 20 +++++++++------
 newlib/libc/machine/arm/strlen-armv7.S        |  2 +-
 newlib/libc/machine/arm/strlen-stub.c         | 10 +++++---
 14 files changed, 38 insertions(+), 61 deletions(-)

-- 
2.11.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]