Build failure on octeon
Warner Losh
imp at bsdimp.com
Thu Dec 26 20:00:09 UTC 2013
Yes. If you need little endian, you can use mips64el as the TARGET_ARCH, but I've never tested that.
Warner
On Dec 26, 2013, at 12:57 PM, Radio młodych bandytów wrote:
> Thank you, the system builds now. Is the default ABI endianness big?
>
> --
> Twoje radio
>
> On 26/12/2013 17:13, Warner Losh wrote:
>> Try TARGET_ARCH=mips64
>>
>> On Dec 26, 2013, at 4:57 AM, Radio młodych bandytów wrote:
>>
>>> Hello, I'm trying to compile the current tree for my octeon device and
>>> get the following error:
>>>
>>> cc -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs
>>> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline
>>> -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions
>>> -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I.
>>> -I/usr/home/m/Ubiquity/10/sys -I/usr/home/m/Ubiquity/10/sys/contrib/altq
>>> -I/usr/home/m/Ubiquity/10/sys/contrib/libfdt -D_KERNEL
>>> -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common
>>> -finline-limit=8000 --param inline-unit-growth=10000 --param
>>> large-function-growth=100000 --param max-inline-insns-single=10000
>>> -fno-pic -mno-abicalls -G0 -DKERNLOADADDR=0xffffffff80100000
>>> -march=octeon -mabi=64 -msoft-float -ffreestanding -Werror vnode_if.c
>>> ${NORMAL_CTFCONVERT} expands to empty string
>>> :> hack.c
>>> cc -shared -fno-pic -mno-abicalls -G0 -DKERNLOADADDR=0xffffffff80100000
>>> -march=octeon -mabi=64 -nostdlib hack.c -o hack.So
>>> rm -f hack.c
>>> sed s/KERNLOADADDR/0xffffffff80100000/g
>>> /usr/home/m/Ubiquity/10/sys/conf/ldscript.mips.octeon1 >
>>> ldscript.mips.octeon1
>>> MAKE=make sh /usr/home/m/Ubiquity/10/sys/conf/newvers.sh OCTEON1
>>> cc -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs
>>> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline
>>> -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions
>>> -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I.
>>> -I/usr/home/m/Ubiquity/10/sys -I/usr/home/m/Ubiquity/10/sys/contrib/altq
>>> -I/usr/home/m/Ubiquity/10/sys/contrib/libfdt -D_KERNEL
>>> -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common
>>> -finline-limit=8000 --param inline-unit-growth=10000 --param
>>> large-function-growth=100000 --param max-inline-insns-single=10000
>>> -fno-pic -mno-abicalls -G0 -DKERNLOADADDR=0xffffffff80100000
>>> -march=octeon -mabi=64 -msoft-float -ffreestanding -Werror vers.c
>>> ${NORMAL_CTFCONVERT} expands to empty string
>>> linking kernel.debug
>>> hack.So: could not read symbols: File in wrong format
>>> *** [kernel.debug] Error code 1
>>>
>>> Stop in /usr/home/m/Ubiquity/obj/mips.mips/usr/home/m/Ubiquity/10/sys/M.
>>> *** [buildkernel] Error code 1
>>>
>>> Stop in /usr/home/m/Ubiquity/10.
>>> *** [buildkernel] Error code 1
>>>
>>> Stop in /usr/home/m/Ubiquity/10.
>>>
>>>
>>>
>>> I build with TARGET=mips and TARGET_ARCH=mipseb.
>>
>> TARGET_ARCH=mips64 is the right thing here. The kernel config files assume a 64-bit ABI, but the mipseb ABI is 32-bit.
>>
>> Warner
>>
>>> My kernel config:
>>>
>>> #
>>> # OCTEON1 -- Generic kernel configuration file for FreeBSD/MIPS on
>>> Cavium Octeon
>>> #
>>> # For more information on this file, please read the config(5) manual page,
>>> # and/or the handbook section on Kernel Configuration Files:
>>> #
>>> #
>>> http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
>>> #
>>> # The handbook is also available locally in /usr/share/doc/handbook
>>> # if you've installed the doc distribution, otherwise always see the
>>> # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
>>> # latest information.
>>> #
>>> # An exhaustive list of options and more detailed explanations of the
>>> # device lines is also present in the ../../conf/NOTES and NOTES files.
>>> # If you are in doubt as to the purpose or necessity of a line, check first
>>> # in NOTES.
>>> #
>>> # $FreeBSD: stable/10/sys/mips/conf/OCTEON1 253845 2013-07-31 17:21:18Z
>>> obrien $
>>>
>>> ident OCTEON1
>>>
>>> makeoptions ARCH_FLAGS="-march=octeon -mabi=64"
>>> makeoptions LDSCRIPT_NAME=ldscript.mips.octeon1
>>>
>>> # Don't build any modules yet.
>>> makeoptions MODULES_OVERRIDE=""
>>> makeoptions KERNLOADADDR=0xffffffff80100000
>>>
>>> # We don't need to build a trampolined version of the kernel.
>>> makeoptions WITHOUT_KERNEL_TRAMPOLINE=1
>>>
>>> include "../cavium/std.octeon1"
>>>
>>> hints "OCTEON1.hints" #Default places to look for devices.
>>>
>>> makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
>>>
>>> # Board-specific support that cannot be auto-detected at runtime.
>>> #options OCTEON_VENDOR_LANNER # Support for Lanner boards.
>>> #options OCTEON_VENDOR_RADISYS # Support for Radisys boards.
>>> options OCTEON_VENDOR_UBIQUITI # Support for Ubiquiti boards.
>>> #options OCTEON_VENDOR_GEFES # Support for GE LANIC boards
>>> #options OCTEON_BOARD_CAPK_0100ND # Support for CAPK-0100nd.
>>>
>>> # Compile for a specified Octeon model. If not specified, support for
>>> # detection at runtime will be used instead, which may give inferior
>>> # performance.
>>> #
>>> # See sys/contrib/octeon-sdk/octeon-model.h for possible values.
>>> #options OCTEON_MODEL=OCTEON_CN58XX_PASS1_1
>>>
>>> options SCHED_ULE # ULE scheduler
>>> options PREEMPTION # Enable kernel thread preemption
>>> options INET # InterNETworking
>>> options INET6 # IPv6 communications protocols
>>> options SCTP # Stream Control Transmission Protocol
>>> options FFS # Berkeley Fast Filesystem
>>> options SOFTUPDATES # Enable FFS soft updates support
>>> options UFS_ACL # Support for access control lists
>>> options UFS_DIRHASH # Improve performance on big directories
>>> options UFS_GJOURNAL # Enable gjournal-based UFS journaling
>>> options MD_ROOT # MD is a potential root device
>>> options NFSCL # Network Filesystem Client
>>> options NFSD # Network Filesystem Server
>>> options NFSLOCKD # Network Lock Manager
>>> options NFS_ROOT # NFS usable as /, requires NFSCL
>>> options MSDOSFS # MSDOS Filesystem
>>> #options CD9660 # ISO 9660 Filesystem
>>> options PROCFS # Process filesystem (requires PSEUDOFS)
>>> options PSEUDOFS # Pseudo-filesystem framework
>>> options GEOM_PART_GPT # GUID Partition Tables.
>>> options GEOM_LABEL # Provides labelization
>>> #options COMPAT_FREEBSD32 # Compatible with o32 binaries
>>> options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
>>> options KTRACE # ktrace(1) support
>>> options STACK # stack(9) support
>>> options SYSVSHM # SYSV-style shared memory
>>> options SYSVMSG # SYSV-style message queues
>>> options SYSVSEM # SYSV-style semaphores
>>> options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
>>> options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
>>> options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4)
>>> options AUDIT # Security event auditing
>>> options MAC # TrustedBSD MAC Framework
>>> #options KDTRACE_FRAME # Ensure frames are compiled in
>>> #options KDTRACE_HOOKS # Kernel DTrace hooks
>>> options INCLUDE_CONFIG_FILE # Include this file in kernel
>>> options NO_SWAPPING # Disable support for paging
>>>
>>> # Debugging for use in -current
>>> #options KDB # Enable kernel debugger support.
>>> #options DDB # Support DDB.
>>> #options GDB # Support remote GDB.
>>> #options DEADLKRES # Enable the deadlock resolver
>>> #options INVARIANTS # Enable calls of extra sanity checking
>>> #options INVARIANT_SUPPORT # Extra sanity checks of internal
>>> structures, required by INVARIANTS
>>> #options WITNESS # Enable checks to detect deadlocks and cycles
>>> #options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
>>> #options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
>>>
>>> # Make an SMP-capable kernel by default
>>> options SMP # Symmetric MultiProcessor Kernel
>>>
>>> # Bus support.
>>> device pci
>>>
>>> # ATA controllers
>>> device ahci # AHCI-compatible SATA controllers
>>> device ata # Legacy ATA/SATA controllers
>>> options ATA_STATIC_ID # Static device numbering
>>> device mvs # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
>>> device siis # SiliconImage SiI3124/SiI3132/SiI3531 SATA
>>>
>>> # On-board Compact Flash driver.
>>> device cf
>>> options ROOTDEVNAME=\"ufs:cf0s2a\" # Default root filesystem.
>>>
>>> # SCSI Controllers
>>> #device ahc # AHA2940 and onboard AIC7xxx devices
>>> #options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
>>> # output. Adds ~128k to driver.
>>> #device ahd # AHA39320/29320 and onboard AIC79xx devices
>>> #options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
>>> # output. Adds ~215k to driver.
>>> #device esp # AMD Am53C974 (Tekram DC-390(T))
>>> #device hptiop # Highpoint RocketRaid 3xxx series
>>> #device isp # Qlogic family
>>> #device ispfw # Firmware for QLogic HBAs- normally iibusa module
>>> #device mpt # LSI-Logic MPT-Fusion
>>> #device mps # LSI-Logic MPT-Fusion 2
>>> #device ncr # NCR/Symbios Logic
>>> #device trm # Tekram DC395U/UW/F DC315U adapters
>>>
>>> #device adv # Advansys SCSI adapters
>>> #device adw # Advansys wide SCSI adapters
>>> #device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
>>> #device bt # Buslogic/Mylex MultiMaster SCSI adapters
>>>
>>> # ATA/SCSI peripherals
>>> device scbus # SCSI bus (required for ATA/SCSI)
>>> #device ch # SCSI media changers
>>> device da # Direct Access (disks)
>>> device sa # Sequential Access (tape etc)
>>> #device cd # CD
>>> device pass # Passthrough device (direct ATA/SCSI access)
>>> #device ses # Enclosure Services (SES and SAF-TE)
>>>
>>> # RAID controllers interfaced to the SCSI subsystem
>>> #device amr # AMI MegaRAID
>>> #XXX it is not 64-bit clean, -scottl
>>> #device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
>>> #device ciss # Compaq Smart RAID 5*
>>> #device dpt # DPT Smartcache III, IV - See NOTES for options
>>> #device iir # Intel Integrated RAID
>>> #device ips # IBM (Adaptec) ServeRAID
>>> #device mly # Mylex AcceleRAID/eXtremeRAID
>>>
>>> # RAID controllers
>>> #device aac # Adaptec FSA RAID
>>> #device aacp # SCSI passthrough for aac (requires CAM)
>>> #device ida # Compaq Smart RAID
>>> #device mfi # LSI MegaRAID SAS
>>> #device mlx # Mylex DAC960 family
>>> #XXX pointer/int warnings
>>> #device pst # Promise Supertrak SX6000
>>> #device twe # 3ware ATA RAID
>>>
>>> # PCCARD (PCMCIA) support
>>> # PCMCIA and cardbus bridge support
>>> device cbb # cardbus (yenta) bridge
>>> device pccard # PC Card (16-bit) bus
>>> device cardbus # CardBus (32-bit) bus
>>>
>>> # Serial (COM) ports
>>> device uart # Generic UART driver
>>>
>>> # If you've got a "dumb" serial or parallel PCI card that is
>>> # supported by the puc(4) glue driver, uncomment the following
>>> # line to enable it (connects to sio, uart and/or ppc drivers):
>>> #device puc
>>>
>>> # On-board Cavium Octeon Ethernet.
>>> # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
>>> device octe
>>>
>>> # Cavium Octeon management Ethernet.
>>> device octm
>>>
>>> # Switch PHY support for the octe driver. These currently present a
>>> VLAN per
>>> # physical port, but may eventually provide support for DSA or similar
>>> instead.
>>> #device mv88e61xxphy # Marvell 88E61XX
>>>
>>> # PCI Ethernet NICs.
>>> #device de # DEC/Intel DC21x4x (``Tulip'')
>>> #device em # Intel PRO/1000 Gigabit Ethernet Family
>>> #device igb # Intel PRO/1000 PCIE Server Gigabit Family
>>> #device ixgbe # Intel PRO/10GbE PCIE Ethernet Family
>>> #device le # AMD Am7900 LANCE and Am79C9xx PCnet
>>> #device ti # Alteon Networks Tigon I/II gigabit Ethernet
>>> #device txp # 3Com 3cR990 (``Typhoon'')
>>> #device vx # 3Com 3c590, 3c595 (``Vortex'')
>>>
>>> # PCI Ethernet NICs that use the common MII bus controller code.
>>> # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
>>> device miibus # MII bus support
>>> #device ae # Attansic/Atheros L2 FastEthernet
>>> #device age # Attansic/Atheros L1 Gigabit Ethernet
>>> #device alc # Atheros AR8131/AR8132 Ethernet
>>> #device ale # Atheros AR8121/AR8113/AR8114 Ethernet
>>> #device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
>>> #device bfe # Broadcom BCM440x 10/100 Ethernet
>>> #device bge # Broadcom BCM570xx Gigabit Ethernet
>>> #device dc # DEC/Intel 21143 and various workalikes
>>> #device et # Agere ET1310 10/100/Gigabit Ethernet
>>> #device fxp # Intel EtherExpress PRO/100B (82557, 82558)
>>> #device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet
>>> #device lge # Level 1 LXT1001 gigabit Ethernet
>>> #device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
>>> #device nge # NatSemi DP83820 gigabit Ethernet
>>> #device nve # nVidia nForce MCP on-board Ethernet Networking
>>> #device pcn # AMD Am79C97x PCI 10/100 (precedence over 'le')
>>> #device re # RealTek 8139C+/8169/8169S/8110S
>>> #device rl # RealTek 8129/8139
>>> #device sf # Adaptec AIC-6915 (``Starfire'')
>>> #device sge # Silicon Integrated Systems SiS190/191
>>> #device sis # Silicon Integrated Systems SiS 900/SiS 7016
>>> #device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
>>> #device ste # Sundance ST201 (D-Link DFE-550TX)
>>> #device stge # Sundance/Tamarack TC9021 gigabit Ethernet
>>> #device tl # Texas Instruments ThunderLAN
>>> #device tx # SMC EtherPower II (83c170 ``EPIC'')
>>> #device vge # VIA VT612x gigabit Ethernet
>>> #device vr # VIA Rhine, Rhine II
>>> #device wb # Winbond W89C840F
>>> #device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
>>>
>>> # Wireless NIC cards
>>> #device wlan # 802.11 support
>>> #options IEEE80211_DEBUG # enable debug msgs
>>> #options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
>>> #options IEEE80211_SUPPORT_MESH # enable 802.11s draft support
>>> #device wlan_wep # 802.11 WEP support
>>> #device wlan_ccmp # 802.11 CCMP support
>>> #device wlan_tkip # 802.11 TKIP support
>>> #device wlan_amrr # AMRR transmit rate control algorithm
>>> #device an # Aironet 4500/4800 802.11 wireless NICs.
>>> #device ath # Atheros NIC's
>>> #device ath_pci # Atheros pci/cardbus glue
>>> #device ath_hal # pci/cardbus chip support
>>> #options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors
>>> #device ath_rate_sample # SampleRate tx rate control for ath
>>> #device ral # Ralink Technology RT2500 wireless NICs.
>>> #device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
>>>
>>> # Pseudo devices.
>>> device loop # Network loopback
>>> device random # Entropy device
>>> device ether # Ethernet support
>>> device vlan # 802.1Q VLAN support
>>> device tun # Packet tunnel.
>>> device md # Memory "disks"
>>> device gif # IPv6 and IPv4 tunneling
>>> device faith # IPv6-to-IPv4 relaying (translation)
>>> device firmware # firmware assist module
>>>
>>> # The `bpf' device enables the Berkeley Packet Filter.
>>> # Be aware of the administrative consequences of enabling this!
>>> # Note that 'bpf' is required for DHCP.
>>> device bpf # Berkeley packet filter
>>>
>>> # Hardware watchdog support.
>>> #device octeon_wdog # Octeon hardware watchdog
>>>
>>> # USB support
>>> options USB_DEBUG # enable debug msgs
>>> device octusb # Cavium Octeon on-board USB interface (USB 2.0)
>>> device uhci # UHCI PCI->USB interface
>>> device ohci # OHCI PCI->USB interface
>>> device ehci # EHCI PCI->USB interface (USB 2.0)
>>> device usb # USB Bus (required)
>>> #device udbp # USB Double Bulk Pipe devices
>>> device uhid # "Human Interface Devices"
>>> #device ulpt # Printer
>>> device umass # Disks/Mass storage - Requires scbus and da
>>> #device ums # Mouse
>>> #device urio # Diamond Rio 500 MP3 player
>>> # USB Serial devices
>>> #device u3g # USB-based 3G modems (Option, Huawei, Sierra)
>>> #device uark # Technologies ARK3116 based serial adapters
>>> #device ubsa # Belkin F5U103 and compatible serial adapters
>>> #device uftdi # For FTDI usb serial adapters
>>> #device uipaq # Some WinCE based devices
>>> #device uplcom # Prolific PL-2303 serial adapters
>>> #device uslcom # SI Labs CP2101/CP2102 serial adapters
>>> #device uvisor # Visor and Palm devices
>>> #device uvscom # USB serial support for DDI pocket's PHS
>>> # USB Ethernet, requires miibus
>>> #device aue # ADMtek USB Ethernet
>>> #device axe # ASIX Electronics USB Ethernet
>>> #device cdce # Generic USB over Ethernet
>>> #device cue # CATC USB Ethernet
>>> #device kue # Kawasaki LSI USB Ethernet
>>> #device rue # RealTek RTL8150 USB Ethernet
>>> #device udav # Davicom DM9601E USB
>>> # USB Wireless
>>> #device rum # Ralink Technology RT2501USB wireless NICs
>>> #device uath # Atheros AR5523 wireless NICs
>>> #device ural # Ralink Technology RT2500USB wireless NICs
>>> #device zyd # ZyDAS zd1211/zd1211b wireless NICs
>>>
>>> # crypto subsystem
>>> device crypto # core crypto support
>>> device cryptodev # /dev/crypto for access to h/w
>>> device cryptocteon # Octeon coprocessor 2 crypto offload
>>>
>>> # GPIO support
>>> #device gpio
>>>
>>> # PMC support
>>> #device hwpmc
>>>
>>>
>>> --
>>> Twoje radio
>>> _______________________________________________
>>> freebsd-mips at freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-mips
>>> To unsubscribe, send any mail to "freebsd-mips-unsubscribe at freebsd.org"
>>
>>
More information about the freebsd-mips
mailing list