This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

newlib for baremetal m68k coldfire v2 isa-aplus:emac microarchitecture


I am trying to build newlib for a baremetal Coldfire V2, namely, the
MCF52235CAL60. This is to match the m68k-unknown-elf tools I've recently
built using crosstool-ng.

I built the "vanilla" baremetal m68k toolchain with crosstool-ng using
the unaltered sample, which builds for the cpu32 microarchitecture.
However, I am compiling my code with the -mcpu=52235 option to gcc,
which generates Coldfire V2 code.

I am also doing a fairly "vanilla" newlib configure for the m68k (see
the attached make file).

The problem is that newlib generates code (libc.a and libm.a) for the
cpu32 microarchitecture, while I need the isa-aplus:emac
microarchitecture:

-*- mode: compilation; default-directory: "/home/hvp630-src/nmm-original/Applications/uTaskerV1.4/GNU_ColdFire/" -*-
Compilation started at Mon Oct 13 19:48:27

  make -f utaskerv1p4.mak 
  /home/yates/x-tools/m68k-unknown-elf/bin/m68k-unknown-elf-gcc
-mcpu=52235 -nostartfiles -Wall -Wstrict-prototypes
-I/home/yates/x-tools/m68k-unknown-elf/include
-I/home/hvp630-src/nmm-original/Applications/uTaskerV1.4 -L
/home/yates/x-tools/m68k-unknown-elf/lib/ -D _GNU -D _M5223X -g -Os
-Wl,-Map=uTaskerV1.4.map -Tm5225XUSB-rom.ld -o uTaskerV1.4.elf
Build/application.o Build/debug.o Build/webInterface.o Build/KeyScan.o
Build/GLCD.o Build/LCD.o Build/NetworkIndicator.o
Build/usb_application.o Build/MODBUS.o Build/modbus_app.o
Build/Startup_gnu.o Build/M5223X.o Build/eth_drv.o Build/iic_drv.o
Build/Driver.o Build/uMalloc.o Build/uTasker.o Build/Tty_drv.o
Build/uFile.o Build/Watchdog.o Build/GlobalTimer.o Build/USB_drv.o
Build/low_power.o Build/can_drv.o Build/Ethernet.o Build/arp.o
Build/dhcp.o Build/dns.o Build/ftp.o Build/http.o Build/icmp.o
Build/ip_utils.o Build/ip.o Build/pop3.o Build/smtp.o Build/tcp.o
Build/telnet.o Build/tftp.o Build/udp.o Build/webutils.o
Build/NetBIOS.o Build/snmp.o
  /home/yates/x-tools/m68k-unknown-elf/m68k-unknown-elf/bin/ld.real: m68k:cpu32 architecture of input file `/home/yates/x-tools/m68k-unknown-elf/lib//libc.a(lib_a-strcat.o)' is incompatible with m68k:isa-aplus:emac output
  /home/yates/x-tools/m68k-unknown-elf/m68k-unknown-elf/bin/ld.real: m68k:cpu32 architecture of input file `/home/yates/x-tools/m68k-unknown-elf/lib//libc.a(lib_a-strcmp.o)' is incompatible with m68k:isa-aplus:emac output
  /home/yates/x-tools/m68k-unknown-elf/m68k-unknown-elf/bin/ld.real: m68k:cpu32 architecture of input file `/home/yates/x-tools/m68k-unknown-elf/lib//libc.a(lib_a-strcpy.o)' is incompatible with m68k:isa-aplus:emac output
  /home/yates/x-tools/m68k-unknown-elf/m68k-unknown-elf/bin/ld.real: m68k:cpu32 architecture of input file `/home/yates/x-tools/m68k-unknown-elf/lib//libc.a(lib_a-strlen.o)' is incompatible with m68k:isa-aplus:emac output
  Build/application.o: In function `fnApplication':
  /home/hvp630-src/nmm-original/Applications/uTaskerV1.4/GNU_ColdFire/../application.c:920: undefined reference to `fnStartBP5_Server'
  Build/webInterface.o: In function `fnHandleWeb':
  webInterface.c:(.text+0x112c): undefined reference to `setBP5ArrayParameter'
  Build/M5223X.o: In function `_IIC_Interrupt':
  /home/hvp630-src/nmm-original/Applications/uTaskerV1.4/GNU_ColdFire/../../../Hardware/M5223X/M5223X.c:3311: undefined reference to `ucRx'
  Build/M5223X.o:(.rodata+0xf6): undefined reference to `fnBP5'
  Build/Tty_drv.o: In function `fnSciRxByte':
  Tty_drv.c:(.text+0x9f6): undefined reference to `ParseNextLetter'
  Build/http.o: In function `fnDoWebPage':
  http.c:(.text+0x640): undefined reference to `getBP5SerialNumberLength'
  http.c:(.text+0x666): undefined reference to `getBP5SerialNumber'
  collect2: error: ld returned 1 exit status
  make: *** [uTaskerV1.4.elf] Error 1
  
  Compilation exited abnormally with code 2 at Mon Oct 13 19:48:27

My question is this: How can I build newlib for the m68k so that the
libc.a and libm.a libraries are generated using the isa-aplus:emac
microarchitecture instead of the cpu32 microarchitecture?
-- 
Randy Yates
Digital Signal Labs
http://www.digitalsignallabs.com

Attachment: newlib.mak
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]