View previous topic :: View next topic |
Author |
Message |
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54587 Location: 56N 3W
|
Posted: Sun Mar 27, 2016 2:17 pm Post subject: Raspberry Pi 3 - 64 Bit Operation |
|
|
Team,
I'm trying to get a Raspberry Pi 3 to work in 64 bit mode. I've got lots of bits to put together, including some userspace things in a cross root.
So far I have
a 3.3v USB to serial 'dofer'
a 64 bit Pi3 uboot
a 64 bit Pi3 kernel The idea being that uboot leaves the Pi in the right privilege level for the kernel to run and hands over to the kernel.
I get to interact with the Pi using minicom because thats about all that works in 64 bit mode so far.
I'm building as much userspace as possible with a cross dev toolchain. However one of the key packages - gcc fails.
The build log finishes with
Code: | /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../libbacktrace/.libs/libbacktrace.a(state.o): Relocations in generic ELF (EM: 183)
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../libbacktrace/.libs/libbacktrace.a(state.o): Relocations in generic ELF (EM: 183)
../libbacktrace/.libs/libbacktrace.a: error adding symbols: File in wrong format | so its clearly using the wrong linker, which is then choking on an aarch64 ELF.
aarch64-armv8a-linux-gnueabi-emerge --info =sys-devel/gcc-5.3.0::gentoo
Build log
aarch64-armv8a-linux-gnueabi-emerge -pqv =sys-devel/gcc-5.3.0::gentoo
A pointer or two would be very welcome _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
Posted: Sun Mar 27, 2016 2:38 pm Post subject: |
|
|
Could you provide the kernel config and the uboot?
I would try to get a RPi3 buildroot image. There is nearly perfect cross compile support in it. With that staging point in 64 bit aarch userland we could get a 64bit gcc on gentoo _________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54587 Location: 56N 3W
|
Posted: Sun Mar 27, 2016 3:10 pm Post subject: |
|
|
schorsch_76,
I'm following the instructions on the Raspberry pi forum.
I've just found that there is a gotcha or two with the serial console too.
Serial was ever thus :) It may not matter in 64 bit mode though.
As I say, I've only built stuff so far. I've not actually tested anything yet. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
Posted: Sun Mar 27, 2016 6:30 pm Post subject: |
|
|
I git now the 64 bit kernel booting following the mentioned thread in the raspberry forum. But it still panics because of no userland Now i try to setup the buildroot image with an gcc in it. Video and audio is not yet working. All over serial line
Code: | U-Boot> boot
reading bcm2837-rpi-3-b.dtb
5126 bytes read in 70 ms (71.3 KiB/s)
reading image
8786944 bytes read in 3444 ms (2.4 MiB/s)
## Flattened Device Tree blob at 00000100
Booting using the fdt blob at 0x000100
Loading Device Tree to 000000003ab37000, end 000000003ab3b405 ... OK
Starting kernel ...
Booting Linux on physical CPU 0x0
Linux version 4.5.0+ (georg@hammerhead) (gcc version 5.3.0 (Gentoo 5.3.0 p1.0, pie-0.6.5) ) #1 SMP PREEMPT Sun Mar 27 19:44:14 CEST 2016
Boot CPU: AArch64 Processor [410fd034]
efi: Getting EFI parameters from FDT:
efi: UEFI not found.
cma: Reserved 16 MiB at 0x0000000039800000
/cpus/cpu@1: missing enable-method property
/cpus/cpu@2: missing enable-method property
/cpus/cpu@3: missing enable-method property
PERCPU: Embedded 20 pages/cpu @ffffffc03afda000 s41472 r8192 d32256 u81920
Detected VIPT I-cache on CPU0
CPU features: enabling workaround for ARM erratum 845719
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 237888
Kernel command line: dwc_otg.lpm_enable=0 console=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
PID hash table entries: 4096 (order: 3, 32768 bytes)
Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
software IO TLB [mem 0x34a00000-0x38a00000] (64MB) mapped at [ffffffc034a00000-ffffffc0389fffff]
Memory: 857380K/966656K available (5670K kernel code, 401K rwdata, 2140K rodata, 360K init, 219K bss, 92892K reserved, 16384K cma-reserved)
Virtual kernel memory layout:
vmalloc : 0xffffff8000000000 - 0xffffffbdbfff0000 ( 246 GB)
vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000 ( 8 GB maximum)
0xffffffbdc0000000 - 0xffffffbdc0ec0000 ( 14 MB actual)
fixed : 0xffffffbffa7fd000 - 0xffffffbffac00000 ( 4108 KB)
PCI I/O : 0xffffffbffae00000 - 0xffffffbffbe00000 ( 16 MB)
modules : 0xffffffbffc000000 - 0xffffffc000000000 ( 64 MB)
memory : 0xffffffc000000000 - 0xffffffc03b000000 ( 944 MB)
.init : 0xffffffc000823000 - 0xffffffc00087d000 ( 360 KB)
.text : 0xffffffc000080000 - 0xffffffc000822b94 ( 7819 KB)
.data : 0xffffffc00087d000 - 0xffffffc0008e1400 ( 401 KB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
Build-time adjustment of leaf fanout to 64.
RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=1.
RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=1
NR_IRQS:64 nr_irqs:64 0
sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 2147483647500ns
clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275 ns
bcm2835: system timer (irq = 35)
Architected cp15 timer(s) running at 19.20MHz (phys).
clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
Console: colour dummy device 80x25
Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=76800)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)
ASID allocator initialised with 65536 entries
EFI services will not be available.
Brought up 1 CPUs
SMP: Total of 1 processors activated.
CPU: All CPU(s) started at EL2
alternatives: patching kernel code
devtmpfs: initialized
DMI not present or invalid.
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
cpuidle: using governor ladder
cpuidle: using governor menu
vdso: 2 pages (1 code @ ffffffc000885000, 1 data @ ffffffc000884000)
hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
DMA: preallocated 256 KiB pool for atomic allocations
Serial: AMBA PL011 UART driver
HugeTLB registered 2 MB page size, pre-allocated 0 pages
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
dmi: Firmware registration failed.
clocksource: Switched to clocksource arch_sys_counter
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
FS-Cache: Loaded
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 5, 131072 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
kvm [1]: error: no compatible GIC node found
kvm [1]: timer IRQ4
kvm [1]: 8-bit VMID
kvm [1]: Hyp mode initialized successfully
futex hash table entries: 256 (order: 3, 32768 bytes)
audit: initializing netlink subsys (disabled)
audit: type=2000 audit(0.139:1): initialized
FS-Cache: Netfs 'nfs' registered for caching
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
fuse init (API version 7.24)
9p: Installing v9fs 9p2000 file system support
io scheduler noop registered
io scheduler deadline registered (default)
io scheduler cfq registered
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
Unable to detect cache hierarchy from DT for CPU 0
loop: module loaded
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
usbcore: registered new interface driver smsc95xx
3f980000.usb supply vusb_d not found, using dummy regulator
3f980000.usb supply vusb_a not found, using dummy regulator
dwc2 3f980000.usb: Configuration mismatch. dr_mode forced to host
dwc2 3f980000.usb: DWC OTG Controller
dwc2 3f980000.usb: new USB bus registered, assigned bus number 1
dwc2 3f980000.usb: irq 41, io mem 0x00000000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ehci-platform: EHCI generic platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci-pci: OHCI PCI platform driver
ohci-platform: OHCI generic platform driver
usbcore: registered new interface driver usb-storage
mousedev: PS/2 mouse device common for all mice
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
Synopsys Designware Multimedia Card Interface Driver
sdhci-pltfm: SDHCI platform and OF driver helper
ledtrig-cpu: registered to indicate activity on CPUs
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered protocol family 17
9pnet: Installing 9P2000 support
Key type dns_resolver registered
Registered cp15_barrier emulation handler
Registered setend emulation handler
registered taskstats version 1
3f201000.uart: ttyAMA0 at MMIO 0x3f201000 (irq = 72, base_baud = 0) is a PL011 rev2
usb 1-1: new high-speed USB device number 2 using dwc2
usb 1-1: device descriptor read/all, error -61
console [ttyAMA0] enabled
mmc0: SDHCI controller on 3f300000.sdhci [3f300000.sdhci] using PIO
hctosys: unable to open rtc device (rtc0)
uart-pl011 3f201000.uart: no DMA platform data
Waiting for root device /dev/mmcblk0p2...
mmc0: new SD card at address 0002
mmcblk0: mmc0:0002 00000 1.87 GiB
mmcblk0: p1
usb 1-1: new high-speed USB device number 3 using dwc2
VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -6
Please append a correct "root=" boot option; here are the available partitions:
b300 1955840 mmcblk0 driver: mmcblk
b301 131072 mmcblk0p1 00000000-01
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.5.0+ #1
Hardware name: Raspberry Pi 3 Model B (DT)
Call trace:
[<ffffffc000089888>] dump_backtrace+0x0/0x1a8
[<ffffffc000089a44>] show_stack+0x14/0x20
[<ffffffc000349a0c>] dump_stack+0x94/0xb8
[<ffffffc00014e4ec>] panic+0x10c/0x250
[<ffffffc000823f2c>] mount_block_root+0x1b0/0x28c
[<ffffffc000824120>] mount_root+0x118/0x130
[<ffffffc000824274>] prepare_namespace+0x13c/0x184
[<ffffffc000823b3c>] kernel_init_freeable+0x1c8/0x1ec
[<ffffffc0005f7910>] kernel_init+0x10/0xe0
[<ffffffc000085cd0>] ret_from_fork+0x10/0x40
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
usb 1-1: device descriptor read/all, error -61
usb 1-1: new high-speed USB device number 4 using dwc2
usb 1-1: device descriptor read/8, error -71
usb 1-1: device descriptor read/8, error -71
usb 1-1: new high-speed USB device number 5 using dwc2
usb 1-1: device descriptor read/8, error -71
usb 1-1: device descriptor read/8, error -71
usb usb1-port1: unable to enumerate USB device
|
Not bad .... _________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54587 Location: 56N 3W
|
Posted: Sun Mar 27, 2016 9:45 pm Post subject: |
|
|
schorsch_76,
Well done. I only get as far as Code: | U-Boot> fatload mmc 0:1 0x100 bcm2837-rpi-3-b.dtb
reading bcm2837-rpi-3-b.dtb
5126 bytes read in 42 ms (119.1 KiB/s)
U-Boot> fatload mmc 0:1 0x2000000 image
reading image
8786944 bytes read in 2496 ms (3.4 MiB/s)
U-Boot> booti 0x2000000
Starting kernel ... | Then nothing.
I guess the kernel doesn't go to 0x2000000 or is not self relocating.
It didn't help that I mounted the SD card as -t msdos, rather than -t vfat. My bcm2837-rpi-3-b.dtb vanished so I was using the wrong file.
How do you get to use Do you pack your kernel and dts files together with mkimage?
What command do you use.
Its encouraging that we both have the same size files. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
Posted: Sun Mar 27, 2016 9:56 pm Post subject: |
|
|
So, i got the buildroot userland running
Code: | Welcome to Buildroot
buildroot login: root
# ls
# cat /proc/cmdline
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
# cat /proc/version
Linux version 4.5.0+ (georg@hammerhead) (gcc version 5.3.0 (Gentoo 5.3.0 p1.0, pie-0.6.5) ) #1 SMP PREEMPT Sun Mar 27 19:44:14 CEST 2016
# cat /proc/cpuinfo
processor : 0
BogoMIPS : 38.40
Features : fp asimd evtstrm crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
|
@Neddy: I guess you need the right patched u-boot version:
I used:
Code: | georg@hammerhead ~/intern/Dokumente/Entwicklung/rpi3/src/u-boot-rpi3 $ git remote -vv
origin https://github.com/zeldin/u-boot-rpi3.git (fetch)
origin https://github.com/zeldin/u-boot-rpi3.git (push)
commit 96a6c2f7ad51d7141e2e56966871d097f3ea0bad
Author: Marcus Comstedt <marcus@mc.pp.se>
Date: Sun Mar 13 01:00:36 2016 +0100
Add support for Raspberry Pi 3 in 64-bit mode
and this kernel:
rpi3 https://github.com/zeldin/linux.git
commit 60c29c20d7ecc521ccf1ffe1fd58faf55bb926b4
Author: Marcus Comstedt <marcus@mc.pp.se>
Date: Sun Mar 20 13:09:29 2016 +0100
arm64: Update the defconfig for RPi3 |
This command line to get the tty:
Code: | # cat /proc/cmdline
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait |
_________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
Posted: Sun Mar 27, 2016 9:58 pm Post subject: |
|
|
My uboot environment is:
Code: | U-Boot 2016.03-rc3-g96a6c2f-dirty (Mar 27 2016 - 19:14:26 +0200)
DRAM: 944 MiB
RPI: Board rev 0x8 unknown
RPI Unknown model (0xa02082)
MMC: bcm2835_sdhci: 0
reading uboot.env
In: serial
Out: lcd
Err: lcd
Net: Net Initialization Skipped
No ethernet found.
starting USB...
USB0: Core Release: 2.80a
scanning bus 0 for devices... 3 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
scanning usb for ethernet devices...
Error: sms0 address not set.
Warning: failed to set MAC address
1 Ethernet Device(s) found
Hit any key to stop autoboot: 0
U-Boot> printenv
arch=arm
baudrate=115200
board=rpi_3
board_name=Unknown model
board_rev=0x8
board_rev_scheme=1
board_revision=0xA02082
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_targets=mmc0 usb0 pxe dhcp
bootargs=dwc_otg.lpm_enable=0 console=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
bootcmd=run fdt_load ; run linux_load ; booti $loadaddr - $fdt_addr_r
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi
bootcmd_mmc0=setenv devnum 0; run mmc_boot
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
bootcmd_usb0=setenv devnum 0; run usb_boot
bootdelay=2
cpu=armv8
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
ethact=sms0
fdt_addr_r=0x00000100
fdt_high=ffffffff
fdt_load=fatload mmc 0:1 $fdt_addr_r $fdtfile
fdtfile=bcm2837-rpi-3-b.dtb
fileaddr=200000
filesize=861400
initrd_high=ffffffff
kernel_addr_r=0x01000000
linux_load=fatload mmc 0:1 $loadaddr image
loadaddr=0x00200000
mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi
preboot=usb start
pxefile_addr_r=0x00100000
ramdisk_addr_r=0x02100000
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; de
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype e
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}extlinux/extlinux.conf; then echo Found ${prefix}extlinux/extlinux.conf; run boot_ei
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}e
scriptaddr=0x02000000
serial#=000000008ea586f8
soc=bcm283x
stderr=serial,lcd
stdin=serial,usbkbd
stdout=serial,lcd
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi
vendor=raspberrypi
Environment size: 2697/16380 bytes
|
In fact it is nearly default: I packed this into the uboot auto start.
Code: | fatload mmc 0:1 $fdt_addr_r bcm2837-rpi-3-b.dtb
fatload mmc 0:1 $loadaddr image
booti $loadaddr - $fdt_addr_r |
You can enter these commands into the uboot to start the image. Important is afaik also the cmdline.txt
Code: | cat p1/config.txt
dtoverlay=pi3-miniuart-bt-overlay
kernel=u-boot.bin
kernel_old=1
arm_control=0x200
disable_commandline_tags=1
|
_________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage
Last edited by schorsch_76 on Sun Mar 27, 2016 10:18 pm; edited 1 time in total |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
Posted: Sun Mar 27, 2016 10:15 pm Post subject: |
|
|
The explanation is more useful i think, but i leave the listing abouve for completeness:
I added in the u boot console
Code: |
U-Boot> setenv linux_load 'fatload mmc 0:1 $loadaddr image'
U-Boot> setenv fdt_load 'fatload mmc 0:1 $fdt_addr_r $fdtfile'
U-Boot> setenv fdtfile 'bcm2837-rpi-3-b.dtb'
U-Boot> setenv bootcmd 'run fdt_load ; run linux_load ; booti $loadaddr - $fdt_addr_r'
U-Boot> setenv bootargs 'dwc_otg.lpm_enable=0 console=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait'
U-Boot> saveenv
|
Very important are the ' !
Now after you plug it in again, it reads uboot.env and after 2 sec it loads the dts and the image and boots it
Now the kernel command line is no longer read from the cmdline.txt but provided now via u-boot. I dont know yet how to read the cmdline.txt via u boot and pass it as bootargs. But i guess it is possible _________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54587 Location: 56N 3W
|
Posted: Sun Mar 27, 2016 10:21 pm Post subject: |
|
|
schorsch_76,
I had console=tty1 in my cmdline.txt but everything else was correct, including the serial port set up.
I also had too many zeros in the kernel load address.
The other difference is I get
Code: | ** Unable to read "uboot.env" from mmc0:1 **
Using default environment |
How do you get one of those.
Hmm I guess that cmdline.txt is not used with u-boot, so I'm booting with a blank command line. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54587 Location: 56N 3W
|
Posted: Sun Mar 27, 2016 10:48 pm Post subject: |
|
|
schorsch_76,
NeddySeagoon wrote: | Hmm I guess that cmdline.txt is not used with u-boot, so I'm booting with a blank command line. |
That looks like it was the problem. I had a console using black text on a black background :)
I've messed up something because I get a well known panic now.
Code: | VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -19
Please append a correct "root=" boot option; here are the available partitions:
b300 62367744 mmcblk0 driver: mmcblk
b301 65536 mmcblk0p1 00000000-01
b302 10485760 mmcblk0p2 00000000-02
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2) |
Its much easier with the uboot.env file. Mine is still wrong but it picked up the bootargs this time.
Thanks for your help. Its midnight here. With the change to DST thin weekend, I have to be up early.
More tomorow.
I have some userspace stuff but its missing gcc. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
Posted: Mon Mar 28, 2016 9:27 am Post subject: |
|
|
You are welcome Neddy! You helped me more than once.
I try to build the native gcc for aarch64. buildroot bropped the target gcc about 2012. Now i try to cross compile the native aarch gcc .... _________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
Posted: Mon Mar 28, 2016 5:00 pm Post subject: |
|
|
I got a pure C compiler cross compiled. I always failed at the c++ lib stage.
I used that script that i copied from [1] and i adjusted it slightly:
Code: |
#! /bin/bash
set -e
trap 'previous_command=$this_command; this_command=$BASH_COMMAND' DEBUG
trap 'echo FAILED COMMAND: $previous_command' EXIT
#-------------------------------------------------------------------------------------------
# This script will download packages for, configure, build and install a GCC cross-compiler.
# Customize the variables (INSTALL_PATH, TARGET, etc.) to your liking before running.
# If you get an error and need to resume the script from some point in the middle,
# just delete/comment the preceding lines before running it again.
#
# See: http://preshing.com/20141119/how-to-build-a-gcc-cross-compiler
#-------------------------------------------------------------------------------------------
INSTALL_PATH=/opt/cross
HOST=aarch64-linux-gnu
TARGET=aarch64-linux-gnu
USE_NEWLIB=0
LINUX_ARCH=arm64
CONFIGURATION_OPTIONS="--disable-multilib" # --disable-threads --disable-shared
PARALLEL_MAKE=-j16
BINUTILS_VERSION=binutils-2.25
GCC_VERSION=gcc-5.3.0
LINUX_KERNEL_VERSION=linux-4.5
GLIBC_VERSION=glibc-2.22
MPFR_VERSION=mpfr-3.1.2
GMP_VERSION=gmp-6.0.0a
MPC_VERSION=mpc-1.0.2
ISL_VERSION=isl-0.12.2
CLOOG_VERSION=cloog-0.18.1
#export PATH=$INSTALL_PATH/bin:$PATH
export CC=$HOST-gcc
export CXX=$HOST-g++
# Download packages
export http_proxy=$HTTP_PROXY https_proxy=$HTTP_PROXY ftp_proxy=$HTTP_PROXY
wget -nc https://ftp.gnu.org/gnu/binutils/$BINUTILS_VERSION.tar.gz
wget -nc https://ftp.gnu.org/gnu/gcc/$GCC_VERSION/$GCC_VERSION.tar.gz
if [ $USE_NEWLIB -ne 0 ]; then
wget -nc -O newlib-master.zip https://github.com/bminor/newlib/archive/master.zip || true
unzip -qo newlib-master.zip
else
wget -nc https://www.kernel.org/pub/linux/kernel/v4.x/$LINUX_KERNEL_VERSION.tar.xz
wget -nc https://ftp.gnu.org/gnu/glibc/$GLIBC_VERSION.tar.xz
fi
wget -nc https://ftp.gnu.org/gnu/mpfr/$MPFR_VERSION.tar.xz
wget -nc https://ftp.gnu.org/gnu/gmp/$GMP_VERSION.tar.xz
wget -nc https://ftp.gnu.org/gnu/mpc/$MPC_VERSION.tar.gz
wget -nc ftp://gcc.gnu.org/pub/gcc/infrastructure/$ISL_VERSION.tar.bz2
wget -nc ftp://gcc.gnu.org/pub/gcc/infrastructure/$CLOOG_VERSION.tar.gz
# Extract everything
for f in *.tar.gz; do tar -xzf $f; done
for f in *.tar.bz2; do tar -xjf $f; done
for f in *.tar.xz; do tar -xJf $f; done
# Make symbolic links
cd $GCC_VERSION
ln -sf `ls -1d ../mpfr-*/` mpfr
ln -sf `ls -1d ../gmp-*/` gmp
ln -sf `ls -1d ../mpc-*/` mpc
ln -sf `ls -1d ../isl-*/` isl
ln -sf `ls -1d ../cloog-*/` cloog
cd ..
# Step 1. Binutils
mkdir -p build-binutils
cd build-binutils
../$BINUTILS_VERSION/configure --prefix=$INSTALL_PATH --target=$TARGET $CONFIGURATION_OPTIONS --host=$HOST
make $PARALLEL_MAKE
make install
cd ..
# Step 2. Linux Kernel Headers
if [ $USE_NEWLIB -eq 0 ]; then
cd $LINUX_KERNEL_VERSION
make ARCH=$LINUX_ARCH INSTALL_HDR_PATH=$INSTALL_PATH/$TARGET headers_install
cd ..
fi
# Step 3. C/C++ Compilers
mkdir -p build-gcc
cd build-gcc
if [ $USE_NEWLIB -ne 0 ]; then
NEWLIB_OPTION=--with-newlib
fi
../$GCC_VERSION/configure --prefix=$INSTALL_PATH --host=$HOST --target=$TARGET --enable-languages=c $CONFIGURATION_OPTIONS $NEWLIB_OPTION
make $PARALLEL_MAKE all-gcc
make install-gcc
cd ..
if [ $USE_NEWLIB -ne 0 ]; then
# Steps 4-6: Newlib
mkdir -p build-newlib
cd build-newlib
../newlib-master/configure --host=$HOST --prefix=$INSTALL_PATH --target=$TARGET $CONFIGURATION_OPTIONS
make $PARALLEL_MAKE
make install
cd ..
else
# Step 4. Standard C Library Headers and Startup Files
mkdir -p build-glibc
cd build-glibc
../$GLIBC_VERSION/configure --prefix=$INSTALL_PATH/$TARGET --build=$MACHTYPE --host=$TARGET --target=$TARGET --with-headers=$INSTALL_PATH/$TARGET/include $CONFIGURATION_OPTIONS
make install-bootstrap-headers=yes install-headers
make $PARALLEL_MAKE csu/subdir_lib
install csu/crt1.o csu/crti.o csu/crtn.o $INSTALL_PATH/$TARGET/lib
$TARGET-gcc -nostdlib -nostartfiles -shared -x c /dev/null -o $INSTALL_PATH/$TARGET/lib/libc.so
touch $INSTALL_PATH/$TARGET/include/gnu/stubs.h
cd ..
# Step 5. Compiler Support Library
cd build-gcc
make $PARALLEL_MAKE all-target-libgcc
make install-target-libgcc
cd ..
# Step 6. Standard C Library & the rest of Glibc
cd build-glibc
make $PARALLEL_MAKE
make install
cd ..
fi
# Step 7. Standard C++ Library & the rest of GCC
cd build-gcc
make $PARALLEL_MAKE all
make install
cd ..
trap - EXIT
echo 'Success!'
|
I copied the /opt/cross folder to the SD card and added /opt/cross/bin to the PATH.
Now i can
Code: |
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hello aarch64-arm\n");
return 0;
}
|
Code: | # gcc main.c
# ./a.out
Hello aarch64-arm |
Code: | # gcc --version
gcc (GCC) 5.3.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# file /opt/cross/bin/gcc
/opt/cross/bin/gcc: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, not std
|
Now i try to build the full compiler with c++ on the target itself with the same script. But enabled c++ language.
[1] http://preshing.com/20141119/how-to-build-a-gcc-cross-compiler/ _________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54587 Location: 56N 3W
|
Posted: Mon Mar 28, 2016 6:14 pm Post subject: |
|
|
schorsch_76,
I can't get past the login prompt with my userland but adding init=/bin/bash to bootargs gets me a shell, so I'm "in", sortof.
Anyway, I can poke around from the inside now. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
Posted: Mon Mar 28, 2016 7:02 pm Post subject: |
|
|
I had a similar issue as i tried the debian aarch64 userland. pam failed. So i switched to buildroot. I tried the usual /etc/shadow thingie (wiki raspberry pi) but it didnt work.
Is your userland gentoo?
How about using your gentoo userland and my "cross gcc" to emerge the gcc? _________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54587 Location: 56N 3W
|
Posted: Mon Mar 28, 2016 9:39 pm Post subject: |
|
|
schorsch_76,
I don't have pam at all. The make.conf that comes free with crossdev has
USE=-pam set.
My part of a userland was obtained by using crossdev to build a aarch64-armv8a-linux-gnueabi cross toolchain then blindly using it to build @system in an empty target root.
Actually in /usr/aarch64-armv8a-linux-gnueabi/. Since I've not done anything special, except keyword a few packages, its done fairly well.
Maybe setting the profile to Code: | make.profile ->/usr/portage/profiles/default/linux/arm64/13.0/desktop | was a bit
aggressive when I didn't even have a @system set. That is not the cause of build issues though.
You will find Pi3_64_bit_root.tbz2 and Pi3_64_bit_boot.tbz2 at http://grytpype-thynne.org/~roy/Pi3_64bit/
They are the partition2 (ext4) and partition1 (vfat) copied from my SDCard.
The root password is raspberry but it doesn't work.
To poke about, append init=/bin/bash to bootargs and press return when
it looks like its died.
That's just you, bash and the kernel with a read only root.
Before you run emerge natively in arm64 you need to fix make.conf. Its still as it was for cross compiling.
It doesn't always give the login prompt. When it does, it doesn't always echo the username.
It never echos the password, nor gives any indication the the enter character at the end of the password was accepted.
Have fun.
**** edit ****
Login fix ....
edit /etc/inittab
Fix this line
Code: | # SERIAL CONSOLES
s0:12345:respawn:/sbin/agetty -L 115200 ttyAMA0 vt100 | Change vt320 to reah vt100
Comment this line
Code: | # Architecture specific features
#f0:12345:respawn:/sbin/agetty 9600 ttyAMA0 vt100 |
Notice that it will cause a race condition as it resets the console baud rate. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54587 Location: 56N 3W
|
Posted: Tue Mar 29, 2016 6:35 pm Post subject: |
|
|
schorsch_76,
I have a working cross gcc and cross c++ and all the other good things built using crossdev.
They all seem to work.
Those programs run on an amd64 and produce code for aarch64-armv8a-linux-gnueabi using the files in /usr/aarch64-armv8a-linux-gnueabi/etc/portage.
This is all normal Gentoo but with the cross compiler twist.
I see how your script builds you a cross tool chain that ends up in Code: | INSTALL_PATH=/opt/cross |
I don't follow your schorsch_76 wrote: | I copied the /opt/cross folder to the SD card and added /opt/cross/bin to the PATH. |
because the code there is to run on your build host, not the armv8 target.
How did you use those tools to get a native armv8 gcc?
My attempt to use the cross toolchain to cross compile gcc itself ends with
Code: | /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../libdecnumber/libdecnumber.a(decNumber.o): Relocations in generic ELF (EM: 183)
../libdecnumber/libdecnumber.a: error adding symbols: File in wrong format | so its using the wrong linker.
I tried the USB ports. Surprise suprise .. they don't work. :) _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
Posted: Tue Mar 29, 2016 6:44 pm Post subject: |
|
|
The script i posted a few das ago needs a cross compiler from cross dev (host: amd64 target: aarch64). In fact, This script cross compiles a compiler for the target that it can natively compile "Cross compiling a native compiler"
The "--host" in the configure steps specifies that host the target will run. See my /opt/cross/bin/gcc
In fact, i set /"opt/cross" owned by my regular user to make sure the aarch64 dont get mixed up with my other cross compiler in /usr. So i compiled the "/opt/cross" as normal user and installed it as normal user. It only runs on aarch64 not on my amd64 host. I havemt known about sysroot .. though .... /opt/cross later copied to the RPi3
Code: | hammerhead opt # file /opt/cross/bin/gcc
/opt/cross/bin/gcc: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, not stripped
|
EDIT: I upload my toolchain that you can download it
EDIT2: Here is the toolchain
https://www.schorsch-tech.de/rpi3/cross.tar.bz2
EDIT3: my gcc could not compile gcc on the RPI.
Code: | checking for unsigned long long int... yes
checking for uintmax_t... yes
checking for uintptr_t... yes
checking for int64_t underlying type... long long
configure: error: error verifying int64_t uses long long
Makefile:4159: recipe for target 'configure-stage1-gcc' failed
make[2]: *** [configure-stage1-gcc] Error 1
make[2]: Leaving directory '/var/tmp/portage/sys-devel/gcc-5.3.0/work/build'
Makefile:19012: recipe for target 'stage1-bubble' failed
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory '/var/tmp/portage/sys-devel/gcc-5.3.0/work/build'
Makefile:19343: recipe for target 'bootstrap-lean' failed
make: *** [bootstrap-lean] Error 2
* ERROR: sys-devel/gcc-5.3.0::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=sys-devel/gcc-5.3.0::gentoo'`,
* the complete build log and the output of `emerge -pqv '=sys-devel/gcc-5.3.0::gentoo'`.
* The complete build log is located at '/var/tmp/portage/sys-devel/gcc-5.3.0/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-5.3.0/temp/environment'.
* Working directory: '/var/tmp/portage/sys-devel/gcc-5.3.0/work/build'
* S: '/var/tmp/portage/sys-devel/gcc-5.3.0/work/gcc-5.3.0'
*
* Please include /var/tmp/portage/sys-devel/gcc-5.3.0/work/gcc-build-logs.tar.bz2 in your bug report.
*
>>> Failed to emerge sys-devel/gcc-5.3.0, Log file:
>>> '/var/tmp/portage/sys-devel/gcc-5.3.0/temp/build.log'
* Messages for package sys-devel/gcc-5.3.0:
* ERROR: sys-devel/gcc-5.3.0::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=sys-devel/gcc-5.3.0::gentoo'`,
* the complete build log and the output of `emerge -pqv '=sys-devel/gcc-5.3.0::gentoo'`.
* The complete build log is located at '/var/tmp/portage/sys-devel/gcc-5.3.0/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-5.3.0/temp/environment'.
* Working directory: '/var/tmp/portage/sys-devel/gcc-5.3.0/work/build'
* S: '/var/tmp/portage/sys-devel/gcc-5.3.0/work/gcc-5.3.0'
*
* Please include /var/tmp/portage/sys-devel/gcc-5.3.0/work/gcc-build-logs.tar.bz2 in your bug report.
|
_________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54587 Location: 56N 3W
|
Posted: Tue Mar 29, 2016 10:05 pm Post subject: |
|
|
schorsch_76,
After some 'faffing' about, I have the portage tree, the sources for gcc and your native armv8 gcc on my Pi.
If I can get emerge to use your gcc, my plan is to Code: | emerge gcc --nodeps -1 |
select the resulting gcc. Then run Code: | /usr/portage/scripts/bootstrap.sh |
which is the stage1 install.
Of course, none of the I/O works except the serial console, so it will be a sneakernet install.
I don't fancy PPP over a serial link at 115200 bits/sec. Nor kermit or [xyz]modem for file transfer.
That would almost be back to baseband modem speeds.
Progress so far ...
Code: | root@Pi_3 64_bit ~ # emerge gcc --nodeps -av1
* IMPORTANT: 5 news items need reading for repository 'gentoo'.
* Use eselect news read to view new items.
These are the packages that would be merged, in order:
[ebuild N ] sys-devel/gcc-5.3.0:5.3.0::gentoo USE="cxx fortran (multilib) nls nptl openmp sanitize (-altivec) (-awt) (-cilk) -debug (-doc) (-fixed-point) (-gcj) -go (-grap
hite) (-hardened) -jit (-libssp) -multislot -nopie -nossp -objc -objc++ -objc-gc (-regression-test) -vanilla" 0 KiB
Total: 1 package (1 new), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Running pre-merge checks for sys-devel/gcc-5.3.0
>>> Emerging (1 of 1) sys-devel/gcc-5.3.0::gentoo
* gcc-5.3.0.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
* gcc-5.3.0-uclibc-patches-1.0.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
* gcc-5.3.0-patches-1.0.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
* gcc-5.3.0-piepatches-v0.6.5.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
* gcc-4.4.3-specs-0.2.0.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking gcc-5.3.0.tar.bz2 to /var/tmp/portage/sys-devel/gcc-5.3.0/work |
This is the wrong package to practice on. If it doesn't find gcc, its going to unpack in all again at the next attempt. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
Posted: Wed Mar 30, 2016 7:27 am Post subject: |
|
|
Yes, i put the distfiles to the sdcard like you. That emerge grabbed my new gcc i exported "CC=/opt/cross/bin/gcc" Flex/Bison/m4 were compiled by this gcc and they work.
The unpacking stage took for me about 20 to 30 min. At the configure stage it failed at a type check for int64_t ...
So i tried yesterday various Versions of gcc and libs to "cross compile the compiler" but they all failed at the libstdc++3 stage at "vnsprintf" (dont habe the error currently here). I am up to fill a bug report on gcc.gnu.org/bugzilla.
The check for int64_t on the target is strange too ... that this fails .... _________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
Posted: Wed Mar 30, 2016 4:15 pm Post subject: |
|
|
The error, that occours when i try to "cross compile the native compiler" for aarch64 is always:
Code: |
make[4]: Leaving directory '/home/georg/intern/Dokumente/Entwicklung/rpi3/src/gcc/build-gcc/aarch64-armv8a-linux-gnueabi/libitm/testsuite'
make[4]: Entering directory '/home/georg/intern/Dokumente/Entwicklung/rpi3/src/gcc/build-gcc/aarch64-armv8a-linux-gnueabi/libitm'
/bin/sh ./libtool --tag=CXX --mode=compile aarch64-armv8a-linux-gnueabi-c++ -B/home/georg/Dokumente/Entwicklung/rpi3/src/gcc/build-gcc/aarch64-armv8a-linux-gnueabi/libstdc++-v3/src/.libs -B/home/georg/Dokumente/Entwicklung/rpi3/src/gcc/build-gcc/aarch64-armv8a-linux-gnueabi/libstdc++-v3/libsupc++/.libs -DHAVE_CONFIG_H -I. -I../../../gcc-5.3.0/libitm -I../../../gcc-5.3.0/libitm/config/linux/aarch64 -I../../../gcc-5.3.0/libitm/config/linux -I../../../gcc-5.3.0/libitm/config/aarch64 -I../../../gcc-5.3.0/libitm/config/posix -I../../../gcc-5.3.0/libitm/config/generic -I../../../gcc-5.3.0/libitm -ftls-model=initial-exec -Wall -Werror -Wc,-pthread -std=gnu++0x -funwind-tables -fno-exceptions -fno-rtti -fabi-version=4 -g -O2 -D_GNU_SOURCE -MT util.lo -MD -MP -MF .deps/util.Tpo -c -o util.lo ../../../gcc-5.3.0/libitm/util.cc
libtool: compile: aarch64-armv8a-linux-gnueabi-c++ -B/home/georg/Dokumente/Entwicklung/rpi3/src/gcc/build-gcc/aarch64-armv8a-linux-gnueabi/libstdc++-v3/src/.libs -B/home/georg/Dokumente/Entwicklung/rpi3/src/gcc/build-gcc/aarch64-armv8a-linux-gnueabi/libstdc++-v3/libsupc++/.libs -DHAVE_CONFIG_H -I. -I../../../gcc-5.3.0/libitm -I../../../gcc-5.3.0/libitm/config/linux/aarch64 -I../../../gcc-5.3.0/libitm/config/linux -I../../../gcc-5.3.0/libitm/config/aarch64 -I../../../gcc-5.3.0/libitm/config/posix -I../../../gcc-5.3.0/libitm/config/generic -I../../../gcc-5.3.0/libitm -ftls-model=initial-exec -Wall -pthread -Werror -std=gnu++0x -funwind-tables -fno-exceptions -fno-rtti -fabi-version=4 -g -O2 -D_GNU_SOURCE -MT util.lo -MD -MP -MF .deps/util.Tpo -c ../../../gcc-5.3.0/libitm/util.cc -fPIC -DPIC -o .libs/util.o
In file included from /usr/aarch64-armv8a-linux-gnueabi/usr/include/stdio.h:936:0,
from ../../../gcc-5.3.0/libitm/util.cc:27:
/usr/aarch64-armv8a-linux-gnueabi/usr/include/bits/stdio2.h: In function 'void GTM::gtm_verror(const char*, va_list)':
/usr/aarch64-armv8a-linux-gnueabi/usr/include/bits/stdio2.h:124:1: error: inlining failed in call to always_inline 'int vfprintf(FILE*, const char*, __gnuc_va_list)': function body can be overwritten at link time
vfprintf (FILE *__restrict __stream,
^
../../../gcc-5.3.0/libitm/util.cc:35:31: error: called from here
vfprintf (stderr, fmt, list);
^
Makefile:517: recipe for target 'util.lo' failed
|
I tried:
- "amd64 to aarch64 Compiler 5.3.0" aarch64-linux-gnu triplet and aarch64-armv8a-linux-gnueabi. Both fail at the exact same line.
- "aarch64 to aarch64" compilers 5.3.0 and 4.9.3 failed at the same function (post above copied from the minicom) _________________ // valid again: I forgot about the git access. Now 1.2GB big. Start: 2015-06-25
git daily portage tree
Web: https://github.com/schorsch1976/portage
git clone https://github.com/schorsch1976/portage
Last edited by schorsch_76 on Wed Mar 30, 2016 4:51 pm; edited 1 time in total |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 452
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|