arm-eabi fails in libc/sys/arm/: No rule to make target 'lib_a-trap.o', needed by 'lib.a'.

Mike Frysinger <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <Yfi73iw5tZ/8XHXZ@vapier>
On 31 Jan 2022 16:08, Richard Earnshaw wrote:
> This patch seems to have broken arm newlib builds (at least, when not 
> using libgloss).  I'm seeing:
> 
> make[5]: Entering directory 
> '/work/rearnsha/scratch/nightly/arm/master/arm-eabi/
> newlib/libc/sys/arm'
>    CC       lib_a-access.o
>    CC       lib_a-aeabi_atexit.o
> make[5]: *** No rule to make target 'lib_a-trap.o', needed by 'lib.a'. Stop.
> 
> And indeed, the Makefile in that directory now lacks anything to build 
> lib_a-trap.o from trap.S.  Something explicit is needed because of the 
> non-standard file rename that we use.

this patch series is unrelated.  this is due to a previous patch of mine:
newlib: delete (most) redundant lib_a_CCASFLAGS=$(AM_CCASFLAGS)

this is because i think newlib was relying on automake behavior that is
undocumented or unintended.  that said, i'm not sure why this Makefile.am
is written the way it is.  it'd be a lot simpler like:

--- a/newlib/libc/sys/arm/Makefile.am
+++ b/newlib/libc/sys/arm/Makefile.am
@@ -6,16 +6,10 @@ AM_CCASFLAGS = $(AM_CPPFLAGS)
 
 noinst_LIBRARIES = lib.a
 
+lib_a_SOURCES = access.c aeabi_atexit.c
 if MAY_SUPPLY_SYSCALLS
-extra_objs = $(lpfx)libcfunc.o $(lpfx)trap.o $(lpfx)syscalls.o
-else
-extra_objs =
+lib_a_SOURCES += libcfunc.c trap.S syscalls.c
 endif
-
-lib_a_SOURCES = access.c aeabi_atexit.c
-lib_a_LIBADD = $(extra_objs)
-EXTRA_lib_a_SOURCES = trap.S syscalls.c libcfunc.c
-lib_a_DEPENDENCIES = $(extra_objs)
 lib_a_CFLAGS = $(AM_CFLAGS)
 
 if MAY_SUPPLY_SYSCALLS

maybe Jeff can remember why it was written this way since it comes from:

commit 313f13497935d2831e76f9b8b61ccc762dc1cc65
Author: Jeff Johnston <[email protected]>
Date:   Sat Feb 8 04:30:58 2003 +0000

    2003-02-07  Jeff Johnston  <[email protected]>

            * acinclude.m4 (--disable-newlib-supplied-syscalls): New configuration
            option to allow disabling of syscalls being supplied in newlib.
            * aclocal.m4: Regenerated.
            * configure: Ditto.
            * configure.host: Add support of new configuration option and add
            -D__NO_SYSCALLS__ if newlib supplied syscalls are disabled.
            * doc/aclocal.m4: Regenerated.
            * doc/configure: Ditto.
            * libc/*aclocal.m4: Ditto.
            * libc/*configure: Ditto.
            * libm/*aclocal.m4: Ditto.
            * libm/*configure: Ditto.
            * libc/sys/arm/Makefile.am: Don't build syscalls.o if new option
            is disabled.
-mike
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEuQK1JxMl+JKsJRrUQWM7n+g39YEFAmH4u94ACgkQQWM7n+g3
9YFsjBAA0FUz+0xm8urAgpF8GNbu+VIfmIiepZA4dewz+Izwnd3KNT9y2iAa2B4f
/mCvM2iKbqgao4I2nU/93TL4KAAgDVTwnkVPZ/6XFSIZgc6pGulVWNXr1HCWmDog
EZL2WOEsvn6dEotIHBIConGR97wbXKTcMPuoQ09B8n4B8eWDGF3384KOIinsybm5
0QnFn+fS0Jzvn5cjiAuQhD2fTOtkePj+sutJZVwicT0NHq7bm25KLIymXpHV3ADw
NXdFIdiQDK7FF436EA3t103+xyMGvDBVDeOEKcFMzogKHNVsIdytkcfeXBe84Hhr
4+Wm9yTE0Cp+oD3H9wyvynrvuKxH4y7nm+ct1XZAmaUZsDySN3JEY3NwiwOjDl21
vB5UBp1vx2j558i048xphTrcia//HkzbJ/GeAgimegbRNPogp+kK920jWL2CovIl
XMDNGtQVW08oRF4i/LvPaaawZE8xSXAOU/WqVpXB7kNO2s6o68MCeBlXsOXTNr+x
BvyneYmc4pzfBRgPVOXhRLSVz4VjZRbMLwyP//0D2YGHPg5ihUXDo5fB25/ThSxe
psxDIZU0Fggff8lwZjHiUSdMDK9BazOB1yXOF5SIN9i7DMjjZlUwCmR6NfFzWGG0
4r9xPc7HSCLqwFkP3yWPuGSEtFVoWamu2LqaEA5myjJVNP0mvgw=
=vBB4
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.