[v2,3/4] x86: break gas dependency on libopcodes
Checks
Commit Message
gas doesn't use anything from libopcodes anymore - suppress linking in
that library.
---
v2: New, split off from larger earlier patch.
Comments
On Fri, Nov 18, 2022 at 1:13 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> gas doesn't use anything from libopcodes anymore - suppress linking in
> that library.
> ---
> v2: New, split off from larger earlier patch.
>
> --- a/gas/configure
> +++ b/gas/configure
> @@ -12263,7 +12263,7 @@ _ACEOF
>
> # Do we need the opcodes library?
> case ${cpu_type} in
> - vax | tic30)
> + vax | tic30 | i386)
> ;;
>
> *)
> --- 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)
> + vax | tic30 | i386)
> ;;
>
> *)
>
We need to add some dependencies on i386-opc.tbl and i386-reg.tbl for
--enable-maintainer-mode to check if i386-tbl.h and i386-init.h are up to
date. It doesn't need to regenerate i386-tbl.h. An error message should be
sufficient.
On 21.11.2022 17:26, H.J. Lu wrote:
> On Fri, Nov 18, 2022 at 1:13 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> gas doesn't use anything from libopcodes anymore - suppress linking in
>> that library.
>> ---
>> v2: New, split off from larger earlier patch.
>>
>> --- a/gas/configure
>> +++ b/gas/configure
>> @@ -12263,7 +12263,7 @@ _ACEOF
>>
>> # Do we need the opcodes library?
>> case ${cpu_type} in
>> - vax | tic30)
>> + vax | tic30 | i386)
>> ;;
>>
>> *)
>> --- 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)
>> + vax | tic30 | i386)
>> ;;
>>
>> *)
>>
>
> We need to add some dependencies on i386-opc.tbl and i386-reg.tbl for
> --enable-maintainer-mode to check if i386-tbl.h and i386-init.h are up to
> date. It doesn't need to regenerate i386-tbl.h. An error message should be
> sufficient.
This isn't needed here, but in patch 2, where I'm already adjusting
existing dependencies. Since I'm not modifying any toplevel files, the
building of opcodes/ still ought to be happening before the building of
gas/, so I don't see why any further changes should be necessary. Please
clarify if you see any such reason.
Jan
On Mon, Nov 21, 2022 at 8:32 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 21.11.2022 17:26, H.J. Lu wrote:
> > On Fri, Nov 18, 2022 at 1:13 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> gas doesn't use anything from libopcodes anymore - suppress linking in
> >> that library.
> >> ---
> >> v2: New, split off from larger earlier patch.
> >>
> >> --- a/gas/configure
> >> +++ b/gas/configure
> >> @@ -12263,7 +12263,7 @@ _ACEOF
> >>
> >> # Do we need the opcodes library?
> >> case ${cpu_type} in
> >> - vax | tic30)
> >> + vax | tic30 | i386)
> >> ;;
> >>
> >> *)
> >> --- 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)
> >> + vax | tic30 | i386)
> >> ;;
> >>
> >> *)
> >>
> >
> > We need to add some dependencies on i386-opc.tbl and i386-reg.tbl for
> > --enable-maintainer-mode to check if i386-tbl.h and i386-init.h are up to
> > date. It doesn't need to regenerate i386-tbl.h. An error message should be
> > sufficient.
>
> This isn't needed here, but in patch 2, where I'm already adjusting
> existing dependencies. Since I'm not modifying any toplevel files, the
> building of opcodes/ still ought to be happening before the building of
> gas/, so I don't see why any further changes should be necessary. Please
> clarify if you see any such reason.
>
Since gas no longer depends on libopcodes, one may change i386-opc.tbl and
run "make" in gas. It is more reliable than the fake dependency in opcodes.
On 21.11.2022 17:43, H.J. Lu wrote:
> On Mon, Nov 21, 2022 at 8:32 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 21.11.2022 17:26, H.J. Lu wrote:
>>> On Fri, Nov 18, 2022 at 1:13 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>>
>>>> gas doesn't use anything from libopcodes anymore - suppress linking in
>>>> that library.
>>>> ---
>>>> v2: New, split off from larger earlier patch.
>>>>
>>>> --- a/gas/configure
>>>> +++ b/gas/configure
>>>> @@ -12263,7 +12263,7 @@ _ACEOF
>>>>
>>>> # Do we need the opcodes library?
>>>> case ${cpu_type} in
>>>> - vax | tic30)
>>>> + vax | tic30 | i386)
>>>> ;;
>>>>
>>>> *)
>>>> --- 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)
>>>> + vax | tic30 | i386)
>>>> ;;
>>>>
>>>> *)
>>>>
>>>
>>> We need to add some dependencies on i386-opc.tbl and i386-reg.tbl for
>>> --enable-maintainer-mode to check if i386-tbl.h and i386-init.h are up to
>>> date. It doesn't need to regenerate i386-tbl.h. An error message should be
>>> sufficient.
>>
>> This isn't needed here, but in patch 2, where I'm already adjusting
>> existing dependencies. Since I'm not modifying any toplevel files, the
>> building of opcodes/ still ought to be happening before the building of
>> gas/, so I don't see why any further changes should be necessary. Please
>> clarify if you see any such reason.
>>
>
> Since gas no longer depends on libopcodes, one may change i386-opc.tbl and
> run "make" in gas.
Is running make in gas/ a supported operation?
> It is more reliable than the fake dependency in opcodes.
If the answer to the above is yes, then I may agree here. Except that then
I don't see how this dependency is being enforced prior to this series.
IOW - aren't you asking to address an unrelated issue?
Jan
On Mon, Nov 21, 2022 at 8:52 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 21.11.2022 17:43, H.J. Lu wrote:
> > On Mon, Nov 21, 2022 at 8:32 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> On 21.11.2022 17:26, H.J. Lu wrote:
> >>> On Fri, Nov 18, 2022 at 1:13 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>>>
> >>>> gas doesn't use anything from libopcodes anymore - suppress linking in
> >>>> that library.
> >>>> ---
> >>>> v2: New, split off from larger earlier patch.
> >>>>
> >>>> --- a/gas/configure
> >>>> +++ b/gas/configure
> >>>> @@ -12263,7 +12263,7 @@ _ACEOF
> >>>>
> >>>> # Do we need the opcodes library?
> >>>> case ${cpu_type} in
> >>>> - vax | tic30)
> >>>> + vax | tic30 | i386)
> >>>> ;;
> >>>>
> >>>> *)
> >>>> --- 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)
> >>>> + vax | tic30 | i386)
> >>>> ;;
> >>>>
> >>>> *)
> >>>>
> >>>
> >>> We need to add some dependencies on i386-opc.tbl and i386-reg.tbl for
> >>> --enable-maintainer-mode to check if i386-tbl.h and i386-init.h are up to
> >>> date. It doesn't need to regenerate i386-tbl.h. An error message should be
> >>> sufficient.
> >>
> >> This isn't needed here, but in patch 2, where I'm already adjusting
> >> existing dependencies. Since I'm not modifying any toplevel files, the
> >> building of opcodes/ still ought to be happening before the building of
> >> gas/, so I don't see why any further changes should be necessary. Please
> >> clarify if you see any such reason.
> >>
> >
> > Since gas no longer depends on libopcodes, one may change i386-opc.tbl and
> > run "make" in gas.
>
> Is running make in gas/ a supported operation?
>
> > It is more reliable than the fake dependency in opcodes.
>
> If the answer to the above is yes, then I may agree here. Except that then
> I don't see how this dependency is being enforced prior to this series.
> IOW - aren't you asking to address an unrelated issue?
>
It didn't work before. Now we have a chance.
On 21.11.2022 18:04, H.J. Lu wrote:
> On Mon, Nov 21, 2022 at 8:52 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 21.11.2022 17:43, H.J. Lu wrote:
>>> On Mon, Nov 21, 2022 at 8:32 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>>
>>>> On 21.11.2022 17:26, H.J. Lu wrote:
>>>>> On Fri, Nov 18, 2022 at 1:13 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>>>>
>>>>>> gas doesn't use anything from libopcodes anymore - suppress linking in
>>>>>> that library.
>>>>>> ---
>>>>>> v2: New, split off from larger earlier patch.
>>>>>>
>>>>>> --- a/gas/configure
>>>>>> +++ b/gas/configure
>>>>>> @@ -12263,7 +12263,7 @@ _ACEOF
>>>>>>
>>>>>> # Do we need the opcodes library?
>>>>>> case ${cpu_type} in
>>>>>> - vax | tic30)
>>>>>> + vax | tic30 | i386)
>>>>>> ;;
>>>>>>
>>>>>> *)
>>>>>> --- 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)
>>>>>> + vax | tic30 | i386)
>>>>>> ;;
>>>>>>
>>>>>> *)
>>>>>>
>>>>>
>>>>> We need to add some dependencies on i386-opc.tbl and i386-reg.tbl for
>>>>> --enable-maintainer-mode to check if i386-tbl.h and i386-init.h are up to
>>>>> date. It doesn't need to regenerate i386-tbl.h. An error message should be
>>>>> sufficient.
>>>>
>>>> This isn't needed here, but in patch 2, where I'm already adjusting
>>>> existing dependencies. Since I'm not modifying any toplevel files, the
>>>> building of opcodes/ still ought to be happening before the building of
>>>> gas/, so I don't see why any further changes should be necessary. Please
>>>> clarify if you see any such reason.
>>>>
>>>
>>> Since gas no longer depends on libopcodes, one may change i386-opc.tbl and
>>> run "make" in gas.
>>
>> Is running make in gas/ a supported operation?
>>
>>> It is more reliable than the fake dependency in opcodes.
>>
>> If the answer to the above is yes, then I may agree here. Except that then
>> I don't see how this dependency is being enforced prior to this series.
>> IOW - aren't you asking to address an unrelated issue?
>>
>
> It didn't work before. Now we have a chance.
But then please in a separate change, on top of this series. I'm willing
to make such a patch (whether that then finds your approval is a separate
question), but I'd please like to see things unblocked here.
Jan
On Mon, Nov 21, 2022 at 11:15 PM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 21.11.2022 18:04, H.J. Lu wrote:
> > On Mon, Nov 21, 2022 at 8:52 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> On 21.11.2022 17:43, H.J. Lu wrote:
> >>> On Mon, Nov 21, 2022 at 8:32 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>>>
> >>>> On 21.11.2022 17:26, H.J. Lu wrote:
> >>>>> On Fri, Nov 18, 2022 at 1:13 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>>>>>
> >>>>>> gas doesn't use anything from libopcodes anymore - suppress linking in
> >>>>>> that library.
> >>>>>> ---
> >>>>>> v2: New, split off from larger earlier patch.
> >>>>>>
> >>>>>> --- a/gas/configure
> >>>>>> +++ b/gas/configure
> >>>>>> @@ -12263,7 +12263,7 @@ _ACEOF
> >>>>>>
> >>>>>> # Do we need the opcodes library?
> >>>>>> case ${cpu_type} in
> >>>>>> - vax | tic30)
> >>>>>> + vax | tic30 | i386)
> >>>>>> ;;
> >>>>>>
> >>>>>> *)
> >>>>>> --- 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)
> >>>>>> + vax | tic30 | i386)
> >>>>>> ;;
> >>>>>>
> >>>>>> *)
> >>>>>>
> >>>>>
> >>>>> We need to add some dependencies on i386-opc.tbl and i386-reg.tbl for
> >>>>> --enable-maintainer-mode to check if i386-tbl.h and i386-init.h are up to
> >>>>> date. It doesn't need to regenerate i386-tbl.h. An error message should be
> >>>>> sufficient.
> >>>>
> >>>> This isn't needed here, but in patch 2, where I'm already adjusting
> >>>> existing dependencies. Since I'm not modifying any toplevel files, the
> >>>> building of opcodes/ still ought to be happening before the building of
> >>>> gas/, so I don't see why any further changes should be necessary. Please
> >>>> clarify if you see any such reason.
> >>>>
> >>>
> >>> Since gas no longer depends on libopcodes, one may change i386-opc.tbl and
> >>> run "make" in gas.
> >>
> >> Is running make in gas/ a supported operation?
> >>
> >>> It is more reliable than the fake dependency in opcodes.
> >>
> >> If the answer to the above is yes, then I may agree here. Except that then
> >> I don't see how this dependency is being enforced prior to this series.
> >> IOW - aren't you asking to address an unrelated issue?
> >>
> >
> > It didn't work before. Now we have a chance.
>
> But then please in a separate change, on top of this series. I'm willing
> to make such a patch (whether that then finds your approval is a separate
> question), but I'd please like to see things unblocked here.
>
Then please don't add the fake dependency.
On 22.11.2022 17:38, H.J. Lu wrote:
> On Mon, Nov 21, 2022 at 11:15 PM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 21.11.2022 18:04, H.J. Lu wrote:
>>> On Mon, Nov 21, 2022 at 8:52 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>>
>>>> On 21.11.2022 17:43, H.J. Lu wrote:
>>>>> On Mon, Nov 21, 2022 at 8:32 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>>>>
>>>>>> On 21.11.2022 17:26, H.J. Lu wrote:
>>>>>>> On Fri, Nov 18, 2022 at 1:13 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>>>>>>
>>>>>>>> gas doesn't use anything from libopcodes anymore - suppress linking in
>>>>>>>> that library.
>>>>>>>> ---
>>>>>>>> v2: New, split off from larger earlier patch.
>>>>>>>>
>>>>>>>> --- a/gas/configure
>>>>>>>> +++ b/gas/configure
>>>>>>>> @@ -12263,7 +12263,7 @@ _ACEOF
>>>>>>>>
>>>>>>>> # Do we need the opcodes library?
>>>>>>>> case ${cpu_type} in
>>>>>>>> - vax | tic30)
>>>>>>>> + vax | tic30 | i386)
>>>>>>>> ;;
>>>>>>>>
>>>>>>>> *)
>>>>>>>> --- 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)
>>>>>>>> + vax | tic30 | i386)
>>>>>>>> ;;
>>>>>>>>
>>>>>>>> *)
>>>>>>>>
>>>>>>>
>>>>>>> We need to add some dependencies on i386-opc.tbl and i386-reg.tbl for
>>>>>>> --enable-maintainer-mode to check if i386-tbl.h and i386-init.h are up to
>>>>>>> date. It doesn't need to regenerate i386-tbl.h. An error message should be
>>>>>>> sufficient.
>>>>>>
>>>>>> This isn't needed here, but in patch 2, where I'm already adjusting
>>>>>> existing dependencies. Since I'm not modifying any toplevel files, the
>>>>>> building of opcodes/ still ought to be happening before the building of
>>>>>> gas/, so I don't see why any further changes should be necessary. Please
>>>>>> clarify if you see any such reason.
>>>>>>
>>>>>
>>>>> Since gas no longer depends on libopcodes, one may change i386-opc.tbl and
>>>>> run "make" in gas.
>>>>
>>>> Is running make in gas/ a supported operation?
>>>>
>>>>> It is more reliable than the fake dependency in opcodes.
>>>>
>>>> If the answer to the above is yes, then I may agree here. Except that then
>>>> I don't see how this dependency is being enforced prior to this series.
>>>> IOW - aren't you asking to address an unrelated issue?
>>>>
>>>
>>> It didn't work before. Now we have a chance.
>>
>> But then please in a separate change, on top of this series. I'm willing
>> to make such a patch (whether that then finds your approval is a separate
>> question), but I'd please like to see things unblocked here.
>
> Then please don't add the fake dependency.
But then the build will be broken in opcodes/. That one is needed _now_.
The new dependency in gas/ is orthogonal and hence can be added
subsequently. If that's not your understanding, then please go into
further detail.
Jan
On Tue, Nov 22, 2022 at 9:05 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 22.11.2022 17:38, H.J. Lu wrote:
> > On Mon, Nov 21, 2022 at 11:15 PM Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> On 21.11.2022 18:04, H.J. Lu wrote:
> >>> On Mon, Nov 21, 2022 at 8:52 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>>>
> >>>> On 21.11.2022 17:43, H.J. Lu wrote:
> >>>>> On Mon, Nov 21, 2022 at 8:32 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>>>>>
> >>>>>> On 21.11.2022 17:26, H.J. Lu wrote:
> >>>>>>> On Fri, Nov 18, 2022 at 1:13 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>>>>>>>
> >>>>>>>> gas doesn't use anything from libopcodes anymore - suppress linking in
> >>>>>>>> that library.
> >>>>>>>> ---
> >>>>>>>> v2: New, split off from larger earlier patch.
> >>>>>>>>
> >>>>>>>> --- a/gas/configure
> >>>>>>>> +++ b/gas/configure
> >>>>>>>> @@ -12263,7 +12263,7 @@ _ACEOF
> >>>>>>>>
> >>>>>>>> # Do we need the opcodes library?
> >>>>>>>> case ${cpu_type} in
> >>>>>>>> - vax | tic30)
> >>>>>>>> + vax | tic30 | i386)
> >>>>>>>> ;;
> >>>>>>>>
> >>>>>>>> *)
> >>>>>>>> --- 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)
> >>>>>>>> + vax | tic30 | i386)
> >>>>>>>> ;;
> >>>>>>>>
> >>>>>>>> *)
> >>>>>>>>
> >>>>>>>
> >>>>>>> We need to add some dependencies on i386-opc.tbl and i386-reg.tbl for
> >>>>>>> --enable-maintainer-mode to check if i386-tbl.h and i386-init.h are up to
> >>>>>>> date. It doesn't need to regenerate i386-tbl.h. An error message should be
> >>>>>>> sufficient.
> >>>>>>
> >>>>>> This isn't needed here, but in patch 2, where I'm already adjusting
> >>>>>> existing dependencies. Since I'm not modifying any toplevel files, the
> >>>>>> building of opcodes/ still ought to be happening before the building of
> >>>>>> gas/, so I don't see why any further changes should be necessary. Please
> >>>>>> clarify if you see any such reason.
> >>>>>>
> >>>>>
> >>>>> Since gas no longer depends on libopcodes, one may change i386-opc.tbl and
> >>>>> run "make" in gas.
> >>>>
> >>>> Is running make in gas/ a supported operation?
> >>>>
> >>>>> It is more reliable than the fake dependency in opcodes.
> >>>>
> >>>> If the answer to the above is yes, then I may agree here. Except that then
> >>>> I don't see how this dependency is being enforced prior to this series.
> >>>> IOW - aren't you asking to address an unrelated issue?
> >>>>
> >>>
> >>> It didn't work before. Now we have a chance.
> >>
> >> But then please in a separate change, on top of this series. I'm willing
> >> to make such a patch (whether that then finds your approval is a separate
> >> question), but I'd please like to see things unblocked here.
> >
> > Then please don't add the fake dependency.
>
> But then the build will be broken in opcodes/. That one is needed _now_.
> The new dependency in gas/ is orthogonal and hence can be added
> subsequently. If that's not your understanding, then please go into
> further detail.
>
Here is a patch to include opcodes/i386-tbl.h directly:
https://sourceware.org/pipermail/binutils/2022-November/124583.html
@@ -12263,7 +12263,7 @@ _ACEOF
# Do we need the opcodes library?
case ${cpu_type} in
- vax | tic30)
+ vax | tic30 | i386)
;;
*)
@@ -420,7 +420,7 @@ changequote([,])dnl
# Do we need the opcodes library?
case ${cpu_type} in
- vax | tic30)
+ vax | tic30 | i386)
;;
*)