Control: retitle -1 mlton needs PIE bootstrap

On Tue, Oct 25, 2016 at 05:14:00PM +0000, Niels Thykier wrote:
> On Mon, 24 Oct 2016 20:18:39 +0300 Adrian Bunk <b...@stusta.de> wrote:
> > Control: retitle -1 mlton needs PIE binNMU
> > 
> > A binNMU should be sufficient to fix this, and already requested.
> > 
> > cu
> > Adrian
> > 
> > [...]
> 
> The rebuild with PIE failed with:
> 
> 
> """
> > "/«PKGBUILDDIR»/bin/upgrade-basis" 
> > '/«PKGBUILDDIR»/build/bin:/«PKGBUILDDIR»/build/bin:/«PKGBUILDDIR»/bin:/«PKGBUILDDIR»/build/bin:/«PKGBUILDDIR»/bin:/«PKGBUILDDIR»/build/bin:/«PKGBUILDDIR»/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
> >  "amd64" "linux" >upgrade-basis.sml
> > /usr/bin/ld: /usr/lib/mlton/targets/self/libmlton.a(platform.o): relocation 
> > R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared 
> > object; recompile with -fPIC
> > /usr/bin/ld: /usr/lib/mlton/targets/self/libmlton.a(gc.o): relocation 
> > R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared 
> > object; recompile with -fPIC
> > /usr/bin/ld: /usr/lib/mlton/targets/self/libmlton.a(bug.o): relocation 
> > R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared 
> > object; recompile with -fPIC
> > /usr/bin/ld: /usr/lib/mlton/targets/self/libmlton.a(Stat.o): relocation 
> > R_X86_64_32 against `.bss' can not be used when making a shared object; 
> > recompile with -fPIC
> > /usr/bin/ld: /usr/lib/mlton/targets/self/libmlton.a(util.o): relocation 
> > R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared 
> > object; recompile with -fPIC
> > /usr/bin/ld: /usr/lib/mlton/targets/self/libmlton.a(linux.o): relocation 
> > R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared 
> > object; recompile with -fPIC
> > /usr/bin/ld: /usr/lib/mlton/targets/self/libgdtoa.a(strtof.o): relocation 
> > R_X86_64_32 against `.data' can not be used when making a shared object; 
> > recompile with -fPIC
> > /usr/bin/ld: /usr/lib/mlton/targets/self/libgdtoa.a(strtodg.o): relocation 
> > R_X86_64_32S against `.rodata' can not be used when making a shared object; 
> > recompile with -fPIC
> > /usr/bin/ld: /usr/lib/mlton/targets/self/libgdtoa.a(gethex.o): relocation 
> > R_X86_64_32S against hidden symbol `hexdig_D2A' can not be used when making 
> > a shared object
> > /usr/bin/ld: /usr/lib/mlton/targets/self/libgdtoa.a(hd_init.o): relocation 
> > R_X86_64_32 against `.LC2' can not be used when making a shared object; 
> > recompile with -fPIC
> > /usr/bin/ld: /usr/lib/mlton/targets/self/libgdtoa.a(hexnan.o): relocation 
> > R_X86_64_32S against hidden symbol `hexdig_D2A' can not be used when making 
> > a shared object
> > /usr/bin/ld: /usr/lib/mlton/targets/self/libgdtoa.a(misc.o): relocation 
> > R_X86_64_32S against `.bss' can not be used when making a shared object; 
> > recompile with -fPIC
> > /usr/bin/ld: final link failed: Nonrepresentable section on output
> > collect2: error: ld returned 1 exit status
> > call to system failed with exit status 1:
> > gcc -o 3960 /tmp/filefof008.o /tmp/fileOrbJsr.o 
> > -L/usr/lib/mlton/targets/self -lmlton -lgdtoa -lm -lgmp -m64 
> > -Wl,-znoexecstack
> > Error: cannot upgrade basis because the compiler doesn't work
> > Makefile:83: recipe for target 'upgrade-basis.sml' failed
> """
> 
> Are we missing something that should have been rebuilt first?

You have to rebuild mlton before you can rebuild mlton?

This needs some PIE bootstrapping, and the patch from Ubuntu I tried was 
not sufficient.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

Reply via email to