Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Dec 2013 13:00:01 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        =?utf-8?Q?Radio_m=C5=82odych_bandyt=C3=B3w?= <radiomlodychbandytow@o2.pl>
Cc:        freebsd-mips@freebsd.org
Subject:   Re: Build failure on octeon
Message-ID:  <7A512375-4C53-420A-A15D-655D469A7B5A@bsdimp.com>
In-Reply-To: <52BC8A41.8010808@o2.pl>
References:  <52BC19C7.70507@o2.pl> <36762B3C-179F-42B3-B108-62F2D7F5A9DF@bsdimp.com> <52BC8A41.8010808@o2.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
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=C5=82odych bandyt=C3=B3w wrote:

> Thank you, the system builds now. Is the default ABI endianness big?
>=20
> --=20
> Twoje radio
>=20
> On 26/12/2013 17:13, Warner Losh wrote:
>> Try TARGET_ARCH=3Dmips64
>>=20
>> On Dec 26, 2013, at 4:57 AM, Radio m=C5=82odych bandyt=C3=B3w wrote:
>>=20
>>> Hello, I'm trying to compile the current tree for my octeon device =
and
>>> get the following error:
>>>=20
>>> cc  -c -O -pipe  -std=3Dc99 -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=3D8000 --param inline-unit-growth=3D10000 --param
>>> large-function-growth=3D100000 --param max-inline-insns-single=3D10000=

>>> -fno-pic -mno-abicalls -G0 -DKERNLOADADDR=3D0xffffffff80100000
>>> -march=3Docteon -mabi=3D64 -msoft-float -ffreestanding -Werror  =
vnode_if.c
>>> ${NORMAL_CTFCONVERT} expands to empty string
>>> :> hack.c
>>> cc  -shared -fno-pic -mno-abicalls -G0 =
-DKERNLOADADDR=3D0xffffffff80100000
>>> -march=3Docteon -mabi=3D64 -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=3Dmake sh /usr/home/m/Ubiquity/10/sys/conf/newvers.sh OCTEON1
>>> cc  -c -O -pipe  -std=3Dc99 -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=3D8000 --param inline-unit-growth=3D10000 --param
>>> large-function-growth=3D100000 --param max-inline-insns-single=3D10000=

>>> -fno-pic -mno-abicalls -G0 -DKERNLOADADDR=3D0xffffffff80100000
>>> -march=3Docteon -mabi=3D64 -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
>>>=20
>>> Stop in =
/usr/home/m/Ubiquity/obj/mips.mips/usr/home/m/Ubiquity/10/sys/M.
>>> *** [buildkernel] Error code 1
>>>=20
>>> Stop in /usr/home/m/Ubiquity/10.
>>> *** [buildkernel] Error code 1
>>>=20
>>> Stop in /usr/home/m/Ubiquity/10.
>>>=20
>>>=20
>>>=20
>>> I build with TARGET=3Dmips and TARGET_ARCH=3Dmipseb.
>>=20
>> TARGET_ARCH=3Dmips64 is the right thing here. The kernel config files =
assume a 64-bit ABI, but the mipseb ABI is 32-bit.
>>=20
>> Warner
>>=20
>>> My kernel config:
>>>=20
>>> #
>>> # 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-con=
fig.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 $
>>>=20
>>> ident		OCTEON1
>>>=20
>>> makeoptions	ARCH_FLAGS=3D"-march=3Docteon -mabi=3D64"
>>> makeoptions	LDSCRIPT_NAME=3Dldscript.mips.octeon1
>>>=20
>>> # Don't build any modules yet.
>>> makeoptions	MODULES_OVERRIDE=3D""
>>> makeoptions	KERNLOADADDR=3D0xffffffff80100000
>>>=20
>>> # We don't need to build a trampolined version of the kernel.
>>> makeoptions	WITHOUT_KERNEL_TRAMPOLINE=3D1
>>>=20
>>> include		"../cavium/std.octeon1"
>>>=20
>>> hints		"OCTEON1.hints"		#Default places to look =
for devices.
>>>=20
>>> makeoptions	DEBUG=3D-g		#Build kernel with gdb(1) debug =
symbols
>>>=20
>>> # 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.
>>>=20
>>> # 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=3DOCTEON_CN58XX_PASS1_1
>>>=20
>>> 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=3D5000		# 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=3D128	# 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
>>>=20
>>> # 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=3D8	# Separate malloc(9) =
zones
>>>=20
>>> # Make an SMP-capable kernel by default
>>> options 	SMP			# Symmetric MultiProcessor =
Kernel
>>>=20
>>> # Bus support.
>>> device		pci
>>>=20
>>> # 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
>>>=20
>>> # On-board Compact Flash driver.
>>> device		cf
>>> options 	ROOTDEVNAME=3D\"ufs:cf0s2a\"	# Default root =
filesystem.
>>>=20
>>> # 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
>>>=20
>>> #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
>>>=20
>>> # 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)
>>>=20
>>> # 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
>>>=20
>>> # 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
>>>=20
>>> # 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
>>>=20
>>> # Serial (COM) ports
>>> device		uart		# Generic UART driver
>>>=20
>>> # 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
>>>=20
>>> # On-board Cavium Octeon Ethernet.
>>> # NOTE: Be sure to keep the 'device miibus' line in order to use =
these NICs!
>>> device		octe
>>>=20
>>> # Cavium Octeon management Ethernet.
>>> device		octm
>>>=20
>>> # 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
>>>=20
>>> # 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'')
>>>=20
>>> # 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'')
>>>=20
>>> # 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.
>>>=20
>>> # 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
>>>=20
>>> # 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
>>>=20
>>> # Hardware watchdog support.
>>> #device		octeon_wdog	# Octeon hardware watchdog
>>>=20
>>> # 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
>>>=20
>>> # crypto subsystem
>>> device		crypto		# core crypto support
>>> device		cryptodev	# /dev/crypto for access to h/w
>>> device		cryptocteon	# Octeon coprocessor 2 crypto =
offload
>>>=20
>>> # GPIO support
>>> #device		gpio
>>>=20
>>> # PMC support
>>> #device		hwpmc
>>>=20
>>>=20
>>> --=20
>>> Twoje radio
>>> _______________________________________________
>>> freebsd-mips@freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-mips
>>> To unsubscribe, send any mail to =
"freebsd-mips-unsubscribe@freebsd.org"
>>=20
>>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7A512375-4C53-420A-A15D-655D469A7B5A>