On Aug 6, 2007, at 5:41 PM, James Keenan via RT wrote:

On Mon Aug 06 05:57:39 2007, ptc wrote:

This is the block in question in config/init/defaults.pm:

    my $archname = $Config{archname};
    if ($m) {
        if ( $archname =~ /x86_64/ && $m eq '32' ) {
            $archname =~ s/x86_64/i386/;

            # adjust gcc?
            for my $cc qw(cc cxx link ld) {
                $conf->data->add( ' ', $cc, '-m32' );
            }

            # and lib flags
for my $lib qw(ld_load_flags ld_share_flags ldflags linkflags) {
                my $item = $conf->data->get($lib);
                ( my $ni = $item ) =~ s/lib64/lib/g;
                $conf->data->set( $lib, $ni );
            }
        }
    }

This is the documentation on the '--m' option in Configure.pl:

       "--m=32"
           Create a 32-bit executable on 64-architectures like x86_64.
This option appends -m32 to compiler and linker programs and does
s/lib64/lib/g on link flags.

           This option is experimental. See config/init/defaults.pm for
more.

Is there anyone with a 64-arch like x86_64 who could assist with this?
If so, please let me know.  Thank you very much.

Jim Keenan
#parrot:  kid51


It might be relevant to see into #42411 as well as it concerns --m=32 on FreeBSD. It's currently broken, but I made a patch that at least seems to fix parrot's end of the issue.

FreeBSD's different than other OS's for amd64 such as linux, in that it builds a true amd64 system, instead of a 32 bit system with extra 64 bit libraries(not to say that it's superior or inferior, but there are currently issues with 32 bit threaded applications, and parrot requires threads).

Reply via email to