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

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On May 26, 2023, at 12:32, Mark Millard <[email protected]> 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
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.