This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See crosstool-NG for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi there, I've built an arm[eb]-eabi-gcc for --with-cpu=cortex-r4[f] --with-mode=thumb --with-newlib, both manually and with crosstool-ng. In all cases, I get a strange problem when building a main function with ful C runtime library support like this (include the latest version, but it happens with the little endian, and with the cortex-r4 too): $ armeb-eabi-gcc -mbig-endian -mthumb -march=armv7-r -mcpu=cortex-r4f -o alignpack alignpack.c /opt/x-tools/armeb-unknown-eabi/lib/gcc/armeb-unknown-eabi/4.7.2/../../../../armeb-unknown-eabi/bin/ld: error: /opt/x-tools/armeb-unknown-eabi/lib/gcc/armeb-unknown-eabi/4.7.2/../../../../armeb-unknown-eabi/lib/libc.a(lib_a-strlen-armv7.o): Conflicting architecture profiles A/R /opt/x-tools/armeb-unknown-eabi/lib/gcc/armeb-unknown-eabi/4.7.2/../../../../armeb-unknown-eabi/bin/ld: failed to merge target specific data of file /opt/x-tools/armeb-unknown-eabi/lib/gcc/armeb-unknown-eabi/4.7.2/../../../../armeb-unknown-eabi/lib/libc.a(lib_a-strlen-armv7.o) collect2: error: ld returned 1 exit status I'm pretty sure that when I built this same kind of compiler for a cortex-m3, it did not do this. Anyway, find attached the alignpack.c, and the crosstool-ng log. I had to use newlib-2.0.0 to make it work with the tuple armeb-xxx. I've tried additional multilib permutations, but the errors keep appearing. Any thoughts? Regards. David Fernandez
#include <stddef.h> #include <stdint.h> #define ALIGNEDP(x) __attribute__((aligned(x),packed)) #define ALIGNED(x) __attribute__((aligned(x))) struct s1 { uint32_t a; uint16_t b; uint32_t c; char d ALIGNED(16/__CHAR_BIT__); char e ALIGNED(16/__CHAR_BIT__); } ALIGNEDP(16/__CHAR_BIT__); typedef struct s1 s1_t; void main(void) { volatile int i,j,k; i = sizeof(s1_t); j = offsetof(struct s1,d); k = offsetof(struct s1,e); }
Attachment:
build.tar.bz2
Description: application/bzip
-- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |