Re: Keep MLton from being kicked out of Debian?

"Wesley W. Terpstra" <[email protected]> Mon, 7 Nov 2016 19:15:17 -0800
Newsgroups gmane.comp.lang.ml.mlton.user
Message-ID <CAA-O0XiZ_kL8o4jEKQ5oSF1hH0sA_jG+TMizB9vJy8WZ-p0scQ@mail.gmail.com>
The main problem with making a new debian package is getting it built for
all the debian architectures. I wanted to solve this myself, but my debian
key has lapsed and so i can no longer use the debian porterboxes. So i need
to find some DDs to sign a new key...

On Nov 7, 2016 3:05 PM, "Matthew Fluet" <[email protected]> wrote:

> On Mon, Nov 7, 2016 at 4:55 PM, Christopher Cramer
> <[email protected]> wrote:
> > On Mon, Nov 07, 2016 at 04:38:44PM -0500, Matthew Fluet wrote:
> >> You could add it to the `mlton/Makefile` where it detects compiling
> >> with an older version:
> >>   https://github.com/MLton/mlton/blob/master/mlton/Makefile#L40
> >> You could add a
> >>   FLAGS += -cc-opt -fno-pie -link-opt -fno-pie
> >
> > Yeah, I did exactly that (and also had to stick it into
> bin/upgrade-basis).
>
> Make sense.  I've killed bin/upgrade-basis in master, because it is a
> pain (and hasn't really done anything for quite some time).
>
> > But the next problem I'm having is that the self-compiling stage
> > isn't working:
> >
> > Compiling mllex
> > "mlton" -target self mllex.mlb
> > /usr/bin/ld: /tmp/fileM3o02U.o: relocation R_X86_64_32S against `.data'
> can not be used when making a shared object; recompile with -fPIC
> > /usr/bin/ld: /tmp/fileuuCnoI.o: relocation R_X86_64_32S against `.data'
> 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 mllex /tmp/filepfaQ8o.o /tmp/fileofptQJ.o /tmp/fileM3o02U.o
> /tmp/fileuuCnoI.o -L/home/tsuyoshi/src/mlton-20100608/build/lib/targets/self
> -lmlton -lgdtoa -lm -lgmp -m64 -Wl,-znoexecstack
> >
> > Does the mlton codegen support PIC, or do we just need to disable it?
> > I remember we ran into this problem on OSX before, and I believe that's
> > what you use, so what did you do for OSX?
>
> MLton supports PIC, it just does not assume that Linux requires PIC.
> Debian might patch to force using PIC; should be as simple as adding a
> case to:
>   https://github.com/MLton/mlton/blob/master/mlton/main/main.fun#L920
>
> Of course, if you make that patch, then MLton will always generate PIC.
>
> And, this is where I haven't figured out what Debian is trying to
> achieve.  Is the PIC/PIE default gcc just during package building (so
> that executables within .deb packages are PIE), or is it also the
> behavior of an installed Debian system, so that a normal user invoking
> gcc will get the PIC/PIE default?  If the behavior of an installed
> Debian system is not to have a PIC/PIE default gcc, then you will end
> up with the awkward situation where MLton will (unnecessarily)
> generate PIC code, although I don't think it a problem if PIC object
> is linked with non-PIC objects into a non-PIE executable.
>
> MLton should really support some kind of "-pie {false|true}" flag,
> whose default depends on the target platform.  But, by "target
> platform", we need something more specific than our past arch/os pair
> --- because amd64-linux Debian sid wants the default to be true, but
> amd64-linux Debian jessie wants (or at least allows) the default to be
> false, and other linux distros also allow the default to be false.
> Ideally, we would generate PIC/non-PIC assembly depending on the
> default behavior of the C compiler on the target and similarly link
> PIE/non-PIE depending on the default behavior, with options to
> override the default (passing the appropriate flags to the C
> compiler).
>
> --
> You received this message because you are subscribed to the Google Groups
> "MLton-user" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>
>
> ------------------------------------------------------------
> ------------------
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> _______________________________________________
> MLton-user mailing list
> [email protected]; [email protected]
> https://lists.sourceforge.net/lists/listinfo/mlton-user
>

-- 
You received this message because you are subscribed to the Google Groups "MLton-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi

_______________________________________________
MLton-user mailing list
[email protected]; [email protected]
https://lists.sourceforge.net/lists/listinfo/mlton-user