https://bugs.llvm.org/show_bug.cgi?id=32803

            Bug ID: 32803
           Summary: Append extension to --reproduce again
           Product: lld
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: ELF
          Assignee: unassignedb...@nondot.org
          Reporter: dav...@freebsd.org
                CC: chisophu...@gmail.com, llvm-bugs@lists.llvm.org,
                    rafael.espind...@gmail.com, r...@google.com,
                    simon.f.whitta...@gmail.com

I understand it's not UNIX'y or POSIX'y, but this is what happens when you
extract a tar file without `.tar` extension in the name.

[davide@localhost reproduce]$ tar -xvf patty
patty/response.txt
tar: patty/response.txt: Cannot open: Not a directory
patty/version.txt
tar: patty/version.txt: Cannot open: Not a directory
patty/usr/lib64/crt1.o
tar: patty/usr/lib64/crt1.o: Cannot open: Not a directory
patty/usr/lib64/crti.o
tar: patty/usr/lib64/crti.o: Cannot open: Not a directory
patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/crtbegin.o
tar: patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/crtbegin.o: Cannot open: Not a
directory
patty/home/davide/work/torch/build/exe/luajit-rocks/luajit-2.1/CMakeFiles/luajit.dir/src/luajit.c.o
tar:
patty/home/davide/work/torch/build/exe/luajit-rocks/luajit-2.1/CMakeFiles/luajit.dir/src/luajit.c.o:
Cannot open: Not a directory
patty/home/davide/work/torch/build/exe/luajit-rocks/luajit-2.1/CMakeFiles/luajit.dir/src/ljamalg.c.o
tar:
patty/home/davide/work/torch/build/exe/luajit-rocks/luajit-2.1/CMakeFiles/luajit.dir/src/ljamalg.c.o:
Cannot open: Not a directory
patty/home/davide/work/torch/build/exe/luajit-rocks/luajit-2.1/CMakeFiles/luajit.dir/lj_vm.S.o
tar:
patty/home/davide/work/torch/build/exe/luajit-rocks/luajit-2.1/CMakeFiles/luajit.dir/lj_vm.S.o:
Cannot open: Not a directory
patty/usr/lib64/libreadline.so
tar: patty/usr/lib64/libreadline.so: Cannot open: Not a directory
patty/usr/lib64/libdl.so
tar: patty/usr/lib64/libdl.so: Cannot open: Not a directory
patty/usr/lib64/libm.so
tar: patty/usr/lib64/libm.so: Cannot open: Not a directory
patty/lib64/libm.so.6
tar: patty/lib64/libm.so.6: Cannot open: Not a directory
patty/usr/lib64/libmvec_nonshared.a
tar: patty/usr/lib64/libmvec_nonshared.a: Cannot open: Not a directory
patty/lib64/libmvec.so.1
tar: patty/lib64/libmvec.so.1: Cannot open: Not a directory
patty/usr/lib64/libncurses.so
tar: patty/usr/lib64/libncurses.so: Cannot open: Not a directory
patty/usr/lib64/libncurses.so.6
tar: patty/usr/lib64/libncurses.so.6: Cannot open: Not a directory
patty/usr/lib64/libtinfo.so
tar: patty/usr/lib64/libtinfo.so: Cannot open: Not a directory
patty/usr/lib64/libpthread.so
tar: patty/usr/lib64/libpthread.so: Cannot open: Not a directory
patty/lib64/libpthread.so.0
tar: patty/lib64/libpthread.so.0: Cannot open: Not a directory
patty/usr/lib64/libpthread_nonshared.a
tar: patty/usr/lib64/libpthread_nonshared.a: Cannot open: Not a directory
patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libgcc.a
tar: patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libgcc.a: Cannot open: Not a
directory
patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libgcc_s.so
tar: patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libgcc_s.so: Cannot open: Not
a directory
patty/usr/lib64/libc.so
tar: patty/usr/lib64/libc.so: Cannot open: Not a directory
patty/lib64/libc.so.6
tar: patty/lib64/libc.so.6: Cannot open: Not a directory
patty/usr/lib64/libc_nonshared.a
tar: patty/usr/lib64/libc_nonshared.a: Cannot open: Not a directory
patty/lib64/ld-linux-x86-64.so.2
tar: patty/lib64/ld-linux-x86-64.so.2: Cannot open: Not a directory
patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libgcc.a
tar: patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libgcc.a: Cannot open: Not a
directory
patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libgcc_s.so
tar: patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libgcc_s.so: Cannot open: Not
a directory
patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/crtend.o
tar: patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/crtend.o: Cannot open: Not a
directory
patty/usr/lib64/crtn.o
tar: patty/usr/lib64/crtn.o: Cannot open: Not a directory
tar: Exiting with failure status due to previous errors


[davide@localhost reproduce]$ mv patty patty.tar
[davide@localhost reproduce]$ tar -xvf patty.tar
patty/response.txt
patty/version.txt
patty/usr/lib64/crt1.o
patty/usr/lib64/crti.o
patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/crtbegin.o
patty/home/davide/work/torch/build/exe/luajit-rocks/luajit-2.1/CMakeFiles/luajit.dir/src/luajit.c.o
patty/home/davide/work/torch/build/exe/luajit-rocks/luajit-2.1/CMakeFiles/luajit.dir/src/ljamalg.c.o
patty/home/davide/work/torch/build/exe/luajit-rocks/luajit-2.1/CMakeFiles/luajit.dir/lj_vm.S.o
patty/usr/lib64/libreadline.so
patty/usr/lib64/libdl.so
patty/usr/lib64/libm.so
patty/lib64/libm.so.6
patty/usr/lib64/libmvec_nonshared.a
patty/lib64/libmvec.so.1
patty/usr/lib64/libncurses.so
patty/usr/lib64/libncurses.so.6
patty/usr/lib64/libtinfo.so
patty/usr/lib64/libpthread.so
patty/lib64/libpthread.so.0
patty/usr/lib64/libpthread_nonshared.a
patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libgcc.a
patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libgcc_s.so
patty/usr/lib64/libc.so
patty/lib64/libc.so.6
patty/usr/lib64/libc_nonshared.a
patty/lib64/ld-linux-x86-64.so.2
patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libgcc.a
patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libgcc_s.so
patty/usr/lib/gcc/x86_64-redhat-linux/6.3.1/crtend.o
patty/usr/lib64/crtn.o

After renaming, it works fine.

$ tar --version
tar (GNU tar) 1.28
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.


I'm aware we changed the default in the past, but at this point I'm not
entirely sure what being UNIX'y buys us other than the annoyance of an extra
rename. We could detect if the name ends with `.tar` and just not append in
that case to avoid a funny `.tar.tar` but to be honest, I don't care about the
repeated extension.

Opening this bug so we can reach a consensus.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to