From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com [IPv6:2607:f8b0:4864:20::42e]) by sourceware.org (Postfix) with ESMTPS id 38A823858D35 for ; Thu, 1 Dec 2022 18:26:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 38A823858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pf1-x42e.google.com with SMTP id h28so2652535pfq.9 for ; Thu, 01 Dec 2022 10:26:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Rmzf7EMo5Tk8Qz4n4/2le29rhSY+LVeJH9v+Ewc6EL0=; b=CMFopr7IbFRvRl1Rh0FpBgx45y4CA6T9xC1H36KZLDYW3yoX/9CIUKyjU3z/L/gVIz mYPuKzR5L69t1osQTRtktn4xq5D4JLgX6WrClxmyG95IRDPQnuNaVipG6AF/KoDj0KCp c27uiNwR0EajeYMTA7QRZ56Ho1DrW7vCrA02LQWQmnp+lFfqQFGQfN7dPhBkWJ86C08O TxPXtu72Uz2qfWi/ArjIsTcdRc2pUv/8OndTmb5v87jFW9BrWli/vTnVUhw4O7ZyA92x S+6y1fbF+ZrKBem000YCJUGxu8G5EDERTt0epW+pT0DVNSCzpd6W0/DbzL6tuU8f37C2 F/KA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Rmzf7EMo5Tk8Qz4n4/2le29rhSY+LVeJH9v+Ewc6EL0=; b=QGZrvREMXHxsRd7xvI/3s8Az/goQgMz4tLKPNc6wDr7K05k/XRJad471IXldW1+0IU 6Nn7bVCTzCNdptmpFAuee/iypPaSpwBaao8rKgBP3tSl9mS8yfMwkk3VNayDosifve5/ W7OWEigu4itYi847LN14wZAqqYA2Ig+PKrI/gPYSwF1uuwq5uIYMt34SHl5mvkcWy7sP r1iaUlK2cBAeQeBuAXqxxXZcrx0OyNLI9+SkabZj0TMguL54VzvPf+240QGTvvOae/AG BPGnEAfWUptPCqzaLymK3VQJvzJKlE49w77q9uZPDFcvn/Ybmj4gVVzgTBuAMM2c6YR9 YwHA== X-Gm-Message-State: ANoB5pmZET2IjE2z48eF9sv9u9DfDlukFvaTYojOwXIHkngfzzaF2P8o 4ikVx8tS5xNb/FEZ+a2sdHrnuIzs3wE= X-Google-Smtp-Source: AA0mqf6gK1wKHD89U0oBShWeGTEyauyGP3bXu5VwCK0WrS9RjlaKvx1vOSObYoIdV/rymKEva2gDxw== X-Received: by 2002:a63:110d:0:b0:46e:bcc1:28df with SMTP id g13-20020a63110d000000b0046ebcc128dfmr42558007pgl.187.1669919213669; Thu, 01 Dec 2022 10:26:53 -0800 (PST) Received: from gnu-cfl-3.localdomain ([172.56.30.140]) by smtp.gmail.com with ESMTPSA id x28-20020aa78f1c000000b005623f96c24bsm3541850pfr.89.2022.12.01.10.26.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Dec 2022 10:26:53 -0800 (PST) Received: by gnu-cfl-3.localdomain (Postfix, from userid 1000) id 8D59574014D; Thu, 1 Dec 2022 10:26:51 -0800 (PST) Date: Thu, 1 Dec 2022 10:26:51 -0800 From: "H.J. Lu" To: Jan Beulich Cc: Binutils Subject: [PATCH v3] x86: Remove libopcodes dependency Message-ID: References: <20221122181927.251937-1-hjl.tools@gmail.com> <6a5d4918-919a-8b6b-822b-17ce38488629@suse.com> <63e51eee-e9f4-5332-d69e-feca3421553b@suse.com> <8bb7a0f0-5809-af64-7fc8-1aabe1047dc0@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8bb7a0f0-5809-af64-7fc8-1aabe1047dc0@suse.com> X-Spam-Status: No, score=-3024.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Thu, Dec 01, 2022 at 08:41:28AM +0100, Jan Beulich wrote: > On 30.11.2022 23:22, H.J. Lu wrote: > > On Tue, Nov 29, 2022 at 10:58 PM Jan Beulich wrote: > >> On 30.11.2022 01:06, H.J. Lu wrote: > >>> On Tue, Nov 29, 2022 at 11:38 AM H.J. Lu wrote: > >>>> On Tue, Nov 29, 2022 at 1:22 AM Jan Beulich wrote: > >>>>> On 29.11.2022 00:49, H.J. Lu wrote: > >>>>>> On Thu, Nov 24, 2022 at 2:19 AM Jan Beulich wrote: > >>>>>>> On 22.11.2022 19:19, H.J. Lu wrote: > >>>>>>>> --- a/gas/Makefile.am > >>>>>>>> +++ b/gas/Makefile.am > >>>>>>>> @@ -446,6 +446,12 @@ development.exp: $(BFDDIR)/development.sh > >>>>>>>> $(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh \ > >>>>>>>> | $(AWK) -F= '{ print "set " $$1 " " $$2 }' > $@ > >>>>>>>> > >>>>>>>> +$(srcdir)/../opcodes/i386-init.h $(srcdir)/../opcodes/i386-tbl.h: \ > >>>>>>>> + @MAINT@ $(srcdir)/../opcodes/i386-opc.tbl \ > >>>>>>>> + $(srcdir)/../opcodes/i386-reg.tbl \ > >>>>>>>> + $(srcdir)/../opcodes/i386-opc.h > >>>>>>>> + cd ../opcodes; make gen-i386-tbl > >>>>>>> > >>>>>>> I've made a patch to gas/Makefile.am as you have requested in reply to > >>>>>>> my series. I will want to put that through some more testing, so I will > >>>>>>> submit a v3 of that only a little later (and of course only unless you > >>>>>>> submit a v2 of your patch earlier that I would also end up being okay > >>>>>>> with). In the course of doing so I noticed a few more issues with your > >>>>>>> change: > >>>>>>> > >>>>>>> For one I don't think you can put @MAINT@ on a continued line, as the > >>>>>>> line continuation might then be hidden when @MAINT@ expands to #. The > >>>>>>> list of dependencies wants expressing via a variable, which would then > >>>>>>> be used immediately after @MAINT@ without any line continuation > >>>>>>> following. > >>>>>> > >>>>>> Fixed. > >>>>> > >>>>> No, the same problem is still there. You either need to use a very long > >>>>> line, or you need to introduce a variable holding the list of prereqs, > >>>>> like I've done in my series. > >>>> > >>>> I got > >>>> > >>>> $(srcdir)/../opcodes/i386-init.h $(srcdir)/../opcodes/i386-tbl.h: > >>>> $(srcdir)/../opcodes/i386-opc.tbl \ > >>>> $(srcdir)/../opcodes/i386-reg.tbl \ > >>>> $(srcdir)/../opcodes/i386-opc.h \ > >>>> $(srcdir)/../opcodes/i386-gen.c > >>>> $(MAKE) -C ../opcodes gen-i386-tbl > >>>> > >>>> and > >>>> > >>>> $(srcdir)/../opcodes/i386-init.h $(srcdir)/../opcodes/i386-tbl.h: # > >>>> $(srcdir)/../opcodes/i386-opc.tbl \ > >>>> $(srcdir)/../opcodes/i386-reg.tbl \ > >>>> $(srcdir)/../opcodes/i386-opc.h \ > >>>> $(srcdir)/../opcodes/i386-gen.c > >>>> $(MAKE) -C ../opcodes gen-i386-tbl > >>>> > >>>> I didn't run into any problems. > >>>> > >>>>>>> And then your rule / dependency won't be enough on a "maintainer-clean" > >>>>>>> tree, i.e. when the generated headers aren't there at all, and when > >>>>>>> config/.deps/tc-i386.Po is still empty. In that case nothing would > >>>>>>> trigger their generation; an explicit dependency of config/tc-i386.o on > >>>>>>> these headers needs adding here. > >>>>>> > >>>>>> Fixed. > >>>>>> > >>>>>>> Finally you're missing a dependency of the generated headers on > >>>>>>> i386-gen.c. > >>>>>> > >>>>>> They have a dependency on i386-gen which depends on i386-gen.c. > >>>>> > >>>>> In opcodes/, yes, but talk was about the rule in gas/. Yet despite > >>>>> your comment above I see that you've added the missing dependency. > >>>>> > >>>>>> Here is the v2 patch. > >>>>> > >>>>> As said in reply to v1 - my objection to this particular use of make > >>>>> recursion remains. > >>>> > >>>> The gen-i386-tbl rule doesn't touch any files used by libopcodes. > >>> > >>> There are > >>> > >>> bfd/Makefile.in: ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) > >>> $$local_target) \ > >>> binutils/Makefile.in: ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) > >>> $$local_target) \ > >>> gas/Makefile.in: ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) > >>> $$local_target) \ > >> > >> I'm glad you spotted this yourself - I was just about to point out > >> that my concern isn't only a theoretical one, because of the > >> generated makefiles we use. You don't draw any conclusion though: > >> Are you willing to accept my approach, specifically reworked to > >> account for an extra request of yours? Or are you meaning to make > >> another attempt yourself, avoiding the undue make recursion? > >> > > > > Calling $(MAKE) in Makefile is very normal in binutils-gdb. > > Any further examples where this isn't done strictly top-down, or in > a properly controlled way within a single directory? I can indeed > spot many instances of $(MAKE), but none matching the pattern you > intend to introduce. > > > I don't see anything wrong with my approach. I prefer my > > approach. > > I understand you prefer it, but given you've found what's wrong > yourself, I'm puzzled by "I don't see anything wrong with my > approach". Or wait - looks like I misread what you pointed out > above: That looks to be something from the top level Makefile. > Yet then again I can't spot any such in my build trees. Where is > that excerpt from? (I can spot somewhat similar patterns, but > they're used strictly to recurse _down_, just like looks to be > the case with what you've quoted.) > > In any event, a practical manifestation of the issue I've said > I'm concerned of is this: If a 2nd party anywhere in the tree did > the same you do, and if the two $(MAKE) invocations then raced > with one another, then it's plain undefined what would happen to Fixed. > the recursed-into Makefile when that needs re-generating for > whatever reason. Hence $(MAKE) recursion should only occur > strictly top-down, with (suitably controlled) recursion _within_ > a directory possibly being okay (would need proving for every > individual instance). > > Jan H.J. --- As Jan Beulich noticed, since i386-init.h and i386-tbl.h are only used by tc-i386.c, we can remove libopcodes dependency by including opcodes/i386-tbl.h directly. gas/ * Makefile.am ($(srcdir)/../opcodes/i386-init.h $(srcdir)/../opcodes/i386-tbl.h): New rule. * configure.ac (need_opcodes): Don't set for i386. * config/tc-i386.c: Include "opcodes/i386-tbl.h". * Makefile.in: Regenerated. * configure: Likewise. opcodes/ * Makefile.am (TARGET32_LIBOPCODES_CFILES): Remove i386-opc.c. (i386-opc.lo): Removed. ($(srcdir)/i386-tbl.h): New rule. ($(srcdir)/i386-init.h): Likewise. (gen-i386-tbl): Likewise. * configure.ac: Remove i386-opc.lo. * i386-opc.c: Removed. * i386-opc.h (insn_template): Change name to const char *. (i386_regtab): Removed. (i386_regtab_size): Likewise. * Makefile.in: Regenerated. * configure: Likewise. * po/POTFILES.in: Likewise. --- gas/Makefile.am | 12 ++++++++++++ gas/Makefile.in | 12 ++++++++++++ gas/config/tc-i386.c | 1 + gas/configure | 2 +- gas/configure.ac | 2 +- opcodes/Makefile.am | 6 +----- opcodes/Makefile.in | 7 +------ opcodes/configure | 2 +- opcodes/configure.ac | 2 +- opcodes/i386-opc.c | 24 ------------------------ opcodes/i386-opc.h | 5 +---- opcodes/po/POTFILES.in | 1 - 12 files changed, 32 insertions(+), 44 deletions(-) delete mode 100644 opcodes/i386-opc.c diff --git a/gas/Makefile.am b/gas/Makefile.am index dc5931252e4..bf9c7a4eb7e 100644 --- a/gas/Makefile.am +++ b/gas/Makefile.am @@ -448,6 +448,18 @@ development.exp: $(BFDDIR)/development.sh $(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh \ | $(AWK) -F= '{ print "set " $$1 " " $$2 }' > $@ +config/tc-i386.@OBJEXT@: $(srcdir)/../opcodes/i386-init.h \ + $(srcdir)/../opcodes/i386-tbl.h + +# i386-gen will generate both headers in one go. Use a pattern rule to +# properly express this, with the inner dash ('-') arbitrarily chosen to +# be the stem. +$(srcdir)/../opcodes/i386%init.h $(srcdir)/../opcodes/i386%tbl.h: @MAINT@ $(srcdir)/../opcodes/i386-opc.tbl \ + $(srcdir)/../opcodes/i386-reg.tbl \ + $(srcdir)/../opcodes/i386-opc.h \ + $(srcdir)/../opcodes/i386-gen.c + $(MAKE) -C ../opcodes gen-i386-tbl + EXTRA_as_new_SOURCES += config/m68k-parse.y config/m68k-parse.c: $(srcdir)/config/m68k-parse.y $(SHELL) $(YLWRAP) $(srcdir)/config/m68k-parse.y y.tab.c $@ -- $(YACCCOMPILE) diff --git a/gas/Makefile.in b/gas/Makefile.in index 8324cbe999d..349e7614039 100644 --- a/gas/Makefile.in +++ b/gas/Makefile.in @@ -2064,6 +2064,18 @@ check-DEJAGNU: site.exp development.exp: $(BFDDIR)/development.sh $(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh \ | $(AWK) -F= '{ print "set " $$1 " " $$2 }' > $@ + +config/tc-i386.@OBJEXT@: $(srcdir)/../opcodes/i386-init.h \ + $(srcdir)/../opcodes/i386-tbl.h + +# i386-gen will generate both headers in one go. Use a pattern rule to +# properly express this, with the inner dash ('-') arbitrarily chosen to +# be the stem. +$(srcdir)/../opcodes/i386%init.h $(srcdir)/../opcodes/i386%tbl.h: @MAINT@ $(srcdir)/../opcodes/i386-opc.tbl \ + $(srcdir)/../opcodes/i386-reg.tbl \ + $(srcdir)/../opcodes/i386-opc.h \ + $(srcdir)/../opcodes/i386-gen.c + $(MAKE) -C ../opcodes gen-i386-tbl config/m68k-parse.c: $(srcdir)/config/m68k-parse.y $(SHELL) $(YLWRAP) $(srcdir)/config/m68k-parse.y y.tab.c $@ -- $(YACCCOMPILE) config/m68k-parse.h: config/m68k-parse.c diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 55e2d85d04b..0211d8817fd 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -34,6 +34,7 @@ #include "sframe.h" #include "elf/x86-64.h" #include "opcodes/i386-init.h" +#include "opcodes/i386-tbl.h" #include #ifndef INFER_ADDR_PREFIX diff --git a/gas/configure b/gas/configure index 57c1fa3557e..f329b905d37 100755 --- a/gas/configure +++ b/gas/configure @@ -12263,7 +12263,7 @@ _ACEOF # Do we need the opcodes library? case ${cpu_type} in - vax | tic30) + i386 | vax | tic30) ;; *) diff --git a/gas/configure.ac b/gas/configure.ac index feb43399ce8..7f165c9fe64 100644 --- a/gas/configure.ac +++ b/gas/configure.ac @@ -420,7 +420,7 @@ changequote([,])dnl # Do we need the opcodes library? case ${cpu_type} in - vax | tic30) + i386 | vax | tic30) ;; *) diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am index cb6ff0ebc5e..517e0eb1cfd 100644 --- a/opcodes/Makefile.am +++ b/opcodes/Makefile.am @@ -160,7 +160,6 @@ TARGET32_LIBOPCODES_CFILES = \ h8300-dis.c \ hppa-dis.c \ i386-dis.c \ - i386-opc.c \ ip2k-asm.c \ ip2k-desc.c \ ip2k-dis.c \ @@ -560,10 +559,7 @@ $(srcdir)/i386%tbl.h $(srcdir)/i386%init.h: @MAINT@ i386-gen$(EXEEXT_FOR_BUILD) < $(srcdir)/i386-opc.tbl \ | ./i386-gen$(EXEEXT_FOR_BUILD) --srcdir $(srcdir) -i386-opc.lo: $(srcdir)/i386-tbl.h -# While not really a dependency, specify i386-init.h here as well to make sure -# it is generated even if i386-tbl.h is present and up-to-date. -i386-opc.lo: $(srcdir)/i386-init.h +gen-i386-tbl: $(srcdir)/i386-tbl.h $(srcdir)/i386-init.h ia64-gen$(EXEEXT_FOR_BUILD): ia64-gen.o $(BUILD_LIB_DEPS) $(AM_V_CCLD)$(LINK_FOR_BUILD) ia64-gen.o $(BUILD_LIBS) diff --git a/opcodes/Makefile.in b/opcodes/Makefile.in index 5524af5ccd2..9be2d279dfc 100644 --- a/opcodes/Makefile.in +++ b/opcodes/Makefile.in @@ -552,7 +552,6 @@ TARGET32_LIBOPCODES_CFILES = \ h8300-dis.c \ hppa-dis.c \ i386-dis.c \ - i386-opc.c \ ip2k-asm.c \ ip2k-desc.c \ ip2k-dis.c \ @@ -945,7 +944,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/h8300-dis.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hppa-dis.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386-dis.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386-opc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64-dis.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64-opc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ip2k-asm.Plo@am__quote@ @@ -1535,10 +1533,7 @@ $(srcdir)/i386%tbl.h $(srcdir)/i386%init.h: @MAINT@ i386-gen$(EXEEXT_FOR_BUILD) < $(srcdir)/i386-opc.tbl \ | ./i386-gen$(EXEEXT_FOR_BUILD) --srcdir $(srcdir) -i386-opc.lo: $(srcdir)/i386-tbl.h -# While not really a dependency, specify i386-init.h here as well to make sure -# it is generated even if i386-tbl.h is present and up-to-date. -i386-opc.lo: $(srcdir)/i386-init.h +gen-i386-tbl: $(srcdir)/i386-tbl.h $(srcdir)/i386-init.h ia64-gen$(EXEEXT_FOR_BUILD): ia64-gen.o $(BUILD_LIB_DEPS) $(AM_V_CCLD)$(LINK_FOR_BUILD) ia64-gen.o $(BUILD_LIBS) diff --git a/opcodes/configure b/opcodes/configure index 08c57a33855..9dc87d6c19c 100755 --- a/opcodes/configure +++ b/opcodes/configure @@ -12534,7 +12534,7 @@ if test x${all_targets} = xfalse ; then bfd_h8300_arch) ta="$ta h8300-dis.lo" ;; bfd_hppa_arch) ta="$ta hppa-dis.lo" ;; bfd_i386_arch|bfd_iamcu_arch) - ta="$ta i386-dis.lo i386-opc.lo" ;; + ta="$ta i386-dis.lo" ;; bfd_ia64_arch) ta="$ta ia64-dis.lo ia64-opc.lo" ;; bfd_ip2k_arch) ta="$ta ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo" using_cgen=yes ;; bfd_epiphany_arch) ta="$ta epiphany-asm.lo epiphany-desc.lo epiphany-dis.lo epiphany-ibld.lo epiphany-opc.lo" using_cgen=yes ;; diff --git a/opcodes/configure.ac b/opcodes/configure.ac index e998d613436..8c79deb9ffc 100644 --- a/opcodes/configure.ac +++ b/opcodes/configure.ac @@ -282,7 +282,7 @@ if test x${all_targets} = xfalse ; then bfd_h8300_arch) ta="$ta h8300-dis.lo" ;; bfd_hppa_arch) ta="$ta hppa-dis.lo" ;; bfd_i386_arch|bfd_iamcu_arch) - ta="$ta i386-dis.lo i386-opc.lo" ;; + ta="$ta i386-dis.lo" ;; bfd_ia64_arch) ta="$ta ia64-dis.lo ia64-opc.lo" ;; bfd_ip2k_arch) ta="$ta ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo" using_cgen=yes ;; bfd_epiphany_arch) ta="$ta epiphany-asm.lo epiphany-desc.lo epiphany-dis.lo epiphany-ibld.lo epiphany-opc.lo" using_cgen=yes ;; diff --git a/opcodes/i386-opc.c b/opcodes/i386-opc.c deleted file mode 100644 index 729c22932b1..00000000000 --- a/opcodes/i386-opc.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Intel 80386 opcode table - Copyright (C) 2007-2022 Free Software Foundation, Inc. - - This file is part of the GNU opcodes library. - - This library is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - It is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, - MA 02110-1301, USA. */ - -#include "sysdep.h" -#include "libiberty.h" -#include "i386-opc.h" -#include "i386-tbl.h" diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index 215a72d18e1..8df7645d638 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -918,7 +918,7 @@ typedef union i386_operand_type typedef struct insn_template { /* instruction name sans width suffix ("mov" for movl insns) */ - char *name; + const char *name; /* Bitfield arrangement is such that individual fields can be easily extracted (in native builds at least) - either by at most a masking @@ -1005,6 +1005,3 @@ typedef struct #define Dw2Inval (-1) } reg_entry; - -extern const reg_entry i386_regtab[]; -extern const unsigned int i386_regtab_size; diff --git a/opcodes/po/POTFILES.in b/opcodes/po/POTFILES.in index 9906bf14848..effd73f8f78 100644 --- a/opcodes/po/POTFILES.in +++ b/opcodes/po/POTFILES.in @@ -73,7 +73,6 @@ h8300-dis.c hppa-dis.c i386-dis.c i386-gen.c -i386-opc.c i386-opc.h ia64-asmtab.c ia64-asmtab.h -- 2.38.1