Re: devel/arm-none-eabi-newlib headers inconsistencies (not functional) or am I misusing something?

From: Mark Millard <marklmi_at_yahoo.com>
Date: Fri, 26 May 2023 20:13:52 UTC
On May 26, 2023, at 12:32, Mark Millard <marklmi@yahoo.com> wrote:

> José_Pérez <fbl_at_aoek.com> wrote on
> Date: Fri, 26 May 2023 16:53:15 UTC :
> 
>> a source as simple as this does not compile with 
>> devel/arm-none-eabi-newlib installed
>> 
>> #include <stdio.h>
>> 
>> int main(int argc, char *argv[]) {
>> return 0;
>> }
>> 
>> % arm-none-eabi-gcc break_arm.c
>> . . . list of errors and such . . .
> 
> 
> Looks like you did nothing to tell arm-none-eabi-gcc
> to use arm-none-eabi-newlib materials . It will not
> do so automatically from what I can tell.
> (arm-none-eabi-gcc is not limited to use of
> arm-none-eabi-newlib and arm-none-eabi-newlib is
> not a default binding for arm-none-eabi-gcc so far
> as I can tell.)
> 
> In other words, if you did not have
> devel/arm-none-eabi-newlib installed, and tried the
> "arm-none-eabi-gcc break_arm.c" command, I'd expect
> the same results that you report: arm-none-eabi-newlib
> is simply not being used at all, if I understand
> right.
> 
> Looks like you need to figure out how to tell
> arm-none-eabi-gcc to use the arm-none-eabi-newlib
> materials. (Not something I've ever done.)

I tried installing arm-none-eabi-newlib and seeing
what files it adds ( note the lack of lib/gcc/ in
the paths):

# pkg info -l arm-none-eabi-newlib
arm-none-eabi-newlib-2.4.0_2:
        /usr/local/arm-none-eabi/include/_ansi.h
        /usr/local/arm-none-eabi/include/_newlib_version.h
        /usr/local/arm-none-eabi/include/_syslist.h
        /usr/local/arm-none-eabi/include/alloca.h
        /usr/local/arm-none-eabi/include/ar.h
        /usr/local/arm-none-eabi/include/argz.h
        /usr/local/arm-none-eabi/include/assert.h
        /usr/local/arm-none-eabi/include/complex.h
        /usr/local/arm-none-eabi/include/ctype.h
        /usr/local/arm-none-eabi/include/dirent.h
        /usr/local/arm-none-eabi/include/envlock.h
        /usr/local/arm-none-eabi/include/envz.h
        /usr/local/arm-none-eabi/include/errno.h
        /usr/local/arm-none-eabi/include/fastmath.h
        /usr/local/arm-none-eabi/include/fcntl.h
        /usr/local/arm-none-eabi/include/fnmatch.h
        /usr/local/arm-none-eabi/include/getopt.h
        /usr/local/arm-none-eabi/include/glob.h
        /usr/local/arm-none-eabi/include/grp.h
        /usr/local/arm-none-eabi/include/iconv.h
        /usr/local/arm-none-eabi/include/ieeefp.h
        /usr/local/arm-none-eabi/include/inttypes.h
        /usr/local/arm-none-eabi/include/langinfo.h
        /usr/local/arm-none-eabi/include/libgen.h
        /usr/local/arm-none-eabi/include/limits.h
        /usr/local/arm-none-eabi/include/locale.h
        /usr/local/arm-none-eabi/include/machine/_arc4random.h
        /usr/local/arm-none-eabi/include/machine/_default_types.h
        /usr/local/arm-none-eabi/include/machine/_types.h
        /usr/local/arm-none-eabi/include/machine/ansi.h
        /usr/local/arm-none-eabi/include/machine/endian.h
        /usr/local/arm-none-eabi/include/machine/fastmath.h
        /usr/local/arm-none-eabi/include/machine/ieeefp.h
        /usr/local/arm-none-eabi/include/machine/malloc.h
        /usr/local/arm-none-eabi/include/machine/param.h
        /usr/local/arm-none-eabi/include/machine/setjmp-dj.h
        /usr/local/arm-none-eabi/include/machine/setjmp.h
        /usr/local/arm-none-eabi/include/machine/stdlib.h
        /usr/local/arm-none-eabi/include/machine/termios.h
        /usr/local/arm-none-eabi/include/machine/time.h
        /usr/local/arm-none-eabi/include/machine/types.h
        /usr/local/arm-none-eabi/include/malloc.h
        /usr/local/arm-none-eabi/include/math.h
        /usr/local/arm-none-eabi/include/newlib.h
        /usr/local/arm-none-eabi/include/paths.h
        /usr/local/arm-none-eabi/include/pthread.h
        /usr/local/arm-none-eabi/include/pwd.h
        /usr/local/arm-none-eabi/include/reent.h
        /usr/local/arm-none-eabi/include/regdef.h
        /usr/local/arm-none-eabi/include/regex.h
        /usr/local/arm-none-eabi/include/sched.h
        /usr/local/arm-none-eabi/include/search.h
        /usr/local/arm-none-eabi/include/setjmp.h
        /usr/local/arm-none-eabi/include/signal.h
        /usr/local/arm-none-eabi/include/spawn.h
        /usr/local/arm-none-eabi/include/stdatomic.h
        /usr/local/arm-none-eabi/include/stdint.h
        /usr/local/arm-none-eabi/include/stdio.h
        /usr/local/arm-none-eabi/include/stdio_ext.h
        /usr/local/arm-none-eabi/include/stdlib.h
        /usr/local/arm-none-eabi/include/string.h
        /usr/local/arm-none-eabi/include/strings.h
        /usr/local/arm-none-eabi/include/sys/_default_fcntl.h
        /usr/local/arm-none-eabi/include/sys/_intsup.h
        /usr/local/arm-none-eabi/include/sys/_sigset.h
        /usr/local/arm-none-eabi/include/sys/_stdint.h
        /usr/local/arm-none-eabi/include/sys/_timespec.h
        /usr/local/arm-none-eabi/include/sys/_timeval.h
        /usr/local/arm-none-eabi/include/sys/_types.h
        /usr/local/arm-none-eabi/include/sys/cdefs.h
        /usr/local/arm-none-eabi/include/sys/config.h
        /usr/local/arm-none-eabi/include/sys/custom_file.h
        /usr/local/arm-none-eabi/include/sys/dir.h
        /usr/local/arm-none-eabi/include/sys/dirent.h
        /usr/local/arm-none-eabi/include/sys/errno.h
        /usr/local/arm-none-eabi/include/sys/fcntl.h
        /usr/local/arm-none-eabi/include/sys/features.h
        /usr/local/arm-none-eabi/include/sys/file.h
        /usr/local/arm-none-eabi/include/sys/iconvnls.h
        /usr/local/arm-none-eabi/include/sys/lock.h
        /usr/local/arm-none-eabi/include/sys/param.h
        /usr/local/arm-none-eabi/include/sys/queue.h
        /usr/local/arm-none-eabi/include/sys/reent.h
        /usr/local/arm-none-eabi/include/sys/resource.h
        /usr/local/arm-none-eabi/include/sys/sched.h
        /usr/local/arm-none-eabi/include/sys/select.h
        /usr/local/arm-none-eabi/include/sys/signal.h
        /usr/local/arm-none-eabi/include/sys/stat.h
        /usr/local/arm-none-eabi/include/sys/stdio.h
        /usr/local/arm-none-eabi/include/sys/string.h
        /usr/local/arm-none-eabi/include/sys/syslimits.h
        /usr/local/arm-none-eabi/include/sys/time.h
        /usr/local/arm-none-eabi/include/sys/timeb.h
        /usr/local/arm-none-eabi/include/sys/times.h
        /usr/local/arm-none-eabi/include/sys/timespec.h
        /usr/local/arm-none-eabi/include/sys/tree.h
        /usr/local/arm-none-eabi/include/sys/types.h
        /usr/local/arm-none-eabi/include/sys/unistd.h
        /usr/local/arm-none-eabi/include/sys/utime.h
        /usr/local/arm-none-eabi/include/sys/wait.h
        /usr/local/arm-none-eabi/include/tar.h
        /usr/local/arm-none-eabi/include/termios.h
        /usr/local/arm-none-eabi/include/tgmath.h
        /usr/local/arm-none-eabi/include/threads.h
        /usr/local/arm-none-eabi/include/time.h
        /usr/local/arm-none-eabi/include/unctrl.h
        /usr/local/arm-none-eabi/include/unistd.h
        /usr/local/arm-none-eabi/include/utime.h
        /usr/local/arm-none-eabi/include/utmp.h
        /usr/local/arm-none-eabi/include/wchar.h
        /usr/local/arm-none-eabi/include/wctype.h
        /usr/local/arm-none-eabi/include/wordexp.h
        /usr/local/arm-none-eabi/lib/aprofile-validation.specs
        /usr/local/arm-none-eabi/lib/aprofile-ve.specs
        /usr/local/arm-none-eabi/lib/cpu-init/rdimon-aem.o
        /usr/local/arm-none-eabi/lib/crt0.o
        /usr/local/arm-none-eabi/lib/iq80310.specs
        /usr/local/arm-none-eabi/lib/libc.a
        /usr/local/arm-none-eabi/lib/libg.a
        /usr/local/arm-none-eabi/lib/libgloss-linux.a
        /usr/local/arm-none-eabi/lib/libm.a
        /usr/local/arm-none-eabi/lib/libnosys.a
        /usr/local/arm-none-eabi/lib/librdimon.a
        /usr/local/arm-none-eabi/lib/librdpmon.a
        /usr/local/arm-none-eabi/lib/linux-crt0.o
        /usr/local/arm-none-eabi/lib/linux.specs
        /usr/local/arm-none-eabi/lib/nano.specs
        /usr/local/arm-none-eabi/lib/nosys.specs
        /usr/local/arm-none-eabi/lib/pid.specs
        /usr/local/arm-none-eabi/lib/rdimon-crt0.o
        /usr/local/arm-none-eabi/lib/rdimon.specs
        /usr/local/arm-none-eabi/lib/rdpmon-crt0.o
        /usr/local/arm-none-eabi/lib/rdpmon.specs
        /usr/local/arm-none-eabi/lib/redboot-crt0.o
        /usr/local/arm-none-eabi/lib/redboot-syscalls.o
        /usr/local/arm-none-eabi/lib/redboot.ld
        /usr/local/arm-none-eabi/lib/redboot.specs

May be that will help.

===
Mark Millard
marklmi at yahoo.com