This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/24446] segfault with -Os -funit-at-a-time with IMA



------- Comment #4 from rep dot nop at aon dot at  2005-10-19 21:13 -------
If the order is changed, the resulting binary is mostly miscompiled.

Executing the resulting binary should give a descriptive help text, but when
miscompiled segfaults instead of returning gracefully 0 or 1.



(In reply to comment #0)
> With
> GNU C version 4.1.0 20051019 (experimental) (i686-linux-gnu)
>         compiled by GNU C version 4.0.1 (Debian 4.0.1-2)
> 
> I do
>  /opt/gcc-4.1/bin/../lib/gcc/i686-linux-gnu/4.1.0/cc1 -fpreprocessed applets.i
> busybox.i ar.i bunzip2.i cpio.i dpkg.i dpkg_deb.i gunzip.i gzip.i rpm2cpio.i
> rpm.i tar.i uncompress.i unzip.i basename.i cal.i cat.i chgrp.i chmod.i chown.i
> chroot.i cmp.i comm.i cp.i cut.i date.i dd.i df.i dirname.i dos2unix.i du.i
> echo.i env.i expr.i false.i fold.i head.i hostid.i id.i install.i length.i ln.i
> logname.i ls.i md5_sha1_sum.i mkdir.i mkfifo.i mknod.i mv.i nice.i nohup.i od.i
> printenv.i printf.i pwd.i realpath.i rm.i rmdir.i seq.i md5_sha1_sum.i sleep.i
> sort.i stat.i stty.i sum.i sync.i tail.i tee.i test.i touch.i tr.i true.i tty.i
> uname.i uniq.i usleep.i uudecode.i uuencode.i watch.i wc.i who.i whoami.i yes.i
> chvt.i clear.i deallocvt.i dumpkmap.i setconsole.i loadfont.i loadkmap.i
> openvt.i reset.i setkeycodes.i mktemp.i pipe_progress.i readlink.i run_parts.i
> start_stop_daemon.i which.i awk.i patch.i sed.i vi.i find.i grep.i xargs.i
> halt.i init.i mesg.i poweroff.i reboot.i init_shared.i adjtimex.i crond.i
> crontab.i bbconfig.i dc.i devfsd.i eject.i hdparm.i last.i less.i makedevs.i
> mountpoint.i mt.i rx.i setsid.i strings.i time.i watchdog.i insmod.i lsmod.i
> modprobe.i rmmod.i arping.i ether-wake.i fakeidentd.i ftpgetput.i ftpgetput.i
> hostname.i httpd.i ifconfig.i ifupdown.i inetd.i ip.i ipcalc.i ipaddr.i
> iplink.i iproute.i iptunnel.i nameif.i nc.i netstat.i nslookup.i ping.i route.i
> telnet.i telnetd.i tftp.i traceroute.i vconfig.i wget.i zcip.i common.i
> options.i packet.i pidfile.i signalpipe.i socket.i dhcpc.i clientpacket.i
> clientsocket.i script.i dhcpd.i arpping.i files.i leases.i serverpacket.i
> static_leases.i dumpleases.i free.i kill.i pidof.i ps.i renice.i sysctl.i top.i
> uptime.i addgroup.i adduser.i getty.i login.i passwd.i su.i sulogin.i vlock.i
> deluser.i delgroup.i ash.i hush.i lash.i msh.i klogd.i logger.i syslogd.i
> dmesg.i fbset.i fdflush.i fdformat.i fdisk.i freeramdisk.i fsck_minix.i
> getopt.i hexdump.i hwclock.i ipcrm.i ipcs.i losetup.i mkfs_minix.i mkswap.i
> more.i mount.i pivot_root.i rdate.i readprofile.i swaponoff.i umount.i
> archive_xread_all.i archive_xread_all_eof.i check_header_gzip.i data_align.i
> data_extract_all.i data_extract_to_buffer.i data_extract_to_stdout.i
> data_skip.i decompress_bunzip2.i decompress_uncompress.i decompress_unzip.i
> filter_accept_all.i filter_accept_list.i filter_accept_list_reassign.i
> filter_accept_reject_list.i find_list_entry.i get_header_ar.i get_header_cpio.i
> get_header_tar.i header_list.i header_skip.i header_verbose_list.i
> init_handle.i open_transformer.i seek_by_char.i seek_by_jump.i
> unpack_ar_archive.i ip_parse_common_args.i ipaddress.i iplink.i iproute.i
> iptunnel.i libnetlink.i ll_addr.i ll_map.i ll_proto.i ll_types.i rt_names.i
> rtm_map.i utils.i pwd_grp.i pwd_grp.i cp_mv_stat.i getopt_mk_fifo_nod.i
> bb_asprintf.i ask_confirmation.i change_identity.i chomp.i
> compare_string_array.i concat_path_file.i copy_file.i copyfd.i
> correct_password.i create_icmp_socket.i create_icmp6_socket.i device_open.i
> dump.i error_msg.i error_msg_and_die.i find_mount_point.i find_pid_by_name.i
> find_root_device.i fgets_str.i full_read.i full_write.i
> get_last_path_component.i get_line_from_file.i hash_fd.i herror_msg.i
> herror_msg_and_die.i human_readable.i inet_common.i inode_hash.i interface.i
> isdirectory.i kernel_version.i last_char_is.i login.i loop.i make_directory.i
> mode_string.i mtab.i mtab_file.i obscure.i parse_mode.i parse_number.i
> perror_msg.i perror_msg_and_die.i print_file.i get_console.i
> process_escape_sequence.i procps.i pw_encrypt.i qmodule.i read_package_field.i
> recursive_action.i remove_file.i restricted_shell.i run_parts.i run_shell.i
> safe_read.i safe_write.i safe_strncpy.i setup_environment.i simplify_path.i
> trim.i u_signal_names.i vdprintf.i verror_msg.i vherror_msg.i vperror_msg.i
> wfopen.i xconnect.i xgetcwd.i xgethostbyname.i xgethostbyname2.i xreadlink.i
> xregcomp.i xgetlarg.i get_terminal_width_height.i fclose_nonstdin.i
> fflush_stdout_and_exit.i getopt_ulflags.i wfopen_input.i default_error_retval.i
> speed_table.i perror_nomsg_and_die.i perror_nomsg.i skip_whitespace.i
> bb_askpass.i warn_ignoring_args.i concat_subpath_file.i vfork_daemon_rexec.i
> bb_echo.i messages.i xfuncs.i printf.i xgetularg.i safe_strtol.i bb_pwd.i
> llist.i -quiet -dumpbase applets.i -march=i386 -mpreferred-stack-boundary=2
> -auxbase-strip busybox -Os -Wall -Wstrict-prototypes -Wshadow -version
> -falign-functions=0 -falign-jumps=0 -falign-loops=0 -fomit-frame-pointer
> -funit-at-a-time -o applets.s
> 
> 
> (see foo1 for the order)
> and get:
> 
> [snip]
> /libbb/llist.c:70: internal compiler error: Segmentation fault
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://gcc.gnu.org/bugs.html> for instructions.
> make: *** [busybox] Error 1
> 
> 
> The segfault occurs depending on which file is near the end of the list.
> Omitting the -combine switch did (iirc) trigger another, separate bug.
> 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24446


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]