[v4,0/3] Restore the original macro behaviors

Message ID 20240812154322.2315864-1-hjl.tools@gmail.com
Headers
Series Restore the original macro behaviors |

Message

H.J. Lu Aug. 12, 2024, 3:43 p.m. UTC
  Changes in v4:

1. Add inner white spaces to arg1 test comments.

Changes in v3:

1. Add test for a white space before argument added by C preprocessor to
macros/arg1.s.
2. Add comments to tests.

Changes in v2:

1. Mention PR gas/32073 in reverting commits.
2. Add a test from x86-64 glibc.

----
commit 6ae8a30d44f016cafb46a75843b5109316eb1996
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 9 11:59:31 2024 +0200

    gas: have scrubber retain more whitespace

breaks GCC builds for ARM, AVR, PRU and others as well as x86-64 kernel
and glibc builds.  Revert

7dd0dfbde7e gas: drop scrubber states 14 and 15
6ae8a30d44f gas: have scrubber retain more whitespace

to restore the original macro behaviors and add tests from Linux kernel
and glibc.

H.J. Lu (3):
  Revert "gas: drop scrubber states 14 and 15"
  Revert "gas: have scrubber retain more whitespace"
  gas: Add macro tests for PR gas/32073

 gas/NEWS                                |   7 -
 gas/app.c                               | 200 ++++++++++++++++++------
 gas/config/tc-aarch64.c                 |  19 +--
 gas/config/tc-arm.c                     |   2 -
 gas/config/tc-crx.c                     |   6 +-
 gas/config/tc-csky.c                    |  23 +--
 gas/config/tc-ia64.h                    |   3 +
 gas/config/tc-pru.c                     |  10 +-
 gas/config/tc-sparc.c                   |  48 ++----
 gas/config/tc-tic6x.h                   |   2 +
 gas/config/tc-v850.c                    |   4 -
 gas/testsuite/gas/all/macro.l           |  10 --
 gas/testsuite/gas/all/macro.s           |   4 +-
 gas/testsuite/gas/i386/x86-64-apx-nf.s  |  40 ++---
 gas/testsuite/gas/i386/x86-64-macro-1.d |  11 ++
 gas/testsuite/gas/i386/x86-64-macro-1.s |   9 ++
 gas/testsuite/gas/i386/x86-64.exp       |   2 +
 gas/testsuite/gas/macros/arg1.d         |   7 +
 gas/testsuite/gas/macros/arg1.s         |  12 ++
 gas/testsuite/gas/macros/macros.exp     |   2 +
 opcodes/cgen-asm.in                     |  52 +++---
 opcodes/epiphany-asm.c                  |  52 +++---
 opcodes/fr30-asm.c                      |  52 +++---
 opcodes/frv-asm.c                       |  52 +++---
 opcodes/ip2k-asm.c                      |  52 +++---
 opcodes/iq2000-asm.c                    |  52 +++---
 opcodes/lm32-asm.c                      |  52 +++---
 opcodes/m32c-asm.c                      |  52 +++---
 opcodes/m32r-asm.c                      |  52 +++---
 opcodes/mep-asm.c                       |  52 +++---
 opcodes/mt-asm.c                        |  52 +++---
 opcodes/nds32-asm.c                     |   5 -
 opcodes/or1k-asm.c                      |  52 +++---
 opcodes/xstormy16-asm.c                 |  52 +++---
 34 files changed, 482 insertions(+), 620 deletions(-)
 create mode 100644 gas/testsuite/gas/i386/x86-64-macro-1.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-macro-1.s
 create mode 100644 gas/testsuite/gas/macros/arg1.d
 create mode 100644 gas/testsuite/gas/macros/arg1.s
  

Comments

Jan Beulich Aug. 12, 2024, 3:49 p.m. UTC | #1
On 12.08.2024 17:43, H.J. Lu wrote:
> Changes in v4:
> 
> 1. Add inner white spaces to arg1 test comments.
> 
> Changes in v3:
> 
> 1. Add test for a white space before argument added by C preprocessor to
> macros/arg1.s.
> 2. Add comments to tests.
> 
> Changes in v2:
> 
> 1. Mention PR gas/32073 in reverting commits.
> 2. Add a test from x86-64 glibc.
> 
> ----
> commit 6ae8a30d44f016cafb46a75843b5109316eb1996
> Author: Jan Beulich <jbeulich@suse.com>
> Date:   Fri Aug 9 11:59:31 2024 +0200
> 
>     gas: have scrubber retain more whitespace
> 
> breaks GCC builds for ARM, AVR, PRU and others as well as x86-64 kernel
> and glibc builds.  Revert
> 
> 7dd0dfbde7e gas: drop scrubber states 14 and 15
> 6ae8a30d44f gas: have scrubber retain more whitespace
> 
> to restore the original macro behaviors and add tests from Linux kernel
> and glibc.
> 
> H.J. Lu (3):
>   Revert "gas: drop scrubber states 14 and 15"
>   Revert "gas: have scrubber retain more whitespace"
>   gas: Add macro tests for PR gas/32073
> 
>  gas/NEWS                                |   7 -
>  gas/app.c                               | 200 ++++++++++++++++++------
>  gas/config/tc-aarch64.c                 |  19 +--
>  gas/config/tc-arm.c                     |   2 -
>  gas/config/tc-crx.c                     |   6 +-
>  gas/config/tc-csky.c                    |  23 +--
>  gas/config/tc-ia64.h                    |   3 +
>  gas/config/tc-pru.c                     |  10 +-
>  gas/config/tc-sparc.c                   |  48 ++----
>  gas/config/tc-tic6x.h                   |   2 +
>  gas/config/tc-v850.c                    |   4 -
>  gas/testsuite/gas/all/macro.l           |  10 --
>  gas/testsuite/gas/all/macro.s           |   4 +-
>  gas/testsuite/gas/i386/x86-64-apx-nf.s  |  40 ++---
>  gas/testsuite/gas/i386/x86-64-macro-1.d |  11 ++
>  gas/testsuite/gas/i386/x86-64-macro-1.s |   9 ++
>  gas/testsuite/gas/i386/x86-64.exp       |   2 +
>  gas/testsuite/gas/macros/arg1.d         |   7 +
>  gas/testsuite/gas/macros/arg1.s         |  12 ++
>  gas/testsuite/gas/macros/macros.exp     |   2 +
>  opcodes/cgen-asm.in                     |  52 +++---
>  opcodes/epiphany-asm.c                  |  52 +++---
>  opcodes/fr30-asm.c                      |  52 +++---
>  opcodes/frv-asm.c                       |  52 +++---
>  opcodes/ip2k-asm.c                      |  52 +++---
>  opcodes/iq2000-asm.c                    |  52 +++---
>  opcodes/lm32-asm.c                      |  52 +++---
>  opcodes/m32c-asm.c                      |  52 +++---
>  opcodes/m32r-asm.c                      |  52 +++---
>  opcodes/mep-asm.c                       |  52 +++---
>  opcodes/mt-asm.c                        |  52 +++---
>  opcodes/nds32-asm.c                     |   5 -
>  opcodes/or1k-asm.c                      |  52 +++---
>  opcodes/xstormy16-asm.c                 |  52 +++---
>  34 files changed, 482 insertions(+), 620 deletions(-)
>  create mode 100644 gas/testsuite/gas/i386/x86-64-macro-1.d
>  create mode 100644 gas/testsuite/gas/i386/x86-64-macro-1.s
>  create mode 100644 gas/testsuite/gas/macros/arg1.d
>  create mode 100644 gas/testsuite/gas/macros/arg1.s

I'm willing to give my okay here as long as the discussion on what to do
longer term won't die out. With this reverted I would work on a fix for
the one case that I think we really need to deal with (blank between
backslash and parameter name). What else (if anything) to change before
making a 2nd attempt depends on outcomes of the discussion (and perhaps
Nick's input). Leaving things as broken as they are is not an option to
me.

Jan
  
H.J. Lu Aug. 12, 2024, 4:16 p.m. UTC | #2
On Mon, Aug 12, 2024 at 8:49 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 12.08.2024 17:43, H.J. Lu wrote:
> > Changes in v4:
> >
> > 1. Add inner white spaces to arg1 test comments.
> >
> > Changes in v3:
> >
> > 1. Add test for a white space before argument added by C preprocessor to
> > macros/arg1.s.
> > 2. Add comments to tests.
> >
> > Changes in v2:
> >
> > 1. Mention PR gas/32073 in reverting commits.
> > 2. Add a test from x86-64 glibc.
> >
> > ----
> > commit 6ae8a30d44f016cafb46a75843b5109316eb1996
> > Author: Jan Beulich <jbeulich@suse.com>
> > Date:   Fri Aug 9 11:59:31 2024 +0200
> >
> >     gas: have scrubber retain more whitespace
> >
> > breaks GCC builds for ARM, AVR, PRU and others as well as x86-64 kernel
> > and glibc builds.  Revert
> >
> > 7dd0dfbde7e gas: drop scrubber states 14 and 15
> > 6ae8a30d44f gas: have scrubber retain more whitespace
> >
> > to restore the original macro behaviors and add tests from Linux kernel
> > and glibc.
> >
> > H.J. Lu (3):
> >   Revert "gas: drop scrubber states 14 and 15"
> >   Revert "gas: have scrubber retain more whitespace"
> >   gas: Add macro tests for PR gas/32073
> >
> >  gas/NEWS                                |   7 -
> >  gas/app.c                               | 200 ++++++++++++++++++------
> >  gas/config/tc-aarch64.c                 |  19 +--
> >  gas/config/tc-arm.c                     |   2 -
> >  gas/config/tc-crx.c                     |   6 +-
> >  gas/config/tc-csky.c                    |  23 +--
> >  gas/config/tc-ia64.h                    |   3 +
> >  gas/config/tc-pru.c                     |  10 +-
> >  gas/config/tc-sparc.c                   |  48 ++----
> >  gas/config/tc-tic6x.h                   |   2 +
> >  gas/config/tc-v850.c                    |   4 -
> >  gas/testsuite/gas/all/macro.l           |  10 --
> >  gas/testsuite/gas/all/macro.s           |   4 +-
> >  gas/testsuite/gas/i386/x86-64-apx-nf.s  |  40 ++---
> >  gas/testsuite/gas/i386/x86-64-macro-1.d |  11 ++
> >  gas/testsuite/gas/i386/x86-64-macro-1.s |   9 ++
> >  gas/testsuite/gas/i386/x86-64.exp       |   2 +
> >  gas/testsuite/gas/macros/arg1.d         |   7 +
> >  gas/testsuite/gas/macros/arg1.s         |  12 ++
> >  gas/testsuite/gas/macros/macros.exp     |   2 +
> >  opcodes/cgen-asm.in                     |  52 +++---
> >  opcodes/epiphany-asm.c                  |  52 +++---
> >  opcodes/fr30-asm.c                      |  52 +++---
> >  opcodes/frv-asm.c                       |  52 +++---
> >  opcodes/ip2k-asm.c                      |  52 +++---
> >  opcodes/iq2000-asm.c                    |  52 +++---
> >  opcodes/lm32-asm.c                      |  52 +++---
> >  opcodes/m32c-asm.c                      |  52 +++---
> >  opcodes/m32r-asm.c                      |  52 +++---
> >  opcodes/mep-asm.c                       |  52 +++---
> >  opcodes/mt-asm.c                        |  52 +++---
> >  opcodes/nds32-asm.c                     |   5 -
> >  opcodes/or1k-asm.c                      |  52 +++---
> >  opcodes/xstormy16-asm.c                 |  52 +++---
> >  34 files changed, 482 insertions(+), 620 deletions(-)
> >  create mode 100644 gas/testsuite/gas/i386/x86-64-macro-1.d
> >  create mode 100644 gas/testsuite/gas/i386/x86-64-macro-1.s
> >  create mode 100644 gas/testsuite/gas/macros/arg1.d
> >  create mode 100644 gas/testsuite/gas/macros/arg1.s
>
> I'm willing to give my okay here as long as the discussion on what to do
> longer term won't die out. With this reverted I would work on a fix for
> the one case that I think we really need to deal with (blank between
> backslash and parameter name). What else (if anything) to change before
> making a 2nd attempt depends on outcomes of the discussion (and perhaps
> Nick's input). Leaving things as broken as they are is not an option to
> me.
>
> Jan

I will check it in today.
  
H.J. Lu Aug. 12, 2024, 4:17 p.m. UTC | #3
On Mon, Aug 12, 2024 at 8:49 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 12.08.2024 17:43, H.J. Lu wrote:
> > Changes in v4:
> >
> > 1. Add inner white spaces to arg1 test comments.
> >
> > Changes in v3:
> >
> > 1. Add test for a white space before argument added by C preprocessor to
> > macros/arg1.s.
> > 2. Add comments to tests.
> >
> > Changes in v2:
> >
> > 1. Mention PR gas/32073 in reverting commits.
> > 2. Add a test from x86-64 glibc.
> >
> > ----
> > commit 6ae8a30d44f016cafb46a75843b5109316eb1996
> > Author: Jan Beulich <jbeulich@suse.com>
> > Date:   Fri Aug 9 11:59:31 2024 +0200
> >
> >     gas: have scrubber retain more whitespace
> >
> > breaks GCC builds for ARM, AVR, PRU and others as well as x86-64 kernel
> > and glibc builds.  Revert
> >
> > 7dd0dfbde7e gas: drop scrubber states 14 and 15
> > 6ae8a30d44f gas: have scrubber retain more whitespace
> >
> > to restore the original macro behaviors and add tests from Linux kernel
> > and glibc.
> >
> > H.J. Lu (3):
> >   Revert "gas: drop scrubber states 14 and 15"
> >   Revert "gas: have scrubber retain more whitespace"
> >   gas: Add macro tests for PR gas/32073
> >
> >  gas/NEWS                                |   7 -
> >  gas/app.c                               | 200 ++++++++++++++++++------
> >  gas/config/tc-aarch64.c                 |  19 +--
> >  gas/config/tc-arm.c                     |   2 -
> >  gas/config/tc-crx.c                     |   6 +-
> >  gas/config/tc-csky.c                    |  23 +--
> >  gas/config/tc-ia64.h                    |   3 +
> >  gas/config/tc-pru.c                     |  10 +-
> >  gas/config/tc-sparc.c                   |  48 ++----
> >  gas/config/tc-tic6x.h                   |   2 +
> >  gas/config/tc-v850.c                    |   4 -
> >  gas/testsuite/gas/all/macro.l           |  10 --
> >  gas/testsuite/gas/all/macro.s           |   4 +-
> >  gas/testsuite/gas/i386/x86-64-apx-nf.s  |  40 ++---
> >  gas/testsuite/gas/i386/x86-64-macro-1.d |  11 ++
> >  gas/testsuite/gas/i386/x86-64-macro-1.s |   9 ++
> >  gas/testsuite/gas/i386/x86-64.exp       |   2 +
> >  gas/testsuite/gas/macros/arg1.d         |   7 +
> >  gas/testsuite/gas/macros/arg1.s         |  12 ++
> >  gas/testsuite/gas/macros/macros.exp     |   2 +
> >  opcodes/cgen-asm.in                     |  52 +++---
> >  opcodes/epiphany-asm.c                  |  52 +++---
> >  opcodes/fr30-asm.c                      |  52 +++---
> >  opcodes/frv-asm.c                       |  52 +++---
> >  opcodes/ip2k-asm.c                      |  52 +++---
> >  opcodes/iq2000-asm.c                    |  52 +++---
> >  opcodes/lm32-asm.c                      |  52 +++---
> >  opcodes/m32c-asm.c                      |  52 +++---
> >  opcodes/m32r-asm.c                      |  52 +++---
> >  opcodes/mep-asm.c                       |  52 +++---
> >  opcodes/mt-asm.c                        |  52 +++---
> >  opcodes/nds32-asm.c                     |   5 -
> >  opcodes/or1k-asm.c                      |  52 +++---
> >  opcodes/xstormy16-asm.c                 |  52 +++---
> >  34 files changed, 482 insertions(+), 620 deletions(-)
> >  create mode 100644 gas/testsuite/gas/i386/x86-64-macro-1.d
> >  create mode 100644 gas/testsuite/gas/i386/x86-64-macro-1.s
> >  create mode 100644 gas/testsuite/gas/macros/arg1.d
> >  create mode 100644 gas/testsuite/gas/macros/arg1.s
>
> I'm willing to give my okay here as long as the discussion on what to do
> longer term won't die out. With this reverted I would work on a fix for

The sensible solution is to document these longstanding usages
as features with tests.

> the one case that I think we really need to deal with (blank between
> backslash and parameter name). What else (if anything) to change before
> making a 2nd attempt depends on outcomes of the discussion (and perhaps
> Nick's input). Leaving things as broken as they are is not an option to
> me.
>
> Jan