From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from aserp2120.oracle.com (aserp2120.oracle.com [141.146.126.78]) by sourceware.org (Postfix) with ESMTPS id 7A263388C018 for ; Thu, 4 Jun 2020 09:42:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7A263388C018 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0549alA5116240 for ; Thu, 4 Jun 2020 09:42:04 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by aserp2120.oracle.com with ESMTP id 31evap0qqc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 04 Jun 2020 09:42:04 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0549XUT5185827 for ; Thu, 4 Jun 2020 09:42:04 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3030.oracle.com with ESMTP id 31ej105937-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 04 Jun 2020 09:42:04 +0000 Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 0549g277024713 for ; Thu, 4 Jun 2020 09:42:03 GMT Received: from termi.oracle.com (/10.175.21.214) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 04 Jun 2020 02:42:02 -0700 From: "Jose E. Marchesi" To: "Jose E. Marchesi via Binutils" Subject: Re: [PATCH V2 0/3] Improve insn endianness support in CGEN ports References: <20200602142316.6780-1-jose.marchesi@oracle.com> Date: Thu, 04 Jun 2020 11:42:01 +0200 In-Reply-To: <20200602142316.6780-1-jose.marchesi@oracle.com> (Jose E. Marchesi via Binutils's message of "Tue, 2 Jun 2020 16:23:13 +0200") Message-ID: <87wo4n182e.fsf@oracle.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9641 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 bulkscore=0 suspectscore=9 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006040064 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9641 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 clxscore=1015 phishscore=0 mlxlogscore=999 mlxscore=0 suspectscore=9 cotscore=-2147483648 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006040064 X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Jun 2020 09:42:09 -0000 If there are no further comments, I would like to install this series. OK for master? [Changes from V1: - Rebased to latest master. - Typo fixed in ChangeLog entry. - Use the latest cgen to regenerate files. - Use insn_endian in both gas/cgen.c and gas/config/tc-mep.c] Hi people! This patch series improves the support for CGEN-based architectures having different data endianness and instruction endianness. This is the case of the BPF port. The first patch adds support for a new argument for cgen_cpu_open, that ports can use in order to specify an instruction endianness. If the argument is not provided then the instruction endianness is assumed to be the general endian. This patch depends on a CGEN patch that should be applied simultaneously, and that has been pre-approved upstream already. See the patch description for more information. The second patch adapts the opcodes CGEN support code in order to use the right endianness parameter (instruction or data) depending on whether it is reading/writing instruction opcodes or the contents of instruction operands. See the patch description for more information. The third patch is specific to the BPF port, and removes some workarounds that are no longer necessary, because the underlying problem has been solved by this series. The series has been regression-tested in the following targets, which cover both cgen and non-cgen ports: i386-darwin i386-lynxos i586-linux i686-nacl i686-pc-beos i686-pc-elf i686-pe i686-vxworks x86_64-linux x86_64-w64-mingw32 x86_64-nacl sparc-aout sparc-linux sparc-vxworks sparc64-linux sparc-sun-solaris2.12 mips-linux mips-vxworks mips64-linux mipsel-linux-gnu mipsisa32el-linux mips64-openbsd mipstx39-elf aarch64-linux arm-linuxeabi arm-nacl arm-netbsdelf arm-nto arm-pe arm-symbianelf arm-vxworks arm-wince-pe bpf-unknown-none alpha-dec-vms alpha-linux alpha-linuxecoff alpha-netbsd alpha-unknown-freebsd4.7 am33_2.0-linux arc-linux-uclibc avr-elf bfin-elf cr16-elf cris-elf crisv32-linux crx-elf d10v-elf d30v-elf dlx-elf epiphany-elf fr30-elf frv-elf frv-linux ft32-elf h8300-elf hppa-linux hppa-hp-hpux10 hppa64-hp-hpux11.23 hppa64-linux $MIPS_TARGETS ia64-elf ia64-freebsd5 ia64-hpux ia64-linux ia64-netbsd ia64-vms ip2k-elf iq2000-elf lm32-elf m32c-elf m32r-elf m68hc11-elf m68hc12-elf m68k-elf m68k-linux m68k-netbsd mcore-elf mcore-pe mep-elf metag-linux microblaze-elf $MIPS_TARGETS mmix mn10200-elf mn10300-elf moxie-elf ms1-elf msp430-elf mt-elf nds32le-elf nios2-linux or1k-elf pdp11-dec-aout pj-elf powerpc-eabisim powerpc-eabivle powerpc-linux powerpc-nto powerpc-wrs-vxworks powerpc64-linux powerpcle-cygwin powerpcle-elf powerpc64le-linux ppc-lynxos pru-elf riscv32-elf riscv64-elf rl78-elf rs6000-aix4.3.3 rs6000-aix5.1 rx-elf s390-linux s390x-linux score-elf sh-linux sh-nto sh-pe sh-rtems sh-vxworks shl-unknown-netbsdelf $SPARC_TARGETS spu-elf tic30-unknown-aout tic30-unknown-coff tic4x-coff tic54x-coff tic6x-elf tilegx-linux tilepro-linux v850-elf vax-netbsdelf visium-elf $X86_TARGETS xgate-elf xstormy16-elf xtensa-elf z8k-coff z80-coff No regressions observed. This has also been tested with --enable-targets=all. Salud! Jose E. Marchesi (3): opcodes: support insn endianness in cgen_cpu_open opcodes: discriminate endianness and insn-endianness in CGEN ports cpu,gas,opcodes: remove no longer needed workaround from the BPF port binutils/ChangeLog | 6 +++ binutils/objdump.c | 2 + cpu/ChangeLog | 10 +++++ cpu/bpf.cpu | 10 ++--- cpu/bpf.opc | 1 - cpu/mep.opc | 2 +- gas/ChangeLog | 17 ++++++++ gas/cgen.c | 9 +++-- gas/config/tc-bpf.c | 9 ++--- gas/config/tc-mep.c | 2 +- include/ChangeLog | 10 +++++ include/opcode/cgen.h | 11 +++++- opcodes/ChangeLog | 84 ++++++++++++++++++++++++++++++++++++++++ opcodes/bpf-desc.c | 16 ++++---- opcodes/bpf-dis.c | 10 ++++- opcodes/bpf-ibld.c | 10 ++--- opcodes/bpf-opc.c | 48 +++++++++++------------ opcodes/cgen-dis.in | 9 ++++- opcodes/cgen-ibld.in | 10 ++--- opcodes/cgen-opc.c | 18 +++++---- opcodes/disassemble.c | 1 + opcodes/epiphany-desc.c | 12 +++--- opcodes/epiphany-dis.c | 9 ++++- opcodes/epiphany-ibld.c | 10 ++--- opcodes/fr30-desc.c | 12 +++--- opcodes/fr30-dis.c | 9 ++++- opcodes/fr30-ibld.c | 10 ++--- opcodes/frv-desc.c | 12 +++--- opcodes/frv-dis.c | 9 ++++- opcodes/frv-ibld.c | 10 ++--- opcodes/ip2k-desc.c | 12 +++--- opcodes/ip2k-dis.c | 9 ++++- opcodes/ip2k-ibld.c | 10 ++--- opcodes/iq2000-desc.c | 12 +++--- opcodes/iq2000-dis.c | 9 ++++- opcodes/iq2000-ibld.c | 10 ++--- opcodes/lm32-desc.c | 12 +++--- opcodes/lm32-dis.c | 9 ++++- opcodes/lm32-ibld.c | 10 ++--- opcodes/m32c-desc.c | 12 +++--- opcodes/m32c-dis.c | 9 ++++- opcodes/m32c-ibld.c | 10 ++--- opcodes/m32r-desc.c | 12 +++--- opcodes/m32r-dis.c | 9 ++++- opcodes/m32r-ibld.c | 10 ++--- opcodes/mep-desc.c | 12 +++--- opcodes/mep-dis.c | 11 +++++- opcodes/mep-ibld.c | 10 ++--- opcodes/mt-desc.c | 12 +++--- opcodes/mt-dis.c | 9 ++++- opcodes/mt-ibld.c | 10 ++--- opcodes/or1k-desc.c | 12 +++--- opcodes/or1k-dis.c | 9 ++++- opcodes/or1k-ibld.c | 10 ++--- opcodes/xc16x-desc.c | 12 +++--- opcodes/xc16x-dis.c | 9 ++++- opcodes/xc16x-ibld.c | 10 ++--- opcodes/xstormy16-desc.c | 12 +++--- opcodes/xstormy16-dis.c | 9 ++++- opcodes/xstormy16-ibld.c | 10 ++--- 60 files changed, 485 insertions(+), 215 deletions(-)