]> granicus.if.org Git - esp-idf/commitdiff
esp32 psram: Provide library name for ROM libc objects linked as PSRAM workarounds
authorAngus Gratton <angus@espressif.com>
Tue, 22 Jan 2019 03:49:17 +0000 (11:49 +0800)
committerbot <bot@espressif.com>
Wed, 20 Feb 2019 00:30:25 +0000 (00:30 +0000)
Fixes bug reported on forums where any source file ending in *lock.c or *creat.c
was being linked to IRAM.

https://esp32.com/viewtopic.php?f=13&t=8909&p=37362#p37362

components/esp32/ld/esp32.spiram.rom-functions-dram.ld
components/esp32/ld/esp32.spiram.rom-functions-iram.ld

index da59bc09c4efa2857dbc93645a1dddb662d425f0..205d9471f82c496e22a2105870e72e0e4d527ed1 100644 (file)
  This file is responsible for placing the rodata segment in DRAM.
 */
 
-    *lib_a-utoa.o(.rodata .rodata.*)
-    *lib_a-longjmp.o(.rodata .rodata.*)
-    *lib_a-setjmp.o(.rodata .rodata.*)
-    *lib_a-abs.o(.rodata .rodata.*)
-    *lib_a-div.o(.rodata .rodata.*)
-    *lib_a-labs.o(.rodata .rodata.*)
-    *lib_a-ldiv.o(.rodata .rodata.*)
-    *lib_a-quorem.o(.rodata .rodata.*)
-    *lib_a-qsort.o(.rodata .rodata.*)
-    *lib_a-utoa.o(.rodata .rodata.*)
-    *lib_a-itoa.o(.rodata .rodata.*)
-    *lib_a-atoi.o(.rodata .rodata.*)
-    *lib_a-atol.o(.rodata .rodata.*)
-    *lib_a-strtol.o(.rodata .rodata.*)
-    *lib_a-strtoul.o(.rodata .rodata.*)
-    *lib_a-wcrtomb.o(.rodata .rodata.*)
-    *lib_a-fvwrite.o(.rodata .rodata.*)
-    *lib_a-wbuf.o(.rodata .rodata.*)
-    *lib_a-wsetup.o(.rodata .rodata.*)
-    *lib_a-fputwc.o(.rodata .rodata.*)
-    *lib_a-wctomb_r.o(.rodata .rodata.*)
-    *lib_a-ungetc.o(.rodata .rodata.*)
-    *lib_a-makebuf.o(.rodata .rodata.*)
-    *lib_a-fflush.o(.rodata .rodata.*)
-    *lib_a-refill.o(.rodata .rodata.*)
-    *lib_a-s_fpclassify.o(.rodata .rodata.*)
-    *lib_a-locale.o(.rodata .rodata.*)
-    *lib_a-asctime.o(.rodata .rodata.*)
-    *lib_a-ctime.o(.rodata .rodata.*)
-    *lib_a-ctime_r.o(.rodata .rodata.*)
-    *lib_a-lcltime.o(.rodata .rodata.*)
-    *lib_a-lcltime_r.o(.rodata .rodata.*)
-    *lib_a-gmtime.o(.rodata .rodata.*)
-    *lib_a-gmtime_r.o(.rodata .rodata.*)
-    *lib_a-strftime.o(.rodata .rodata.*)
-    *lib_a-mktime.o(.rodata .rodata.*)
-    *lib_a-syswrite.o(.rodata .rodata.*)
-    *lib_a-tzset_r.o(.rodata .rodata.*)
-    *lib_a-tzset.o(.rodata .rodata.*)
-    *lib_a-toupper.o(.rodata .rodata.*)
-    *lib_a-tolower.o(.rodata .rodata.*)
-    *lib_a-toascii.o(.rodata .rodata.*)
-    *lib_a-systimes.o(.rodata .rodata.*)
-    *lib_a-time.o(.rodata .rodata.*)
-    *lib_a-bsd_qsort_r.o(.rodata .rodata.*)
-    *lib_a-qsort_r.o(.rodata .rodata.*)
-    *lib_a-gettzinfo.o(.rodata .rodata.*)
-    *lib_a-strupr.o(.rodata .rodata.*)
-    *lib_a-asctime_r.o(.rodata .rodata.*)
-    *lib_a-bzero.o(.rodata .rodata.*)
-    *lib_a-close.o(.rodata .rodata.*)
-    *lib_a-creat.o(.rodata .rodata.*)
-    *lib_a-environ.o(.rodata .rodata.*)
-    *lib_a-fclose.o(.rodata .rodata.*)
-    *lib_a-isalnum.o(.rodata .rodata.*)
-    *lib_a-isalpha.o(.rodata .rodata.*)
-    *lib_a-isascii.o(.rodata .rodata.*)
-    *lib_a-isblank.o(.rodata .rodata.*)
-    *lib_a-iscntrl.o(.rodata .rodata.*)
-    *lib_a-isdigit.o(.rodata .rodata.*)
-    *lib_a-isgraph.o(.rodata .rodata.*)
-    *lib_a-islower.o(.rodata .rodata.*)
-    *lib_a-isprint.o(.rodata .rodata.*)
-    *lib_a-ispunct.o(.rodata .rodata.*)
-    *lib_a-isspace.o(.rodata .rodata.*)
-    *lib_a-isupper.o(.rodata .rodata.*)
-    *lib_a-memccpy.o(.rodata .rodata.*)
-    *lib_a-memchr.o(.rodata .rodata.*)
-    *lib_a-memcmp.o(.rodata .rodata.*)
-    *lib_a-memcpy.o(.rodata .rodata.*)
-    *lib_a-memmove.o(.rodata .rodata.*)
-    *lib_a-memrchr.o(.rodata .rodata.*)
-    *lib_a-memset.o(.rodata .rodata.*)
-    *lib_a-open.o(.rodata .rodata.*)
-    *lib_a-rand.o(.rodata .rodata.*)
-    *lib_a-rand_r.o(.rodata .rodata.*)
-    *lib_a-read.o(.rodata .rodata.*)
-    *lib_a-rshift.o(.rodata .rodata.*)
-    *lib_a-sbrk.o(.rodata .rodata.*)
-    *lib_a-srand.o(.rodata .rodata.*)
-    *lib_a-strcasecmp.o(.rodata .rodata.*)
-    *lib_a-strcasestr.o(.rodata .rodata.*)
-    *lib_a-strcat.o(.rodata .rodata.*)
-    *lib_a-strchr.o(.rodata .rodata.*)
-    *lib_a-strcmp.o(.rodata .rodata.*)
-    *lib_a-strcoll.o(.rodata .rodata.*)
-    *lib_a-strcpy.o(.rodata .rodata.*)
-    *lib_a-strcspn.o(.rodata .rodata.*)
-    *lib_a-strdup.o(.rodata .rodata.*)
-    *lib_a-strlcat.o(.rodata .rodata.*)
-    *lib_a-strlcpy.o(.rodata .rodata.*)
-    *lib_a-strlen.o(.rodata .rodata.*)
-    *lib_a-strlwr.o(.rodata .rodata.*)
-    *lib_a-strncasecmp.o(.rodata .rodata.*)
-    *lib_a-strncat.o(.rodata .rodata.*)
-    *lib_a-strncmp.o(.rodata .rodata.*)
-    *lib_a-strncpy.o(.rodata .rodata.*)
-    *lib_a-strndup.o(.rodata .rodata.*)
-    *lib_a-strnlen.o(.rodata .rodata.*)
-    *lib_a-strrchr.o(.rodata .rodata.*)
-    *lib_a-strsep.o(.rodata .rodata.*)
-    *lib_a-strspn.o(.rodata .rodata.*)
-    *lib_a-strstr.o(.rodata .rodata.*)
-    *lib_a-strtok_r.o(.rodata .rodata.*)
-    *lib_a-strupr.o(.rodata .rodata.*)
-    *lib_a-stdio.o(.rodata .rodata.*)
-    *lib_a-syssbrk.o(.rodata .rodata.*)
-    *lib_a-sysclose.o(.rodata .rodata.*)
-    *lib_a-sysopen.o(.rodata .rodata.*)
-    *creat.o(.rodata .rodata.*)
-    *lib_a-sysread.o(.rodata .rodata.*)
-    *lib_a-syswrite.o(.rodata .rodata.*)
-    *lib_a-impure.o(.rodata .rodata.*)
-    *lib_a-tzvars.o(.rodata .rodata.*)
-    *lib_a-sf_nan.o(.rodata .rodata.*)
-    *lib_a-tzcalc_limits.o(.rodata .rodata.*)
-    *lib_a-month_lengths.o(.rodata .rodata.*)
-    *lib_a-timelocal.o(.rodata .rodata.*)
-    *lib_a-findfp.o(.rodata .rodata.*)
-    *lock.o(.rodata .rodata.*)
-    *lib_a-getenv_r.o(.rodata .rodata.*)
-    *isatty.o(.rodata .rodata.*)
-    *lib_a-fwalk.o(.rodata .rodata.*)
-    *lib_a-getenv_r.o(.rodata .rodata.*)
-    *lib_a-tzlock.o(.rodata .rodata.*)
-    *lib_a-ctype_.o(.rodata .rodata.*)
-    *lib_a-sccl.o(.rodata .rodata.*)
-    *lib_a-strptime.o(.rodata .rodata.*)
-    *lib_a-envlock.o(.rodata .rodata.*)
-    *lib_a-raise.o(.rodata .rodata.*)
-    *lib_a-strdup_r.o(.rodata .rodata.*)
-    *lib_a-system.o(.rodata .rodata.*)
-    *lib_a-strndup_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-utoa.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-longjmp.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-setjmp.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-abs.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-div.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-labs.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-ldiv.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-quorem.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-qsort.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-utoa.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-itoa.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-atoi.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-atol.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strtol.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strtoul.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-wcrtomb.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-fvwrite.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-wbuf.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-wsetup.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-fputwc.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-wctomb_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-ungetc.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-makebuf.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-fflush.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-refill.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-s_fpclassify.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-locale.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-asctime.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-ctime.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-ctime_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-lcltime.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-lcltime_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-gmtime.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-gmtime_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strftime.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-mktime.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-syswrite.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-tzset_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-tzset.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-toupper.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-tolower.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-toascii.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-systimes.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-time.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-bsd_qsort_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-qsort_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-gettzinfo.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strupr.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-asctime_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-bzero.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-close.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-creat.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-environ.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-fclose.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-isalnum.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-isalpha.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-isascii.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-isblank.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-iscntrl.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-isdigit.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-isgraph.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-islower.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-isprint.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-ispunct.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-isspace.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-isupper.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-memccpy.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-memchr.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-memcmp.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-memcpy.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-memmove.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-memrchr.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-memset.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-open.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-rand.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-rand_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-read.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-rshift.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-sbrk.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-srand.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strcasecmp.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strcasestr.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strcat.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strchr.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strcmp.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strcoll.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strcpy.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strcspn.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strdup.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strlcat.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strlcpy.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strlen.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strlwr.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strncasecmp.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strncat.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strncmp.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strncpy.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strndup.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strnlen.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strrchr.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strsep.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strspn.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strstr.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strtok_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strupr.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-stdio.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-syssbrk.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-sysclose.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-sysopen.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*creat.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-sysread.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-syswrite.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-impure.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-tzvars.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-sf_nan.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-tzcalc_limits.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-month_lengths.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-timelocal.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-findfp.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lock.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-getenv_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*isatty.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-fwalk.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-getenv_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-tzlock.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-ctype_.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-sccl.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strptime.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-envlock.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-raise.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strdup_r.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-system.o(.rodata .rodata.*)
+    *libc-psram-workaround.a:*lib_a-strndup_r.o(.rodata .rodata.*)
index 6f97fb6b15ebf709d05de7c193ceefda9e2f63d4..974b0c69d70912b84e79bfc3f3599a6ef0a5af85 100644 (file)
 */
 
 
-    *lib_a-utoa.o(.literal .text .literal.* .text.*)
-    *lib_a-longjmp.o(.literal .text .literal.* .text.*)
-    *lib_a-setjmp.o(.literal .text .literal.* .text.*)
-    *lib_a-abs.o(.literal .text .literal.* .text.*)
-    *lib_a-div.o(.literal .text .literal.* .text.*)
-    *lib_a-labs.o(.literal .text .literal.* .text.*)
-    *lib_a-ldiv.o(.literal .text .literal.* .text.*)
-    *lib_a-quorem.o(.literal .text .literal.* .text.*)
-    *lib_a-qsort.o(.literal .text .literal.* .text.*)
-    *lib_a-utoa.o(.literal .text .literal.* .text.*)
-    *lib_a-itoa.o(.literal .text .literal.* .text.*)
-    *lib_a-atoi.o(.literal .text .literal.* .text.*)
-    *lib_a-atol.o(.literal .text .literal.* .text.*)
-    *lib_a-strtol.o(.literal .text .literal.* .text.*)
-    *lib_a-strtoul.o(.literal .text .literal.* .text.*)
-    *lib_a-wcrtomb.o(.literal .text .literal.* .text.*)
-    *lib_a-fvwrite.o(.literal .text .literal.* .text.*)
-    *lib_a-wbuf.o(.literal .text .literal.* .text.*)
-    *lib_a-wsetup.o(.literal .text .literal.* .text.*)
-    *lib_a-fputwc.o(.literal .text .literal.* .text.*)
-    *lib_a-wctomb_r.o(.literal .text .literal.* .text.*)
-    *lib_a-ungetc.o(.literal .text .literal.* .text.*)
-    *lib_a-makebuf.o(.literal .text .literal.* .text.*)
-    *lib_a-fflush.o(.literal .text .literal.* .text.*)
-    *lib_a-refill.o(.literal .text .literal.* .text.*)
-    *lib_a-s_fpclassify.o(.literal .text .literal.* .text.*)
-    *lib_a-locale.o(.literal .text .literal.* .text.*)
-    *lib_a-asctime.o(.literal .text .literal.* .text.*)
-    *lib_a-ctime.o(.literal .text .literal.* .text.*)
-    *lib_a-ctime_r.o(.literal .text .literal.* .text.*)
-    *lib_a-lcltime.o(.literal .text .literal.* .text.*)
-    *lib_a-lcltime_r.o(.literal .text .literal.* .text.*)
-    *lib_a-gmtime.o(.literal .text .literal.* .text.*)
-    *lib_a-gmtime_r.o(.literal .text .literal.* .text.*)
-    *lib_a-strftime.o(.literal .text .literal.* .text.*)
-    *lib_a-mktime.o(.literal .text .literal.* .text.*)
-    *lib_a-syswrite.o(.literal .text .literal.* .text.*)
-    *lib_a-tzset_r.o(.literal .text .literal.* .text.*)
-    *lib_a-tzset.o(.literal .text .literal.* .text.*)
-    *lib_a-toupper.o(.literal .text .literal.* .text.*)
-    *lib_a-tolower.o(.literal .text .literal.* .text.*)
-    *lib_a-toascii.o(.literal .text .literal.* .text.*)
-    *lib_a-systimes.o(.literal .text .literal.* .text.*)
-    *lib_a-time.o(.literal .text .literal.* .text.*)
-    *lib_a-bsd_qsort_r.o(.literal .text .literal.* .text.*)
-    *lib_a-qsort_r.o(.literal .text .literal.* .text.*)
-    *lib_a-gettzinfo.o(.literal .text .literal.* .text.*)
-    *lib_a-strupr.o(.literal .text .literal.* .text.*)
-    *lib_a-asctime_r.o(.literal .text .literal.* .text.*)
-    *lib_a-bzero.o(.literal .text .literal.* .text.*)
-    *lib_a-close.o(.literal .text .literal.* .text.*)
-    *lib_a-creat.o(.literal .text .literal.* .text.*)
-    *lib_a-environ.o(.literal .text .literal.* .text.*)
-    *lib_a-fclose.o(.literal .text .literal.* .text.*)
-    *lib_a-isalnum.o(.literal .text .literal.* .text.*)
-    *lib_a-isalpha.o(.literal .text .literal.* .text.*)
-    *lib_a-isascii.o(.literal .text .literal.* .text.*)
-    *lib_a-isblank.o(.literal .text .literal.* .text.*)
-    *lib_a-iscntrl.o(.literal .text .literal.* .text.*)
-    *lib_a-isdigit.o(.literal .text .literal.* .text.*)
-    *lib_a-isgraph.o(.literal .text .literal.* .text.*)
-    *lib_a-islower.o(.literal .text .literal.* .text.*)
-    *lib_a-isprint.o(.literal .text .literal.* .text.*)
-    *lib_a-ispunct.o(.literal .text .literal.* .text.*)
-    *lib_a-isspace.o(.literal .text .literal.* .text.*)
-    *lib_a-isupper.o(.literal .text .literal.* .text.*)
-    *lib_a-memccpy.o(.literal .text .literal.* .text.*)
-    *lib_a-memchr.o(.literal .text .literal.* .text.*)
-    *lib_a-memcmp.o(.literal .text .literal.* .text.*)
-    *lib_a-memcpy.o(.literal .text .literal.* .text.*)
-    *lib_a-memmove.o(.literal .text .literal.* .text.*)
-    *lib_a-memrchr.o(.literal .text .literal.* .text.*)
-    *lib_a-memset.o(.literal .text .literal.* .text.*)
-    *lib_a-open.o(.literal .text .literal.* .text.*)
-    *lib_a-rand.o(.literal .text .literal.* .text.*)
-    *lib_a-rand_r.o(.literal .text .literal.* .text.*)
-    *lib_a-read.o(.literal .text .literal.* .text.*)
-    *lib_a-rshift.o(.literal .text .literal.* .text.*)
-    *lib_a-sbrk.o(.literal .text .literal.* .text.*)
-    *lib_a-srand.o(.literal .text .literal.* .text.*)
-    *lib_a-strcasecmp.o(.literal .text .literal.* .text.*)
-    *lib_a-strcasestr.o(.literal .text .literal.* .text.*)
-    *lib_a-strcat.o(.literal .text .literal.* .text.*)
-    *lib_a-strchr.o(.literal .text .literal.* .text.*)
-    *lib_a-strcmp.o(.literal .text .literal.* .text.*)
-    *lib_a-strcoll.o(.literal .text .literal.* .text.*)
-    *lib_a-strcpy.o(.literal .text .literal.* .text.*)
-    *lib_a-strcspn.o(.literal .text .literal.* .text.*)
-    *lib_a-strdup.o(.literal .text .literal.* .text.*)
-    *lib_a-strlcat.o(.literal .text .literal.* .text.*)
-    *lib_a-strlcpy.o(.literal .text .literal.* .text.*)
-    *lib_a-strlen.o(.literal .text .literal.* .text.*)
-    *lib_a-strlwr.o(.literal .text .literal.* .text.*)
-    *lib_a-strncasecmp.o(.literal .text .literal.* .text.*)
-    *lib_a-strncat.o(.literal .text .literal.* .text.*)
-    *lib_a-strncmp.o(.literal .text .literal.* .text.*)
-    *lib_a-strncpy.o(.literal .text .literal.* .text.*)
-    *lib_a-strndup.o(.literal .text .literal.* .text.*)
-    *lib_a-strnlen.o(.literal .text .literal.* .text.*)
-    *lib_a-strrchr.o(.literal .text .literal.* .text.*)
-    *lib_a-strsep.o(.literal .text .literal.* .text.*)
-    *lib_a-strspn.o(.literal .text .literal.* .text.*)
-    *lib_a-strstr.o(.literal .text .literal.* .text.*)
-    *lib_a-strtok_r.o(.literal .text .literal.* .text.*)
-    *lib_a-strupr.o(.literal .text .literal.* .text.*)
-    *lib_a-stdio.o(.literal .text .literal.* .text.*)
-    *lib_a-syssbrk.o(.literal .text .literal.* .text.*)
-    *lib_a-sysclose.o(.literal .text .literal.* .text.*)
-    *lib_a-sysopen.o(.literal .text .literal.* .text.*)
-    *creat.o(.literal .text .literal.* .text.*)
-    *lib_a-sysread.o(.literal .text .literal.* .text.*)
-    *lib_a-syswrite.o(.literal .text .literal.* .text.*)
-    *lib_a-impure.o(.literal .text .literal.* .text.*)
-    *lib_a-tzvars.o(.literal .text .literal.* .text.*)
-    *lib_a-sf_nan.o(.literal .text .literal.* .text.*)
-    *lib_a-tzcalc_limits.o(.literal .text .literal.* .text.*)
-    *lib_a-month_lengths.o(.literal .text .literal.* .text.*)
-    *lib_a-timelocal.o(.literal .text .literal.* .text.*)
-    *lib_a-findfp.o(.literal .text .literal.* .text.*)
-    *lock.o(.literal .text .literal.* .text.*)
-    *lib_a-getenv_r.o(.literal .text .literal.* .text.*)
-    *isatty.o(.literal .text .literal.* .text.*)
-    *lib_a-fwalk.o(.literal .text .literal.* .text.*)
-    *lib_a-getenv_r.o(.literal .text .literal.* .text.*)
-    *lib_a-tzlock.o(.literal .text .literal.* .text.*)
-    *lib_a-ctype_.o(.literal .text .literal.* .text.*)
-    *lib_a-sccl.o(.literal .text .literal.* .text.*)
-    *lib_a-strptime.o(.literal .text .literal.* .text.*)
-    *lib_a-envlock.o(.literal .text .literal.* .text.*)
-    *lib_a-raise.o(.literal .text .literal.* .text.*)
-    *lib_a-strdup_r.o(.literal .text .literal.* .text.*)
-    *lib_a-system.o(.literal .text .literal.* .text.*)
-    *lib_a-strndup_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-utoa.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-longjmp.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-setjmp.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-abs.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-div.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-labs.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-ldiv.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-quorem.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-qsort.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-utoa.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-itoa.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-atoi.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-atol.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strtol.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strtoul.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-wcrtomb.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-fvwrite.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-wbuf.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-wsetup.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-fputwc.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-wctomb_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-ungetc.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-makebuf.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-fflush.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-refill.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-s_fpclassify.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-locale.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-asctime.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-ctime.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-ctime_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-lcltime.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-lcltime_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-gmtime.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-gmtime_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strftime.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-mktime.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-syswrite.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-tzset_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-tzset.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-toupper.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-tolower.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-toascii.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-systimes.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-time.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-bsd_qsort_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-qsort_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-gettzinfo.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strupr.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-asctime_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-bzero.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-close.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-creat.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-environ.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-fclose.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-isalnum.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-isalpha.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-isascii.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-isblank.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-iscntrl.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-isdigit.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-isgraph.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-islower.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-isprint.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-ispunct.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-isspace.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-isupper.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-memccpy.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-memchr.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-memcmp.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-memcpy.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-memmove.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-memrchr.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-memset.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-open.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-rand.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-rand_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-read.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-rshift.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-sbrk.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-srand.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strcasecmp.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strcasestr.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strcat.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strchr.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strcmp.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strcoll.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strcpy.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strcspn.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strdup.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strlcat.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strlcpy.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strlen.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strlwr.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strncasecmp.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strncat.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strncmp.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strncpy.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strndup.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strnlen.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strrchr.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strsep.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strspn.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strstr.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strtok_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strupr.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-stdio.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-syssbrk.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-sysclose.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-sysopen.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*creat.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-sysread.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-syswrite.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-impure.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-tzvars.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-sf_nan.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-tzcalc_limits.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-month_lengths.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-timelocal.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-findfp.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lock.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-getenv_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*isatty.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-fwalk.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-getenv_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-tzlock.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-ctype_.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-sccl.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strptime.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-envlock.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-raise.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strdup_r.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-system.o(.literal .text .literal.* .text.*)
+    *libc-psram-workaround.a:*lib_a-strndup_r.o(.literal .text .literal.* .text.*)