From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29880 invoked by alias); 6 Jan 2014 08:48:27 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 29846 invoked by uid 48); 6 Jan 2014 08:48:22 -0000 From: "trippels at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/59644] [4.9 Regression] r206243 miscompiles Linux kernel Date: Mon, 06 Jan 2014 08:48:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: trippels at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.9.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-01/txt/msg00377.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59644 --- Comment #11 from Markus Trippelsdorf --- (In reply to Jakub Jelinek from comment #10) > If you have time, could you please try to bisect manually which of the 4 > functions matters for the bootstrap failure? > Compile printk.s with both compilers and apply by hand only portions of the > diff that are for individual routines? Yes. I will try this later. In the meantime I've found out that drivers/acpi/acpica/utxferror.c also gets miscompiled. If I replace this two object files with good ones and relink the kernel, everything runs fine (under qemu)... utxferror shows the same pattern as seen in printk. --- drivers/acpi/acpica/utxferror.o 2014-01-05 13:02:02.805477131 +0100 +++ /var/tmp/utxferror.o 2014-01-05 13:01:41.149293740 +0100 @@ -16,14 +16,13 @@ movq %rsp, %rbp pushq %r13 pushq %r12 - pushq %r10 pushq %rbx leaq 16(%rbp), %r10 movq %rdi, %rbx movq $.LC0, %rdi movq %rdx, %r13 - subq $80, %rsp movl %esi, %r12d + subq $80, %rsp movq %rcx, -56(%rbp) movq %r8, -48(%rbp) movq %r9, -40(%rbp) @@ -45,7 +44,6 @@ call acpi_os_printf addq $80, %rsp popq %rbx - popq %r10 popq %r12 popq %r13 popq %rbp @@ -69,14 +67,13 @@ movq %rsp, %rbp pushq %r13 pushq %r12 - pushq %r10 pushq %rbx leaq 16(%rbp), %r10 movq %rdi, %rbx movl %edx, %edi movq %rcx, %r13 - subq $80, %rsp movl %esi, %r12d + subq $80, %rsp movq %r8, -48(%rbp) movq %r9, -40(%rbp) movq %r10, -112(%rbp) @@ -101,7 +98,6 @@ call acpi_os_printf addq $80, %rsp popq %rbx - popq %r10 popq %r12 popq %r13 popq %rbp ... >>From drivers/acpi/acpica/utxferror.c: void ACPI_INTERNAL_VAR_XFACE acpi_error(const char *module_name, u32 line_number, const char *format, ...) { va_list arg_list; ACPI_MSG_REDIRECT_BEGIN; acpi_os_printf(ACPI_MSG_ERROR); va_start(arg_list, format); acpi_os_vprintf(format, arg_list); ACPI_MSG_SUFFIX; va_end(arg_list); ACPI_MSG_REDIRECT_END; } ACPI_EXPORT_SYMBOL(acpi_error) void ACPI_INTERNAL_VAR_XFACE acpi_exception(const char *module_name, u32 line_number, acpi_status status, const char *format, ...) { va_list arg_list; ACPI_MSG_REDIRECT_BEGIN; acpi_os_printf(ACPI_MSG_EXCEPTION "%s, ", acpi_format_exception(status)); va_start(arg_list, format); acpi_os_vprintf(format, arg_list); ACPI_MSG_SUFFIX; va_end(arg_list); ACPI_MSG_REDIRECT_END; } ... Strangely the changes in drivers/acpi/acpica/uterror.o doesn't seem to matter (maybe the functions are not called with my config). --- drivers/acpi/acpica/uterror.o 2014-01-05 13:09:05.216038006 +0100 +++ /var/tmp/uterror.o 2014-01-05 13:08:49.529722280 +0100 @@ -16,8 +16,9 @@ pushq %r14 pushq %r13 pushq %r12 - pushq %rbx + pushq %r10 leaq 16(%rbp), %r10 + pushq %rbx subq $72, %rsp andb $32, %cl movq %r9, -48(%rbp) @@ -46,6 +47,7 @@ .L1: addq $72, %rsp popq %rbx + popq %r10 popq %r12 popq %r13 popq %r14 @@ -71,8 +73,9 @@ pushq %r14 pushq %r13 pushq %r12 - pushq %rbx + pushq %r10 leaq 16(%rbp), %r10 + pushq %rbx subq $72, %rsp andb $32, %cl movq %r9, -48(%rbp) @@ -101,6 +104,7 @@ .L6: addq $72, %rsp popq %rbx + popq %r10 popq %r12 popq %r13 popq %r14 @@ -126,8 +130,9 @@ pushq %r14 pushq %r13 pushq %r12 - pushq %rbx + pushq %r10 leaq 16(%rbp), %r10 + pushq %rbx subq $72, %rsp andb $32, %cl movq %r9, -48(%rbp) @@ -156,6 +161,7 @@ .L10: addq $72, %rsp popq %rbx + popq %r10 popq %r12 popq %r13 popq %r14 Here is the list of all changed object files (good vs. bad) for my kernel config: markus@x4 linux % diff -u /var/tmp/out_rev /var/tmp/out_jel --- /var/tmp/out_rev 2014-01-05 11:41:35.064633494 +0100 +++ /var/tmp/out_jel 2014-01-05 11:55:52.135130812 +0100 @@ -5,24 +5,24 @@ 86b5b45da1b54ed6746fa8a457b2821a arch/x86/boot/compressed/early_serial_console.o 411ebccf66b24511da94ae4a13b62155 arch/x86/boot/compressed/head_64.o 48cd91f938d48dc7eb908dadedcd4f20 arch/x86/boot/compressed/misc.o -cbc5ecb98704eac0fc091f044b9d809b arch/x86/boot/compressed/piggy.o +a6f5b1b0e6f5827832edddb6d0ee2d72 arch/x86/boot/compressed/piggy.o 2fff163219ce8dfff09849407f142c3a arch/x86/boot/compressed/string.o b01ed211b5831f92d73ee6dd3ee0e064 arch/x86/boot/copy.o c7ed7abc749b387237ee384184d943f4 arch/x86/boot/cpucheck.o 68ff14ada81abb1ace1365704c3c284e arch/x86/boot/cpu.o c8615d76ec849c1d6896030387c990d3 arch/x86/boot/early_serial_console.o 9747cf6c1e8cd634fc27aab29a83a34f arch/x86/boot/edd.o -cfd8f479ed5bb8281d47f542709302d1 arch/x86/boot/header.o +e1e6a16e7904465106ad135ed3259912 arch/x86/boot/header.o 0258b61aa020e3ff6ba29ae845a60dfe arch/x86/boot/main.o 96d3325b9fb43362821555fbd4916a5b arch/x86/boot/mca.o 35ef44c0a00636401b83f4751bc01783 arch/x86/boot/memory.o 690383f7adad217590994a7aee38d717 arch/x86/boot/pmjump.o 89be97c9d51a3c2a24ad8cadbb9eee43 arch/x86/boot/pm.o -0e13409e48636bf21bba46ed7e880d32 arch/x86/boot/printf.o +2838040d7fee9bde851daef848afe808 arch/x86/boot/printf.o 76852baa5dde81e795d4991eccdb8ad9 arch/x86/boot/regs.o 1586fb7fe439b4cfeb71c7e287bc1331 arch/x86/boot/string.o fa2cdef10540afaabc05ac28c243524a arch/x86/boot/tty.o -39e356419b10d2877b7d367c5afb9dbd arch/x86/boot/version.o +34b1af91228314fbc0c3770baaf2a6e2 arch/x86/boot/version.o 17bd2a58aca02c1ba720a56c4e512540 arch/x86/boot/video-bios.o 9658738b90c08dc5ea4263fc30ae2f36 arch/x86/boot/video-mode.o 924804797c3b9b41aaddbf642cb96b04 arch/x86/boot/video.o @@ -301,8 +301,8 @@ c331d714ab3ee9aff57165601afe8963 crypto/scatterwalk.o 3acc5297a53047b6fbdc188740c45499 crypto/shash.o 2e4eca17a0ec831c8c119669eeefe856 crypto/testmgr.o -637ff9939cbcf5a95bb34b702ec558ac drivers/acpi/acpica/acpi.o -637ff9939cbcf5a95bb34b702ec558ac drivers/acpi/acpica/built-in.o +c5f6e4e41be1e6394b97756449c5c196 drivers/acpi/acpica/acpi.o +c5f6e4e41be1e6394b97756449c5c196 drivers/acpi/acpica/built-in.o 53d63ee0f9b2e4c1f30ff75470af1d6b drivers/acpi/acpica/dsargs.o 63cdb8dc7b9905adc38f3a3311a7df43 drivers/acpi/acpica/dscontrol.o 8c5733c13f9d19d00a2de3c33de9a075 drivers/acpi/acpica/dsfield.o @@ -424,7 +424,7 @@ f3a0eae44638cff2a0a9d7bd439a7299 drivers/acpi/acpica/utdebug.o 431816b0804e76ab331c65e3580d30dd drivers/acpi/acpica/utdecode.o bc4f78c0a3f842f699a40ca2296b8e6e drivers/acpi/acpica/utdelete.o -4c3a41ced7060b40aaf0136c00417e3c drivers/acpi/acpica/uterror.o +23c02723aa2fecc8d59ebbd742f96e98 drivers/acpi/acpica/uterror.o a65f3f04f8866fcbbc87ac54289ae34c drivers/acpi/acpica/uteval.o 9f4988cedbfa2cbbd06386b02ca8697b drivers/acpi/acpica/utexcep.o 31a5ca5180a9f786ea8c982eba8712ca drivers/acpi/acpica/utglobal.o @@ -442,15 +442,15 @@ ba67e1a6de0c0e2b3a2a3f62186da973 drivers/acpi/acpica/utstate.o 94d62f0b051a917df04b719f4ce62be6 drivers/acpi/acpica/utstring.o 328363a3081b9e75c603f7d4818051a0 drivers/acpi/acpica/utxface.o -a157a5ef7e3357f23a7acf01c22ec856 drivers/acpi/acpica/utxferror.o +36b3fb3c1b290e006450b1b52ec93d9e drivers/acpi/acpica/utxferror.o c105339334c858805e68e7de5ae5faf5 drivers/acpi/acpica/utxfinit.o 0ba796759f923c4edf5864bcec672f8d drivers/acpi/acpica/utxfmutex.o f2a3eb10a186dc6312079f3c45a14ec8 drivers/acpi/acpi_cmos_rtc.o -00af7e9aa76432e72cf7dda6a0624563 drivers/acpi/acpi.o +d293786d61e484682501023ab61cdf28 drivers/acpi/acpi.o 5b48c7ecb0b6dc673f1895e4faff5744 drivers/acpi/acpi_platform.o 8f8efe3451af3d754b477ed019561454 drivers/acpi/acpi_processor.o cbfd730e88f02749d4dd3a0d6665896a drivers/acpi/blacklist.o -85317d13e5cb8ff44ec3c7ec6a6388be drivers/acpi/built-in.o +e14cb24351648be6e06c9948865529cf drivers/acpi/built-in.o d83075d588d639900d7c545cb4d3d3ac drivers/acpi/bus.o 4f857fdbf81e8fc278b2de958f453fa7 drivers/acpi/debugfs.o 3767919e734ff688378fa678d7121764 drivers/acpi/device_pm.o @@ -458,7 +458,7 @@ 5627def90323890574380b9b41fdfc4c drivers/acpi/event.o 7466a10082790cc6d20cdb8eca5a8ad9 drivers/acpi/glue.o 66c57894c980a61c3ecd2cfe81c87070 drivers/acpi/nvs.o -95bb0175b15324a7a3b2c49298063223 drivers/acpi/osl.o +0bf120f66aa60f3f16ad5ddfbb44a6c9 drivers/acpi/osl.o 018180b9871a95d3d6352592feffe4df drivers/acpi/pci_irq.o 23a7ccd30bcd3a3f65a4bb96c120d954 drivers/acpi/pci_link.o 76360d130029e43bbac3aa94bafad740 drivers/acpi/pci_root.o @@ -476,7 +476,7 @@ bb382c3724af7d350261bbcf141f3414 drivers/acpi/sleep.o 6ce5f24b5d7b2ebd91c699098d1ee670 drivers/acpi/sysfs.o dff9a6fc016308649b5197b8c7796c86 drivers/acpi/tables.o -14885e648693fadfe5c73a2ea6a46e2f drivers/acpi/utils.o +f5c8e637e37ce2d6ba43ce2b08da55fb drivers/acpi/utils.o 14c5f8ad0e2ad43e714d84f893b022b8 drivers/acpi/wakeup.o ab0a4c8c62da160eaae565341c07f202 drivers/amba/built-in.o c0c8c1019bbec238e2e93ca045ed917f drivers/ata/ahci.o @@ -519,7 +519,7 @@ b3100c32fd6e5b9b7e7ea2f9b2daad91 drivers/block/loop.o e556c35f8000c6c7589bd3b8908b5c2c drivers/block/pktcdvd.o 1c1abf383cb42ea816211480be0920b6 drivers/block/virtio_blk.o -d714348f457b5f107e453879ec267000 drivers/built-in.o +a4afcca6ac991d722b3def91bf526fd2 drivers/built-in.o ab0a4c8c62da160eaae565341c07f202 drivers/bus/built-in.o ccd31fb0dad3396b107854564140c552 drivers/cdrom/built-in.o 52a11290d8e6f6151fe075077db22d59 drivers/cdrom/cdrom.o @@ -1005,11 +1005,11 @@ f825df4ef57f7066e9c3d42574d9c9a4 drivers/usb/storage/usb-storage.o e9a1516cd377521ecae7e91e7ee01a0b drivers/usb/storage/usual-tables.o 15e765974e1eec471dd94fa0be73f9a8 drivers/usb/usb-common.o -48ef781a456d09497dd3bc0d4a0a8840 drivers/vhost/built-in.o +83cb226a9150eacf289ff9dd0087b061 drivers/vhost/built-in.o e0f5c3affaa9b135094ab2c18590f04a drivers/vhost/net.o b54c9f4eed659c4ebcae90a27cb4dc14 drivers/vhost/vhost_net.o d87e8fc4c9f52cbe11339985ee8c7bce drivers/vhost/vhost.o -0d35a43d2a06d20d69f256779447ac7c drivers/vhost/vringh.o +3bc2ff710af7810d462dfff344865b5d drivers/vhost/vringh.o cede224bfd4753fc43b75659f236a8e9 drivers/video/backlight/backlight.o f44743b84ad8d8a6096c655224bd186c drivers/video/backlight/built-in.o a4de8b9a049cba37c643465775a0c434 drivers/video/built-in.o @@ -1095,7 +1095,7 @@ 68875a115f3ba55f21ded7f13f61ce0b fs/bio.o 7b98c5a8b58b8d6a1b857090b6a4ab2b fs/block_dev.o b9a4aea0fd0876f63d03c761c1299cbb fs/buffer.o -d14785ba4e68f53119e8f3e4161169a1 fs/built-in.o +b45e44a0a9c356547ddbca913b738485 fs/built-in.o 5e068dc4fc0c01a00cc4c8bd87435deb fs/char_dev.o d784eb8b8368a01da3706190e74c7e47 fs/dcache.o 68b62b7e476ea4af01097644cf738615 fs/debugfs/built-in.o @@ -1114,10 +1114,10 @@ af3d7d5b285f1c3024db511bb6232ca1 fs/ext4/balloc.o 3dd823a5ee4bceb814c1f13cddc0b214 fs/ext4/bitmap.o f99d5ef1cd83e93411b00b2cd06e2904 fs/ext4/block_validity.o -80047928a3d5d62886b9bcfa18d50ebd fs/ext4/built-in.o +333e4fe44ba2c6fa70a7336785e60f12 fs/ext4/built-in.o 0b80c85cc22bd0083a21bd57649cbe98 fs/ext4/dir.o 9fe2d91f70b50071e90391a10e210818 fs/ext4/ext4_jbd2.o -80047928a3d5d62886b9bcfa18d50ebd fs/ext4/ext4.o +333e4fe44ba2c6fa70a7336785e60f12 fs/ext4/ext4.o abecc073741363c783e9c96f77b61a23 fs/ext4/extents.o 8a7936190957d5234e427d5e995762bd fs/ext4/extents_status.o db26d069911894345951d2e94ce7b051 fs/ext4/file.o @@ -1128,7 +1128,7 @@ 1ad01a26b6d81b0e54638f94fa2a9e81 fs/ext4/inline.o ba86f47600e1b58ba8df782f8a22ff71 fs/ext4/inode.o 8bb9a58a706c6dfdfe0a9f09ac62a166 fs/ext4/ioctl.o -c862ec0c06a2401d1cb78db5e46296c9 fs/ext4/mballoc.o +3314d5a7cbc7a8bf7bf9bac0d266ad78 fs/ext4/mballoc.o c912dd0752d1589e00f855e20ef23e3f fs/ext4/migrate.o 666774855b24ab1b853f61145cabc131 fs/ext4/mmp.o aa4a7ce393d2b428ea92b7ad10c52ba5 fs/ext4/move_extent.o @@ -1140,14 +1140,14 @@ 84b02a4423ef363e8dafaa14051d12de fs/ext4/xattr.o 4858583c12b3fb8c35fa3cb74fab81ec fs/ext4/xattr_trusted.o 28c7eae121833651623b25419a51c33a fs/ext4/xattr_user.o -0c2cd09e1c98ba7bdf949c2f2a9229d4 fs/fat/built-in.o +7f55a5d112bd548d0c7438ab5a5978b8 fs/fat/built-in.o bae702761238a5921382f4bcecf1a1b9 fs/fat/cache.o ba63a63275407a6800e6a74bf1741ac1 fs/fat/dir.o b0abd746de09578831c74181b5755069 fs/fat/fatent.o -cd42d0be3cf2c54da811d268ae0798a5 fs/fat/fat.o +9ca066906671272ad3cf39b871df9869 fs/fat/fat.o bc3a8667443f579d8e220acd4be03a03 fs/fat/file.o 98de368dbaff27194a14d94d94243d0a fs/fat/inode.o -73cb74afee3b8f3f0dc435bd041b8cf8 fs/fat/misc.o +1f523d61693108efdc3dfbc3fc9ae4cc fs/fat/misc.o 42863a7c063584ff7fca34782f332f4b fs/fat/msdos.o 920d316d55e00cc461cc7d978f4da7e5 fs/fat/namei_msdos.o 91d8cd90d4fc8c8be10d5a321c2f2786 fs/fat/namei_vfat.o @@ -1264,14 +1264,14 @@ 01cc9c709f77229ac4383f8d6c98a776 fs/timerfd.o 59a16df4f2bd7a04399f7bab8847b1d6 fs/utimes.o 5e52305d9f3f7f407d29c47286f9fbad fs/xattr.o -4939c5ee3ed7c87e8c2f6205a6d10a66 init/built-in.o +c0c65b33b27fa083ab4a96818a55a0f2 init/built-in.o 7080656f7aa984cf73ad9acbeb3fdab5 init/calibrate.o 50bb47316a76b615734a37e72f6851d9 init/do_mounts.o 975070cf28a02c6e675768738dd9a68a init/init_task.o 322d4aa5d3cd16fcfcc5cb5d91fab62a init/main.o d321721146c48eba65fc60fc8d1bec6d init/mounts.o 383a8bd3a8d5a713ccaf1057acc9c033 init/noinitramfs.o -57baa63116facf4d8d8f2af86883ef8a init/version.o +3e6b564319a622055e2cb5ed0535dd7d init/version.o 2f83f522b79ab0e3c91a1a0d99d67e16 ipc/built-in.o e0c18d50df3d8d265809c1ec3e0f9f2a ipc/ipcns_notifier.o 3f4400b1366f91dafb9e6854b8788590 ipc/ipc_sysctl.o @@ -1285,7 +1285,7 @@ 0beba6fbcbadf7e730cd1d547f005368 ipc/util.o 1a1d081659ea2784f567e3303c2a1e76 kernel/acct.o fd28ce41d77681d105deba2ee7ac64b7 kernel/async.o -0b6d4b4204c739330b16a7064556d979 kernel/built-in.o +b4f014b30cc42dea9c8f3cba095bdbce kernel/built-in.o c24d866bb64bcd32a5e2b9f59f1067fd kernel/capability.o 0f00a351549e8fe7a3ce50bdbabfd913 kernel/configs.o 648e2dedc987548cf5b1ebbbb537734c kernel/cpu/built-in.o @@ -1303,7 +1303,7 @@ e8d547275c342fe5a46a168596d53382 kernel/exec_domain.o cff1ca4e39330c857e640f2df3660a52 kernel/exit.o 321b43688d6065387a712122ac89cdc3 kernel/extable.o -e8321377f256ab8f6287049ddd705182 kernel/fork.o +44ec4e8f61289cac93cefa8e837ed099 kernel/fork.o 87671a2d4db4c081c83f250441ff2986 kernel/futex.o 8d786c8d4399a00a5f3261914eb5a3b9 kernel/groups.o 83c9cee100d9a207fb82e4e69e3b05c5 kernel/hrtimer.o @@ -1337,7 +1337,7 @@ 8f206010c35b8983d787bc2cad231134 kernel/locking/spinlock.o cc91727fe32f95a6d1fcca40826ace02 kernel/notifier.o e3a99e9d3062cdcd9ddd7b636b5bc251 kernel/nsproxy.o -a76ab8719b8f59084a9e70066528bdf1 kernel/panic.o +91f0328dfa9856cf8636018ce35db532 kernel/panic.o 38b578eee3ab734c3f6cffe83bf807ad kernel/params.o 470c5a400fdf0607619df9549f4560d5 kernel/pid.o 09a8e90f2146ceb2e36c2ffc960645b5 kernel/posix-cpu-timers.o @@ -1346,8 +1346,8 @@ 0edc56d2bb12dd26850ae963507ae49f kernel/power/main.o 54f93ee69e7dc3160c320e459f64d751 kernel/power/poweroff.o d4194de6fcbda21e3e46f2c506d8179a kernel/power/qos.o -b9ea4b7edc58142c072c8012a62a714f kernel/printk/built-in.o -ac4106e39942d0869c0481e5f3b5d841 kernel/printk/printk.o +0aab057009fe3e9467e4cc9ea3cca537 kernel/printk/built-in.o +bf7d10687e41d8d1dc4169e1032a6da3 kernel/printk/printk.o b2af710db7a61d14c936641373863229 kernel/ptrace.o 440069c4f01e98e056fa23fab2327d93 kernel/range.o 8696af860f6627461db0ed03b6ed6619 kernel/rcu/built-in.o @@ -1906,4 +1906,4 @@ 55753c94a4295e732790dd300e3fc4b3 virt/kvm/irq_comm.o 62cfac36f0ae7db3b00eca61aa0b49b4 virt/kvm/kvm_main.o ed482544fd1530ca42c6fbee95157aec virt/kvm/vfio.o -ad2058c0c76b44d12e6653b259e992f7 vmlinux.o +b3f991aed320990c6b218e58e2f16d30 vmlinux.o