Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 42625 Details for
Bug 68930
Getting ghc ported to various arches
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch to be applied against 6.2.2 to enable splitobjs
ghc-6.2.2-splitobjs.patch (text/plain), 2.84 KB, created by
Ryan Lortie
on 2004-10-26 06:51:43 UTC
(
hide
)
Description:
Patch to be applied against 6.2.2 to enable splitobjs
Filename:
MIME Type:
Creator:
Ryan Lortie
Created:
2004-10-26 06:51:43 UTC
Size:
2.84 KB
patch
obsolete
>diff -ru ghc-6.2.2/ghc/driver/split/ghc-split.lprl ghc-6.2.2a/ghc/driver/split/ghc-split.lprl >--- ghc-6.2.2/ghc/driver/split/ghc-split.lprl 2004-09-01 09:25:00.000000000 -0400 >+++ ghc-6.2.2/ghc/driver/split/ghc-split.lprl 2004-10-26 09:43:44.630872888 -0400 >@@ -30,7 +30,7 @@ > > &collectExports_hppa() if $TargetPlatform =~ /^hppa/; > &collectExports_mips() if $TargetPlatform =~ /^mips/; >- &collectDyldStuff_powerpc() if $TargetPlatform =~ /^powerpc-apple/; >+ &collectDyldStuff_powerpc_darwin() if $TargetPlatform =~ /^powerpc-apple-darwin/; > > $octr = 0; # output file counter > $* = 1; # multi-line matches are OK >@@ -107,7 +107,7 @@ > seek(TMPI, 0, 0); > } > >-sub collectDyldStuff_powerpc { # Note: Darwin/PowerPC only >+sub collectDyldStuff_powerpc_darwin { > local($chunk_label,$label,$cur_section,$section,$chunk,$alignment,$cur_alignment); > > %DyldChunks = (); # NB: global table >@@ -212,7 +212,10 @@ > return(&process_asm_block_alpha($str)) if $TargetPlatform =~ /^alpha-/; > return(&process_asm_block_hppa($str)) if $TargetPlatform =~ /^hppa/; > return(&process_asm_block_mips($str)) if $TargetPlatform =~ /^mips-/; >- return(&process_asm_block_powerpc($str)) if $TargetPlatform =~ /^powerpc-apple-/; >+ return(&process_asm_block_powerpc_darwin($str)) >+ if $TargetPlatform =~ /^powerpc-apple-darwin/; >+ return(&process_asm_block_powerpc_linux($str)) >+ if $TargetPlatform =~ /^powerpc-[^-]+-linux/; > > # otherwise... > &tidy_up_and_die(1,"$Pgm: no process_asm_block for $TargetPlatform\n"); >@@ -477,7 +480,7 @@ > \end{code} > > \begin{code} >-sub process_asm_block_powerpc { >+sub process_asm_block_powerpc_darwin { > local($str) = @_; > local($dyld_stuff) = ''; > >@@ -516,7 +519,38 @@ > > $str .= "\n" . $dyld_stuff; > >- print STDERR "### STRIPPED BLOCK (powerpc):\n$str" if $Dump_asm_splitting_info; >+ print STDERR "### STRIPPED BLOCK (powerpc darwin):\n$str" if $Dump_asm_splitting_info; >+ >+ $str; >+} >+\end{code} >+ >+\begin{code} >+sub process_asm_block_powerpc_linux { >+ local($str) = @_; >+ >+ # strip the marker >+ $str =~ s/__stg_split_marker.*\n//; >+ >+ # remove/record any literal constants defined here >+ while ( $str =~ s/^(\s+.section\s+\.rodata\n\s+\.align.*\n(\.LC\d+):\n(\s\.(byte|short|long|quad|2byte|4byte|8byte|fill|space|ascii|string).*\n)+)// ) { >+ local($label) = $2; >+ local($body) = $1; >+ >+ &tidy_up_and_die(1,"Local constant label $label already defined!\n") >+ if $LocalConstant{$label}; >+ >+ $LocalConstant{$label} = $body; >+ } >+ >+ # inject definitions for any local constants now used herein >+ foreach $k (keys %LocalConstant) { >+ if ( $str =~ /[\s,]$k\b/ ) { >+ $str = $LocalConstant{$k} . $str; >+ } >+ } >+ >+ print STDERR "### STRIPPED BLOCK (powerpc linux):\n$str" if $Dump_asm_splitting_info; > > $str; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 68930
: 42625 |
42627
|
45604
|
45605