[Bug gas/27419] New: x86-64: regression: gas accepts invalid code (movdir64b / enqcmd)

2021-02-15 Thread jbeulich at suse dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27419

Bug ID: 27419
   Summary: x86-64: regression: gas accepts invalid code
(movdir64b / enqcmd)
   Product: binutils
   Version: 2.36.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: gas
  Assignee: unassigned at sourceware dot org
  Reporter: jbeulich at suse dot com
  Target Milestone: ---

As a supposed fix (really at best: workaround, bug gas/26685) for a gcc
shortcoming, symbol(%rip) style operands got special cased when present for
these insns. This leads to gas accepting e.g.

movdir64b foo(%rip),%ecx

despite being invalid. The two operands are really ambiguous, and hence
shouldn't be accepted silently: Besides the gcc issue (which ought to be
addressed there instead of worked around in gas), the programmer (of plain
assembly sources or inline asm()) may have meant either

movdir64b foo(%eip),%ecx

or

movdir64b foo(%rip),%rcx

To make the workaround remotely acceptable, it should imo at least be
restricted to the --x32 case. Even there it would better be warned about,
perhaps unless -q was specified.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/27424] New: GCC 11 and binutils 2.36 failed to create a working Linux kernel

2021-02-15 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27424

Bug ID: 27424
   Summary: GCC 11 and binutils 2.36 failed to create a working
Linux kernel
   Product: binutils
   Version: 2.36
Status: NEW
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: hjl.tools at gmail dot com
CC: slyfox at inbox dot ru
  Target Milestone: ---

GCC 11.0.0 20210213 and binutils 2.36 failed to create a working Linux kernel
5.10.16:

[3.839976] BUG: unable to handle page fault for address: c0256350
[3.840546] #PF: supervisor write access in kernel mode
[3.841118] #PF: error_code(0x0003) - permissions violation
[3.841675] PGD 172a15067 P4D 172a15067 PUD 172a17067 PMD 108a39067 PTE
800108a05021
[3.842254] Oops: 0003 [#1] SMP PTI
[3.842819] CPU: 3 PID: 523 Comm: systemd-udevd Not tainted 5.10.16+ #130
[3.843390] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS
1.14.0-1.fc33 04/01/2014
[3.843946] RIP: 0010:register_trace_event+0xe5/0x240
[3.844612] Code: 31 e4 eb 7f 4c 8b 65 08 48 89 ea 4c 89 ef 4c 89 e6 e8 3f
08 43 00 84 c0 0f 84 1f 01 00 00 4c 89 6d 08 48 89 6b 10 4c 89 63 18 <4d> 89 2c
24 48 8b 53 28 48 83 3a 00 0f 84 8d 00 00 00 48 83 7a 08
[3.845940] RSP: :ab6c804f3c88 EFLAGS: 00010202
[3.846584] RAX: 0001 RBX: c049f260 RCX:

[3.847241] RDX: c0256350 RSI: c0256350 RDI:
c049f270
[3.847928] RBP: bdba4d40 R08: bdba4d40 R09:
bdba4d40
[3.848372] Adding 4070396k swap on /dev/zram0.  Priority:100 extents:1
across:4070396k SSFS
[3.848578] R10: 985540069e60 R11:  R12:
c0256350
[3.848580] R13: c049f270 R14: bdb8f2a0 R15:
0002
[3.851411] FS:  7f7445976380() GS:9856b7d8()
knlGS:
[3.852165] CS:  0010 DS:  ES:  CR0: 80050033
[3.852934] CR2: c0256350 CR3: 0001027a0006 CR4:
00370ee0
[3.853974] Call Trace:
[3.854803]  trace_event_raw_init+0x9/0x20
[3.855584]  event_init+0x2d/0x70
[3.856271]  trace_module_notify+0x127/0x250
[3.857026]  blocking_notifier_call_chain_robust+0x64/0xd0
[3.857690]  ? mutex_lock+0xe/0x30
[3.858373]  load_module+0x22ab/0x26b0
[3.859063]  ? __do_sys_finit_module+0x98/0xe0
[3.859695]  __do_sys_finit_module+0x98/0xe0
[3.860367]  do_syscall_64+0x33/0x80
[3.861030]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[3.861639] RIP: 0033:0x7f74468f704d
[3.862275] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89
f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01
f0 ff ff 73 01 c3 48 8b 0d fb 7d 0c 00 f7 d8 64 89 01 48
[3.863561] RSP: 002b:7ffcf3f0c1b8 EFLAGS: 0246 ORIG_RAX:
0139
[3.864230] RAX: ffda RBX: 5605c6614d90 RCX:
7f74468f704d
[3.864898] RDX:  RSI: 7f7446a3435a RDI:
0014
[3.865508] RBP: 0002 R08:  R09:
7f7446a485b6
[3.866149] R10: 0014 R11: 0246 R12:
7f7446a3435a
[3.866743] R13: 5605c6615a80 R14:  R15:
5605c673ea40
[3.867367] Modules linked in: intel_cstate(-) snd_hda_core(+)
intel_uncore(-) irqbypass ac97_bus snd_hwdep rapl snd_seq snd_seq_device
snd_pcm snd_timer snd i2c_i801 pcspkr i2c_smbus joydev soundcore lpc_ich
virtio_balloon zram ip_tables crct10dif_pclmul crc32_pclmul crc32c_intel qxl
drm_ttm_helper ttm ghash_clmulni_intel serio_raw drm_kms_helper virtio_console
virtio_blk virtio_net net_failover failover cec qemu_fw_cfg drm fuse
[3.869976] CR2: c0256350
[3.870602] ---[ end trace 755bc7589d6418ce ]---
[3.871258] RIP: 0010:register_trace_event+0xe5/0x240
[3.871877] Code: 31 e4 eb 7f 4c 8b 65 08 48 89 ea 4c 89 ef 4c 89 e6 e8 3f
08 43 00 84 c0 0f 84 1f 01 00 00 4c 89 6d 08 48 89 6b 10 4c 89 63 18 <4d> 89 2c
24 48 8b 53 28 48 83 3a 00 0f 84 8d 00 00 00 48 83 7a 08
[3.873145] RSP: :ab6c804f3c88 EFLAGS: 00010202
[3.873781] RAX: 0001 RBX: c049f260 RCX:

[3.874425] RDX: c0256350 RSI: c0256350 RDI:
c049f270
[3.875050] RBP: bdba4d40 R08: bdba4d40 R09:
bdba4d40
[3.875679] R10: 985540069e60 R11:  R12:
c0256350
[3.876301] R13: c049f270 R14: bdb8f2a0 R15:
0002
[3.876913] FS:  7f7445976380() GS:9856b7d8()
knlGS:
[3.877516] CS:  0010 DS:  ES:  CR0: 80050033
[3.878128] CR2: c0256350 CR3: 0001027a0006 CR4:
00370ee0

Binutils 2.35 works fine.

-- 
You are receiving this mail because:
You are on the CC lis

[Bug ld/27424] GCC 11 and binutils 2.36 failed to create a working Linux kernel

2021-02-15 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27424

--- Comment #1 from H.J. Lu  ---
Binutils 2.36 generates thousands of

ld: warning: orphan section `.data.event_initcall_finish' from `init/main.o'
bei
ng placed in section `.data.event_initcall_finish'
ld: warning: orphan section `.data.event_initcall_start' from `init/main.o'
bein
g placed in section `.data.event_initcall_start'
ld: warning: orphan section `.data.event_initcall_level' from `init/main.o'
bein
g placed in section `.data.event_initcall_level'

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/27424] GCC 11 and binutils 2.36 failed to create a working Linux kernel

2021-02-15 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27424

H.J. Lu  changed:

   What|Removed |Added

 Resolution|--- |MOVED
   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=99113
 Status|NEW |RESOLVED

--- Comment #2 from H.J. Lu  ---
See:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99113

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/27425] New: erroneous __ImageBase relocation using Microsoft COFF .OBJ linked to .ELF x86_64

2021-02-15 Thread minnowware at hotmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27425

Bug ID: 27425
   Summary: erroneous __ImageBase relocation using Microsoft COFF
.OBJ linked to .ELF x86_64
   Product: binutils
   Version: 2.36
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: minnowware at hotmail dot com
  Target Milestone: ---

Hi H.J.

there are two (2) more bugs related closely to
https://sourceware.org/bugzilla/show_bug.cgi?id=26583 and
https://sourceware.org/bugzilla/show_bug.cgi?id=27171.

Microsoft COFF x86-64 introduces the "__ImageBase" relative addressing method.
In the .OBJ file a new relocation type is used: IMAGE_REL_AMD64_ADDR32NB.

Please find my comprehensive description here:

https://github.com/KilianKegel/GNU-ld-for-MicrosoftCOFF-to-LinuxELF#__imagebase-bugs

This is mishandled in 2 ways

1a. the 32Bit field ADDR32NB is a DISPLACEMENT only field, but initialized by 
GNU ld with data offset + 64Bit __executable_start address
1b. the base address address register involved in this addressing scheme is
initialized to ZERO instead to __executable_start / __ImageBase

https://github.com/KilianKegel/GNU-ld-for-MicrosoftCOFF-to-LinuxELF#addr32nb-initialization-w-__imagebase

2. the symbol addresses taken for __ImageBase addressing scheme are wrong.
   EIP relative addresses taken from the same section instead are correct.

https://github.com/KilianKegel/GNU-ld-for-MicrosoftCOFF-to-LinuxELF#addr32nb-offset-miscalculation

I would really appreciate if you could fix this issue. 

Best regards,
Kilian

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/27425] erroneous __ImageBase relocation using Microsoft COFF .OBJ linked to .ELF x86_64

2021-02-15 Thread minnowware at hotmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27425

Kilian Kegel  changed:

   What|Removed |Added

URL||https://github.com/KilianKe
   ||gel/GNU-ld-for-MicrosoftCOF
   ||F-to-LinuxELF#__imagebase-b
   ||ugs

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gas/27412] Suspicious "setting incorrect section attributes for .note.Linux" warnings on linux kernel

2021-02-15 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27412

H.J. Lu  changed:

   What|Removed |Added

Version|unspecified |2.36.1

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gas/27426] New: More bugs in dwarf2dbg.c

2021-02-15 Thread sirus.shahini at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27426

Bug ID: 27426
   Summary: More bugs in dwarf2dbg.c
   Product: binutils
   Version: 2.37 (HEAD)
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: gas
  Assignee: unassigned at sourceware dot org
  Reporter: sirus.shahini at gmail dot com
  Target Milestone: ---

Created attachment 13226
  --> https://sourceware.org/bugzilla/attachment.cgi?id=13226&action=edit
Sample input

Hello,

Recently I reported a bug (id: 27355) and you issued a patch to fix it. Testing
your new version, our fuzzer could mutate an input to trigger a similar crash
in the same file. I didn't look into the bug in depth but it should be related
to the previous one. A crashing input has been attached. To reproduce:

  as 

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/27425] erroneous __ImageBase relocation using Microsoft COFF .OBJ linked to .ELF x86_64

2021-02-15 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27425

H.J. Lu  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2021-02-16
   Assignee|unassigned at sourceware dot org   |hjl.tools at gmail dot 
com

--- Comment #1 from H.J. Lu  ---
Created attachment 13227
  --> https://sourceware.org/bugzilla/attachment.cgi?id=13227&action=edit
A patch

Try this.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/27425] erroneous __ImageBase relocation using Microsoft COFF .OBJ linked to .ELF x86_64

2021-02-15 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27425

H.J. Lu  changed:

   What|Removed |Added

 CC||hjl.tools at gmail dot com

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gas/27426] More bugs in dwarf2dbg.c

2021-02-15 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27426

Alan Modra  changed:

   What|Removed |Added

   Assignee|unassigned at sourceware dot org   |amodra at gmail dot com
 Status|UNCONFIRMED |ASSIGNED
 Ever confirmed|0   |1
   Last reconfirmed||2021-02-16

-- 
You are receiving this mail because:
You are on the CC list for the bug.