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).