summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/binutils-apple/files/ld64-127.2-ppc-range-warning.patch')
-rw-r--r--sys-devel/binutils-apple/files/ld64-127.2-ppc-range-warning.patch16
1 files changed, 16 insertions, 0 deletions
diff --git a/sys-devel/binutils-apple/files/ld64-127.2-ppc-range-warning.patch b/sys-devel/binutils-apple/files/ld64-127.2-ppc-range-warning.patch
new file mode 100644
index 000000000000..c9f850823939
--- /dev/null
+++ b/sys-devel/binutils-apple/files/ld64-127.2-ppc-range-warning.patch
@@ -0,0 +1,16 @@
+Insipred by the comment here:
+http://bugs.freepascal.org/view.php?id=20879
+It looks like the PPC case is missing, hence add this. Without, we get
+linker errors for compiling packages like Python and TexLive.
+
+--- src/ld/OutputFile.cpp
++++ src/ld/OutputFile.cpp
+@@ -807,7 +807,7 @@
+ // is encoded in mach-o the same as:
+ // .long _foo + 0x40000000
+ // so if _foo lays out to 0xC0000100, the first is ok, but the second is not.
+- if ( (_options.architecture() == CPU_TYPE_ARM) || (_options.architecture() == CPU_TYPE_I386) ) {
++ if ( (_options.architecture() == CPU_TYPE_ARM) || (_options.architecture() == CPU_TYPE_I386) || (_options.architecture() == CPU_TYPE_POWERPC) ) {
+ // Unlikely userland code does funky stuff like this, so warn for them, but not warn for -preload
+ if ( _options.outputKind() != Options::kPreload ) {
+ warning("32-bit absolute address out of range (0x%08llX max is 4GB): from %s + 0x%08X (0x%08llX) to 0x%08llX",