From: Gary Oblock <gary@amperecomputing.com>
To: Gary Oblock via Gcc-help <gcc-help@gcc.gnu.org>
Subject: Re: A ARM target question
Date: Fri, 17 Jun 2022 05:33:45 +0000 [thread overview]
Message-ID: <BYAPR01MB5464F7EABA729D8049FC3F5DC6AF9@BYAPR01MB5464.prod.exchangelabs.com> (raw)
In-Reply-To: <CAAxjCEzn+hm2eUShpaEmH9kLMo-rSTU71dNvMRmdqgt_wVvt2Q@mail.gmail.com>
Stefan,
I'm not at all clear which of those many config parameters are meaningfull.
I borrowed your --target and tried to build with this:
../sources/configure --prefix=$BASE/install --disable-bootstrap --enable-language=c --disable-multilib --target=arm-linux-gnueabihf
That failed like this:
echo | /home/gary/gcc_build_cross/objdir/./gcc/xgcc -B/home/gary/gcc_build_cross/objdir/./gcc/ -E -dM - | \
sed -n -e 's/^#define \([^_][a-zA-Z0-9_]*\).*/\1/p' \
-e 's/^#define \(_[^_A-Z][a-zA-Z0-9_]*\).*/\1/p' | \
sort -u > tmp-macro_list
cc1: error: no include path in which to search for stdc-predef.h
There was another error after this:
checking for arm-linux-gnueabihf-gcc... /home/gary/gcc_build_cross/objdir/./gcc/xgcc -B/home/gary/gcc_build_cross/objdir/./gcc/ -B/home/gary/gcc_build_cross/install/arm-linux-gnueabihf/bin/ -B/home/gary/gcc_build_cross/install/arm-linux-gnueabihf/lib/ -isystem /home/gary/gcc_build_cross/install/arm-linux-gnueabihf/include -isystem /home/gary/gcc_build_cross/install/arm-linux-gnueabihf/sys-include
checking for suffix of object files... configure: error: in `/home/gary/gcc_build_cross/objdir/arm-linux-gnueabihf/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details
make[1]: *** [Makefile:15371: configure-target-libgcc] Error 1
Any idea what went wrong? Note I looked at the config.log and there were lots of
errors there too (not that they were helpful to me.)
Many years ago I set up a simple GCC cross compiler for mips
as the starting point for the person creating a new target for a new chip.
It didn't seems so crazy hard as this is proving to be.
Thanks,
Gary
________________________________
From: Stefan Ring <stefanrin@gmail.com>
Sent: Thursday, June 16, 2022 12:45 AM
To: Gary Oblock <gary@amperecomputing.com>
Subject: Re: A ARM target question
[EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please be mindful of safe email handling and proprietary information protection practices.]
On Thu, Jun 16, 2022 at 5:36 AM Gary Oblock <gary@amperecomputing.com> wrote:
>
> Stefan,
>
> Frankly, I don't know. But, honestly, I don't think it matters if it's 64 machine running
> in Thumb-2 mode for if it's 32-bit machine. I'm trying to pry this out of my FW group
> but like I said I'm pretty sure that it doesn't matter. What does matter is it has to
> use the GCC 12 code base because of the things GCC 12 is capable of doing.
> This is a big experiment to see what if and not a production quality effort.
>
> I'm not sure GCC 12 or the latest binutils support Thumb-2. Do you know if they do?
> If they do what would I used for "--target=*-*-*" ?
It would be preferable to respond to the mailing list. I just checked
in an Ubuntu impish chroot. It’s gcc 11.2, but I’m certain it will
still work with gcc 12. For arm it’s usually a good idea to follow
what Ubuntu does.
(impish32)sr@odroid:~$ cat h.c
#include <stdio.h>
int main()
{
printf("Hello thumb!\n");
return 0;
}
(impish32)sr@odroid:~$ gcc -c -O2 h.c
(impish32)sr@odroid:~$ objdump -d h.o
h.o: file format elf32-littlearm
Disassembly of section .text.startup:
00000000 <main>:
0: 4803 ldr r0, [pc, #12] ; (10 <main+0x10>)
2: b508 push {r3, lr}
4: 4478 add r0, pc
6: f7ff fffe bl 0 <puts>
a: 2000 movs r0, #0
c: bd08 pop {r3, pc}
e: bf00 nop
10: 00000008 .word 0x00000008
Sure looks like Thumb 2 to me.
AFAIK you don’t need to do anything to enable Thumb support, but if
it’s not the default by configuring with --with-mode=thumb, you can
always enable it with -mthumb.
(impish32)sr@odroid:~$ gcc h.o
(impish32)sr@odroid:~$ ./a.out
Hello thumb!
(impish32)sr@odroid:~$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/11/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
11.2.0-7ubuntu2'
--with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs
--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2
--prefix=/usr --with-gcc-major-version-only --program-suffix=-11
--program-prefix=arm-linux-gnueabihf- --enable-shared
--enable-linker-build-id --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --libdir=/usr/lib
--enable-nls --enable-bootstrap --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object
--disable-libitm --disable-libquadmath --disable-libquadmath-support
--enable-plugin --enable-default-pie --with-system-zlib
--enable-libphobos-checking=release --with-target-system-zlib=auto
--enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions
--with-arch=armv7-a+fp --with-float=hard --with-mode=thumb
--disable-werror --enable-checking=release --build=arm-linux-gnueabihf
--host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.2.0 (Ubuntu 11.2.0-7ubuntu2)
next prev parent reply other threads:[~2022-06-17 5:33 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-14 4:57 Gary Oblock
2022-06-14 18:09 ` fedor_qd
2022-06-15 17:31 ` Stefan Ring
2022-06-16 9:06 ` Richard Earnshaw
[not found] ` <BYAPR01MB54649B0092B3C6403A697BC6C6AC9@BYAPR01MB5464.prod.exchangelabs.com>
[not found] ` <CAAxjCEzn+hm2eUShpaEmH9kLMo-rSTU71dNvMRmdqgt_wVvt2Q@mail.gmail.com>
2022-06-17 5:33 ` Gary Oblock [this message]
2022-06-17 11:59 ` Jonathan Wakely
2022-06-22 2:54 Gary Oblock
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BYAPR01MB5464F7EABA729D8049FC3F5DC6AF9@BYAPR01MB5464.prod.exchangelabs.com \
--to=gary@amperecomputing.com \
--cc=gcc-help@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).