| Summary: | 32-bit mv will not move broken symlinks | ||
|---|---|---|---|
| Product: | Busybox | Reporter: | john.frankish |
| Component: | Other | Assignee: | unassigned |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | normal | CC: | busybox-cvs |
| Priority: | P5 | ||
| Version: | 1.27.x | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Host: | Target: | ||
| Build: | |||
| Attachments: | busybox config | ||
Note that in busybox-1.24, both 32-bit mv and 64-bit mv work as expected. (In reply to john.frankish from comment #0) > Using busybox-1.27.2, with the same .config with x86 and x86_64, the mv command will move broken symlinks with x86_64, but not with x86. Can not reproduce. I assume it's a problem with a libc or toolchain you are using. In case anybody else has the problem, here are the details: glibc-2.26, gcc-7.2, busybox-1.27.2 - doesn't work glibc-2.24, gcc-6.2, busybox-1.27.2 - doesn't work glibc-2.22, gcc-5.2, busybox-1.24.0 - OK (In reply to john.frankish from comment #3) glibc-2.26, gcc-7.2, busybox-1.27.2 - doesn't work glibc-2.24, gcc-6.2, busybox-1.27.2 - doesn't work glibc-2.22, gcc-5.2, busybox-1.24.0 - OK Can you find at which exact bbox version it stopped working? I did some testing, compiling 32-bit with: glibc-2.22, gcc-5.2; busybox-1.24.2, 1.25.1, 1.26.2, 1.27.2 all OK glibc-2.24, gcc-6.2; busybox-1.25.1, 1.26.2, 1.27.2 none OK |
Created attachment 7431 [details] busybox config Using busybox-1.27.2, with the same .config with x86 and x86_64, the mv command will move broken symlinks with x86_64, but not with x86. x86_64 $ mkdir -p test/old test/new $ cd test/old $ touch some-file $ ln -s some-file good-link $ ln -s no-file bad-link $ mv * ../new $ cd .. $ find . ./new ./new/some-file ./new/good-link ./new/bad-link ./old ..with x86, bad-link is left in ./old