On 2018-03-17, at 4:17 PM, Andreas Falkenhahn wrote:

> Hi,
> 
> I need to compile C++11 sources for PowerPC OS X so I installed gcc48 using 
> Mac Ports. Although the binary generated by gcc-mp-4.8 actually works, I do 
> get some warning messages which are worrying me.
> 
> When linking my project, I get this warning:
> 
>    ld: warning: 32-bit absolute address out of range (0x100521C58 max is 
> 4GB): from _REQUIRED_TAGS + 0x00000034 (0x00521C5C) to 0x100521C58
> 
> For reference, this is how I link my project:
> 
>    gcc-mp-4.8 -fPIC -dynamiclib -exported_symbols_list exports.def -o 
> macppc48/plugin.dylib macppc48/plugin.o -Llibharu/macppc48 -Llibapng/macppc48 
> -Lpdfium/macppc48 -L../freetype-2.8/macppc48/objs/.libs -lharu -lapng 
> -lpdfjpeg -lfreetype -lcms -lopenjpeg -lagg -lpdfium -lfdrm -lfpdfdoc 
> -lfpdfapi -lfpdftext -lfxcodec -lopenjpeg -lfxcrt -lfxge -lpwl -lformfiller 
> -ljavascript -lpdfiumbase -lfdrm -lfreetype -lpdfjpeg -lagg -lcms -lm -lpwl 
> -lfpdfdoc -lz -lstdc++ -framework AppKit -framework CoreFoundation
> 
> When running my project, I get lots of these errors:
> 
>    testprogram(151,0xa0b96820) malloc: *** error for object 0x41384d0: 
> Non-aligned pointer being freed (2)
>    *** set a breakpoint in malloc_error_break to debug
> 
> My project is a cross-platform project which already runs fine on many other 
> platforms (x86/x64 Mac; Windows; x86/x64/ppc/arm Linux, etc.) so I'm pretty 
> certain that those issues are not related to bugs in my code but that either 
> something is wrong with gcc 4.8 or that I'm not using it correctly.
> 
> Anyone here who knows how to solve these issues? As I said, despite those 
> warnings the program seems to work correctly but of course these warnings are 
> worrying me and I want them to disappear.
> 
> Thanks!
> 

As a first step, if you don't specifically require gcc-4.8, try instead with 
gcc-6 (macports-gcc-6) which works quite a bit better in most cases.

Also, make sure you have cctools installed, which includes a number of updated 
basic toolchain pieces that help out a lot.

The specific error you're seeing "32-bit absolute address out of range" tends 
to happen when things are compiled with clang-3.4 on PPC, so if you see 
anything being compiled with clang-3.4, rebuild it with gcc-6 instead.

After that, we slog through. It's a great system, PPC, but there are not so 
many of us using it any more. We need to stick together!

Best,

Ken



Reply via email to