From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <test-report-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 4B9D341C8B
	for <public@inbox.dpdk.org>; Mon, 13 Feb 2023 19:22:07 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 12B7D41151;
	Mon, 13 Feb 2023 19:22:07 +0100 (CET)
Received: from loongson.cn (mail.loongson.cn [114.242.206.163])
 by mails.dpdk.org (Postfix) with ESMTP id 8611D40EE4
 for <test-report@dpdk.org>; Mon, 13 Feb 2023 19:22:05 +0100 (CET)
Received: from loongson.cn (unknown [10.40.46.153])
 by gateway (Coremail) with SMTP id _____8AxbdrKf+pjoTIAAA--.797S3;
 Tue, 14 Feb 2023 02:22:02 +0800 (CST)
Received: from localhost.localdomain (unknown [10.40.46.153])
 by localhost.localdomain (Coremail) with SMTP id
 AQAAf8Ax97zFf+pjgmYyAA--.28190S3; 
 Tue, 14 Feb 2023 02:21:57 +0800 (CST)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
 by localhost.localdomain (8.15.2/8.15.2) with ESMTPS id 31DI8AWn3617656
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT);
 Tue, 14 Feb 2023 02:08:10 +0800
Received: (from root@localhost)
 by localhost.localdomain (8.15.2/8.15.2/Submit) id 31DI89li3617655;
 Tue, 14 Feb 2023 02:08:09 +0800
Date: Tue, 14 Feb 2023 02:08:09 +0800
From: qemudev@loongson.cn
Message-Id: <202302131808.31DI89li3617655@localhost.localdomain>
Content-Type: text/plain; charset="utf-8"
Subject: |FAILURE| pw123823-123824 [PATCH v3 2/2] test/mempool: add zero-copy
 API's
In-Reply-To: <20230213181826.145685-3-kamalakshitha.aligeri@arm.com>
References: <20230213181826.145685-3-kamalakshitha.aligeri@arm.com>
To: test-report@dpdk.org
Cc: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>, zhoumin@loongson.cn
X-CM-TRANSID: AQAAf8Ax97zFf+pjgmYyAA--.28190S3
X-CM-SenderInfo: pthp3vthy6z05rqj20fqof0/
X-Coremail-Antispam: 1Uk129KBjvAXoWfJFy8JFWDXF48XryDuryDWrg_yoW8WrW8Ao
 WSvr4UZa12y3WrWryjvrZrGw17Cw47A3W5Aw1Fyws0gFykXFs8Ary5JF43WF1jy3WrGFyj
 9a4vkry3CrW7Ar1fn29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7KY7ZEXasCq-sGcSsGvf
 J3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU0xBIdaVrnRJU
 UUqY1xkIjI8I6I8E6xAIw20EY4v20xvaj40_Wr0E3s1l8cAvFVAK0II2c7xJM28CjxkF64
 kEwVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVWUJVWUCwA2z4x0Y4vE2Ix0cI8IcVCY
 1x0267AKxVWUJVW8JwA2z4x0Y4vEx4A2jsIE14v26r1j6r4UM28EF7xvwVC2z280aVCY1x
 0267AKxVWUJVW8JwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2zVCF
 FI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VCjz48v1sIEY20_WwAm72CE4IkC6x0Yz7
 v_Jr0_Gr1lw4CEc2x0rVAKj4xxMxAIw28IcxkI7VAKI48JMxAIw28IcVCjz48v1sIEY20_
 WwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4
 vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jrv_JF1lIxkGc2Ij64vIr41lIxAIcVC0I7IY
 x2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF04k26c
 xKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAF
 wI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7xRENVy7UUUUU==
X-BeenThere: test-report@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: automatic DPDK test reports <test-report.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/test-report>,
 <mailto:test-report-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/test-report/>
List-Post: <mailto:test-report@dpdk.org>
List-Help: <mailto:test-report-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/test-report>,
 <mailto:test-report-request@dpdk.org?subject=subscribe>
Errors-To: test-report-bounces@dpdk.org

Test-Label: loongarch-compilation
Test-Status: FAILURE
http://dpdk.org/patch/123824

_ninja build failure_

Submitter: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
Date: Mon, 13 Feb 2023 18:18:25 +0000
DPDK git baseline: Repo:dpdk
  Branch: main
  CommitID: 39d469a7eb4f157923be73aea0b0cc1015860ca7

123823-123824 --> ninja build failed

Test environment and result as below:

+---------------------+----------------+
|     Environment     | compilation    |
+---------------------+----------------+
| Loongnix-Server 8.3 | FAIL           |
+---------------------+----------------+

Loongnix-Server 8.3
    Kernel: 4.19.190+
    Compiler: gcc 8.3


Ninja build logs:
-------------------------------BEGIN LOGS----------------------------
FAILED: app/test/dpdk-test
cc -o app/test/dpdk-test app/test/dpdk-test.p/commands.c.o app/test/dpdk-test.p/packet_burst_generator.c.o app/test/dpdk-test.p/test.c.o app/test/dpdk-test.p/test_acl.c.o app/test/dpdk-test.p/test_alarm.c.o app/test/dpdk-test.p/test_atomic.c.o app/test/dpdk-test.p/test_barrier.c.o app/test/dpdk-test.p/test_bitops.c.o app/test/dpdk-test.p/test_bitmap.c.o app/test/dpdk-test.p/test_bpf.c.o app/test/dpdk-test.p/test_byteorder.c.o app/test/dpdk-test.p/test_cksum.c.o app/test/dpdk-test.p/test_cksum_perf.c.o app/test/dpdk-test.p/test_cmdline.c.o app/test/dpdk-test.p/test_cmdline_cirbuf.c.o app/test/dpdk-test.p/test_cmdline_etheraddr.c.o app/test/dpdk-test.p/test_cmdline_ipaddr.c.o app/test/dpdk-test.p/test_cmdline_lib.c.o app/test/dpdk-test.p/test_cmdline_num.c.o app/test/dpdk-test.p/test_cmdline_portlist.c.o app/test/dpdk-test.p/test_cmdline_string.c.o app/test/dpdk-test.p/test_common.c.o app/test/dpdk-test.p/test_cpuflags.c.o app/test/dpdk-test.p/test_crc.c.o app/test/dpdk-test.p/test_cry
 ptodev.c.o app/test/dpdk-test.p/test_cryptodev_asym.c.o app/test/dpdk-test.p/test_cryptodev_blockcipher.c.o app/test/dpdk-test.p/test_cryptodev_security_ipsec.c.o app/test/dpdk-test.p/test_cryptodev_security_pdcp.c.o app/test/dpdk-test.p/test_cycles.c.o app/test/dpdk-test.p/test_debug.c.o app/test/dpdk-test.p/test_devargs.c.o app/test/dpdk-test.p/test_distributor.c.o app/test/dpdk-test.p/test_distributor_perf.c.o app/test/dpdk-test.p/test_dmadev.c.o app/test/dpdk-test.p/test_dmadev_api.c.o app/test/dpdk-test.p/test_eal_flags.c.o app/test/dpdk-test.p/test_eal_fs.c.o app/test/dpdk-test.p/test_efd.c.o app/test/dpdk-test.p/test_efd_perf.c.o app/test/dpdk-test.p/test_errno.c.o app/test/dpdk-test.p/test_ethdev_link.c.o app/test/dpdk-test.p/test_event_crypto_adapter.c.o app/test/dpdk-test.p/test_event_eth_rx_adapter.c.o app/test/dpdk-test.p/test_event_ring.c.o app/test/dpdk-test.p/test_event_timer_adapter.c.o app/test/dpdk-test.p/test_eventdev.c.o app/test/dpdk-test.p/test_external_mem.c.o
  app/test/dpdk-test.p/test_fbarray.c.o app/t!
 est/dpdk-test.p/test_fib.c.o app/test/dpdk-test.p/test_fib_perf.c.o app/test/dpdk-test.p/test_fib6.c.o app/test/dpdk-test.p/test_fib6_perf.c.o app/test/dpdk-test.p/test_func_reentrancy.c.o app/test/dpdk-test.p/test_graph.c.o app/test/dpdk-test.p/test_graph_perf.c.o app/test/dpdk-test.p/test_hash.c.o app/test/dpdk-test.p/test_hash_functions.c.o app/test/dpdk-test.p/test_hash_multiwriter.c.o app/test/dpdk-test.p/test_hash_readwrite.c.o app/test/dpdk-test.p/test_hash_perf.c.o app/test/dpdk-test.p/test_hash_readwrite_lf_perf.c.o app/test/dpdk-test.p/test_interrupts.c.o app/test/dpdk-test.p/test_ipfrag.c.o app/test/dpdk-test.p/test_ipsec.c.o app/test/dpdk-test.p/test_ipsec_sad.c.o app/test/dpdk-test.p/test_ipsec_perf.c.o app/test/dpdk-test.p/test_kni.c.o app/test/dpdk-test.p/test_kvargs.c.o app/test/dpdk-test.p/test_lcores.c.o app/test/dpdk-test.p/test_logs.c.o app/test/dpdk-test.p/test_lpm.c.o app/test/dpdk-test.p/test_lpm6.c.o app/test/dpdk-test.p/test_lpm6_perf.c.o app/test/dpdk-test.
 p/test_lpm_perf.c.o app/test/dpdk-test.p/test_malloc.c.o app/test/dpdk-test.p/test_malloc_perf.c.o app/test/dpdk-test.p/test_mbuf.c.o app/test/dpdk-test.p/test_member.c.o app/test/dpdk-test.p/test_member_perf.c.o app/test/dpdk-test.p/test_memcpy.c.o app/test/dpdk-test.p/test_memcpy_perf.c.o app/test/dpdk-test.p/test_memory.c.o app/test/dpdk-test.p/test_mempool.c.o app/test/dpdk-test.p/test_mempool_perf.c.o app/test/dpdk-test.p/test_memzone.c.o app/test/dpdk-test.p/test_meter.c.o app/test/dpdk-test.p/test_mcslock.c.o app/test/dpdk-test.p/test_mp_secondary.c.o app/test/dpdk-test.p/test_per_lcore.c.o app/test/dpdk-test.p/test_pflock.c.o app/test/dpdk-test.p/test_pmd_perf.c.o app/test/dpdk-test.p/test_power.c.o app/test/dpdk-test.p/test_power_cpufreq.c.o app/test/dpdk-test.p/test_power_kvm_vm.c.o app/test/dpdk-test.p/test_power_intel_uncore.c.o app/test/dpdk-test.p/test_prefetch.c.o app/test/dpdk-test.p/test_rand_perf.c.o app/test/dpdk-test.p/test_rawdev.c.o app/test/dpdk-test.p/test_rc
 u_qsbr.c.o app/test/dpdk-test.p/test_rcu_qsb!
 r_perf.c.!
 o app/test/dpdk-test.p/test_reciprocal_division.c.o app/test/dpdk-test.p/test_reciprocal_division_perf.c.o app/test/dpdk-test.p/test_red.c.o app/test/dpdk-test.p/test_pie.c.o app/test/dpdk-test.p/test_reorder.c.o app/test/dpdk-test.p/test_rib.c.o app/test/dpdk-test.p/test_rib6.c.o app/test/dpdk-test.p/test_ring.c.o app/test/dpdk-test.p/test_ring_mpmc_stress.c.o app/test/dpdk-test.p/test_ring_hts_stress.c.o app/test/dpdk-test.p/test_ring_mt_peek_stress.c.o app/test/dpdk-test.p/test_ring_mt_peek_stress_zc.c.o app/test/dpdk-test.p/test_ring_perf.c.o app/test/dpdk-test.p/test_ring_rts_stress.c.o app/test/dpdk-test.p/test_ring_st_peek_stress.c.o app/test/dpdk-test.p/test_ring_st_peek_stress_zc.c.o app/test/dpdk-test.p/test_ring_stress.c.o app/test/dpdk-test.p/test_rwlock.c.o app/test/dpdk-test.p/test_sched.c.o app/test/dpdk-test.p/test_security.c.o app/test/dpdk-test.p/test_security_inline_proto.c.o app/test/dpdk-test.p/test_seqlock.c.o app/test/dpdk-test.p/test_service_cores.c.o app/tes
 t/dpdk-test.p/test_spinlock.c.o app/test/dpdk-test.p/test_stack.c.o app/test/dpdk-test.p/test_stack_perf.c.o app/test/dpdk-test.p/test_string_fns.c.o app/test/dpdk-test.p/test_tailq.c.o app/test/dpdk-test.p/test_thash.c.o app/test/dpdk-test.p/test_thash_perf.c.o app/test/dpdk-test.p/test_threads.c.o app/test/dpdk-test.p/test_timer.c.o app/test/dpdk-test.p/test_timer_perf.c.o app/test/dpdk-test.p/test_timer_racecond.c.o app/test/dpdk-test.p/test_timer_secondary.c.o app/test/dpdk-test.p/test_ticketlock.c.o app/test/dpdk-test.p/test_trace.c.o app/test/dpdk-test.p/test_trace_register.c.o app/test/dpdk-test.p/test_trace_perf.c.o app/test/dpdk-test.p/test_version.c.o app/test/dpdk-test.p/virtual_pmd.c.o app/test/dpdk-test.p/test_metrics.c.o app/test/dpdk-test.p/test_telemetry_json.c.o app/test/dpdk-test.p/test_telemetry_data.c.o app/test/dpdk-test.p/test_table.c.o app/test/dpdk-test.p/test_table_acl.c.o app/test/dpdk-test.p/test_table_combined.c.o app/test/dpdk-test.p/test_table_pipeline.
 c.o app/test/dpdk-test.p/test_table_ports.c.!
 o app/tes!
 t/dpdk-test.p/test_table_tables.c.o app/test/dpdk-test.p/test_link_bonding.c.o app/test/dpdk-test.p/test_link_bonding_rssconf.c.o app/test/dpdk-test.p/test_link_bonding_mode4.c.o app/test/dpdk-test.p/test_pmd_ring_perf.c.o app/test/dpdk-test.p/test_pmd_ring.c.o app/test/dpdk-test.p/test_event_eth_tx_adapter.c.o app/test/dpdk-test.p/sample_packet_forward.c.o app/test/dpdk-test.p/test_bitratestats.c.o app/test/dpdk-test.p/test_latencystats.c.o app/test/dpdk-test.p/test_pdump.c.o app/test/dpdk-test.p/test_vdev.c.o app/test/dpdk-test.p/test_pcapng.c.o app/test/dpdk-test.p/test_compressdev.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,--whole-archive -Wl,--start-group lib/librte_node.a lib/librte_graph.a lib/librte_pipeline.a lib/librte_table.a lib/librte_pdump.a lib/librte_port.a lib/librte_fib.a lib/librte_ipsec.a lib/librte_vhost.a lib/librte_stack.a lib/librte_security.a lib/librte_sched.a lib/librte_reorder.a lib/librte_rib.a lib/librte_dmadev.a lib/librte_regexdev.a lib/librte
 _rawdev.a lib/librte_power.a lib/librte_pcapng.a lib/librte_member.a lib/librte_lpm.a lib/librte_latencystats.a lib/librte_jobstats.a lib/librte_ip_frag.a lib/librte_gso.a lib/librte_gro.a lib/librte_gpudev.a lib/librte_eventdev.a lib/librte_efd.a lib/librte_distributor.a lib/librte_cryptodev.a lib/librte_compressdev.a lib/librte_cfgfile.a lib/librte_bpf.a lib/librte_bitratestats.a lib/librte_bbdev.a lib/librte_acl.a lib/librte_timer.a lib/librte_hash.a lib/librte_metrics.a lib/librte_cmdline.a lib/librte_pci.a lib/librte_ethdev.a lib/librte_meter.a lib/librte_net.a lib/librte_mbuf.a lib/librte_mempool.a lib/librte_rcu.a lib/librte_ring.a lib/librte_eal.a lib/librte_telemetry.a lib/librte_kvargs.a drivers/librte_common_cpt.a drivers/librte_common_dpaax.a drivers/librte_common_iavf.a drivers/librte_common_idpf.a drivers/librte_common_octeontx.a drivers/librte_bus_auxiliary.a drivers/librte_bus_dpaa.a drivers/librte_bus_fslmc.a drivers/librte_bus_ifpga.a drivers/librte_bus_pci.a drive
 rs/librte_bus_vdev.a drivers/librte_bus_vmbu!
 s.a drive!
 rs/librte_common_cnxk.a drivers/librte_common_qat.a drivers/librte_mempool_bucket.a drivers/librte_mempool_cnxk.a drivers/librte_mempool_dpaa.a drivers/librte_mempool_dpaa2.a drivers/librte_mempool_octeontx.a drivers/librte_mempool_ring.a drivers/librte_mempool_stack.a drivers/librte_dma_cnxk.a drivers/librte_dma_dpaa.a drivers/librte_dma_dpaa2.a drivers/librte_dma_skeleton.a drivers/librte_net_af_packet.a drivers/librte_net_ark.a drivers/librte_net_atlantic.a drivers/librte_net_avp.a drivers/librte_net_axgbe.a drivers/librte_net_bnx2x.a drivers/librte_net_bnxt.a drivers/librte_net_bond.a drivers/librte_net_cnxk.a drivers/librte_net_cxgbe.a drivers/librte_net_dpaa.a drivers/librte_net_dpaa2.a drivers/librte_net_e1000.a drivers/librte_net_ena.a drivers/librte_net_enetc.a drivers/librte_net_enetfec.a drivers/librte_net_enic.a drivers/librte_net_failsafe.a drivers/librte_net_fm10k.a drivers/librte_net_gve.a drivers/librte_net_hinic.a drivers/librte_net_iavf.a drivers/librte_net_ice.a d
 rivers/librte_net_idpf.a drivers/librte_net_igc.a drivers/librte_net_ionic.a drivers/librte_net_ipn3ke.a drivers/librte_net_ixgbe.a drivers/librte_net_liquidio.a drivers/librte_net_memif.a drivers/librte_net_netvsc.a drivers/librte_net_nfp.a drivers/librte_net_ngbe.a drivers/librte_net_null.a drivers/librte_net_octeontx.a drivers/librte_net_octeon_ep.a drivers/librte_net_pcap.a drivers/librte_net_pfe.a drivers/librte_net_qede.a drivers/librte_net_ring.a drivers/librte_net_softnic.a drivers/librte_net_tap.a drivers/librte_net_thunderx.a drivers/librte_net_txgbe.a drivers/librte_net_vdev_netvsc.a drivers/librte_net_vhost.a drivers/librte_net_virtio.a drivers/librte_net_vmxnet3.a drivers/librte_raw_cnxk_bphy.a drivers/librte_raw_cnxk_gpio.a drivers/librte_raw_dpaa2_cmdif.a drivers/librte_raw_ntb.a drivers/librte_raw_skeleton.a drivers/librte_crypto_bcmfs.a drivers/librte_crypto_caam_jr.a drivers/librte_crypto_ccp.a drivers/librte_crypto_cnxk.a drivers/librte_crypto_dpaa_sec.a drivers/l
 ibrte_crypto_dpaa2_sec.a drivers/librte_cryp!
 to_nitrox!
 .a drivers/librte_crypto_null.a drivers/librte_crypto_octeontx.a drivers/librte_crypto_openssl.a drivers/librte_crypto_scheduler.a drivers/librte_crypto_virtio.a drivers/librte_compress_octeontx.a drivers/librte_compress_zlib.a drivers/librte_regex_cn9k.a drivers/librte_vdpa_ifc.a drivers/librte_event_cnxk.a drivers/librte_event_dpaa.a drivers/librte_event_dpaa2.a drivers/librte_event_dsw.a drivers/librte_event_opdl.a drivers/librte_event_skeleton.a drivers/librte_event_sw.a drivers/librte_event_octeontx.a drivers/librte_baseband_acc.a drivers/librte_baseband_fpga_5gnr_fec.a drivers/librte_baseband_fpga_lte_fec.a drivers/librte_baseband_la12xx.a drivers/librte_baseband_null.a drivers/librte_baseband_turbo_sw.a -Wl,--no-whole-archive -Wl,--no-as-needed -pthread -lm -ldl -lnuma -lfdt /usr/lib64/libz.so /usr/lib64/libelf.so /usr/lib64/libpcap.so /usr/lib64/libcrypto.so -Wl,--end-group -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/usr/bin/ld: app/test/dpdk-test.p/test_mempool.c.o: in function `.L218':
test_mempool.c:(.text+0xcb0): undefined reference to `rte_mempool_cache_zc_get_bulk'
/usr/bin/ld: app/test/dpdk-test.p/test_mempool.c.o: in function `.L293':
test_mempool.c:(.text+0xda8): undefined reference to `rte_mempool_cache_zc_get_bulk'
/usr/bin/ld: app/test/dpdk-test.p/test_mempool.c.o: in function `.L297':
test_mempool.c:(.text+0xf30): undefined reference to `rte_mempool_cache_zc_put_bulk'
/usr/bin/ld: test_mempool.c:(.text+0xf60): undefined reference to `rte_mempool_cache_zc_get_bulk'
/usr/bin/ld: test_mempool.c:(.text+0xf78): undefined reference to `rte_mempool_cache_zc_get_bulk'
/usr/bin/ld: test_mempool.c:(.text+0xfa8): undefined reference to `rte_mempool_cache_zc_put_bulk'
/usr/bin/ld: test_mempool.c:(.text+0xfc0): undefined reference to `rte_mempool_cache_zc_put_bulk'
/usr/bin/ld: app/test/dpdk-test.p/test_mempool.c.o: in function `.L298':
test_mempool.c:(.text+0x1130): undefined reference to `rte_mempool_cache_zc_get_bulk'
/usr/bin/ld: app/test/dpdk-test.p/test_mempool.c.o: in function `.L300':
test_mempool.c:(.text+0x1248): undefined reference to `rte_mempool_cache_zc_put_bulk'
collect2: error: ld returned 1 exit status
[2805/2817] Linking target app/dpdk-test-security-perf
[2806/2817] Linking target app/dpdk-test-flow-perf
[2807/2817] Linking target app/dpdk-test-sad
[2808/2817] Linking target app/dpdk-testpmd
[2809/2817] Linking target app/dpdk-test-acl
[2810/2817] Linking target app/dpdk-pdump
[2811/2817] Linking target app/dpdk-test-eventdev
[2812/2817] Linking target app/dpdk-test-bbdev
[2813/2817] Linking target app/dpdk-test-fib
[2814/2817] Linking target app/dpdk-test-regex
[2815/2817] Linking target app/dpdk-test-crypto-perf
[2816/2817] Linking target app/dpdk-test-cmdline
[2817/2817] Linking target app/dpdk-test-gpudev
ninja: build stopped: subcommand failed.
-------------------------------END LOGS------------------------------