Opened 4 hours ago

#70995 new defect

pcc fails to build on powerpc: Undefined symbols: "_builtin_frame_address"

Reported by: barracuda156 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.10.1
Keywords: powerpc Cc:
Port: pcc

Description

There are two problems:

  1. Configure hardcodes x86_64 arch on 10.6+, which breaks ppc and likely i386. Easy to fix:
    --- configure	2014-12-06 17:35:51.000000000 +0800
    +++ configure	2024-09-30 09:16:58.000000000 +0800
    @@ -2543,11 +2543,7 @@
             hostos=bsd
     	;;
         darwin*)
    -	echo $targosver
    -	if test "$targosver" -ge 10 ; then
    -		targmach=amd64
    -	fi
    -	hostos=darwin
    +        hostos=darwin
     	;;
         dragonfly*)
             hostos=dragonfly
    

However, at the end the build fails on linking for me:

:info:build mv -f lex.yy.c scan.c
:info:build ccache /usr/bin/gcc-4.2 -pipe -Os -arch ppc  -Wall -Wmissing-prototypes -Wshadow -Wsign-compare -I/opt/local/include  -DGCC_COMPAT -DPCC_DEBUG -D_ISOC99_SOURCE -Dos_darwin -Dmach_powerpc -I. -I. -I../.. -I../../mip -I../../arch/powerpc -I../../os/darwin -c -o scan.o scan.c
:info:build ccache /usr/bin/gcc-4.2 -pipe -Os -arch ppc  -Wall -Wmissing-prototypes -Wshadow -Wsign-compare -I/opt/local/include  -DGCC_COMPAT -DPCC_DEBUG -D_ISOC99_SOURCE -Dos_darwin -Dmach_powerpc -I. -I. -I../.. -I../../mip -I../../arch/powerpc -I../../os/darwin -c -o stabs.o ./stabs.c
:info:build ccache /usr/bin/gcc-4.2 -pipe -Os -arch ppc  -Wall -Wmissing-prototypes -Wshadow -Wsign-compare -I/opt/local/include  -DGCC_COMPAT -DPCC_DEBUG -D_ISOC99_SOURCE -Dos_darwin -Dmach_powerpc -I. -I. -I../.. -I../../mip -I../../arch/powerpc -I../../os/darwin -c -o symtabs.o ./symtabs.c
:info:build ccache /usr/bin/gcc-4.2 -pipe -Os -arch ppc  -Wall -Wmissing-prototypes -Wshadow -Wsign-compare -I/opt/local/include  -DGCC_COMPAT -DPCC_DEBUG -D_ISOC99_SOURCE -Dos_darwin -Dmach_powerpc -I. -I. -I../.. -I../../mip -I../../arch/powerpc -I../../os/darwin -c -o table.o ../../arch/powerpc/table.c
:info:build ccache /usr/bin/gcc-4.2 -pipe -Os -arch ppc  -Wall -Wmissing-prototypes -Wshadow -Wsign-compare -I/opt/local/include  -DGCC_COMPAT -DPCC_DEBUG -D_ISOC99_SOURCE -Dos_darwin -Dmach_powerpc -I. -I. -I../.. -I../../mip -I../../arch/powerpc -I../../os/darwin -c -o trees.o ./trees.c
:info:build ccache /usr/bin/gcc-4.2 -pipe -Os -arch ppc  -Wall -Wmissing-prototypes -Wshadow -Wsign-compare -I/opt/local/include  -DGCC_COMPAT -DPCC_DEBUG -D_ISOC99_SOURCE -Dos_darwin -Dmach_powerpc -I. -I. -I../.. -I../../mip -I../../arch/powerpc -I../../os/darwin -c -o unicode.o ../../mip/unicode.c
:info:build ccache /usr/bin/gcc-4.2 -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc builtins.o cgram.o code.o common.o compat.o external.o gcc_compat.o init.o inline.o local.o local2.o main.o match.o optim.o optim2.o order.o pftn.o reader.o regs.o scan.o stabs.o symtabs.o table.o trees.o unicode.o -o ccom 
:info:build Undefined symbols:
:info:build   "_builtin_frame_address", referenced from:
:info:build       _bitable in builtins.o
:info:build   "_builtin_cfa", referenced from:
:info:build       _bitable in builtins.o
:info:build   "_builtin_return_address", referenced from:
:info:build       _bitable in builtins.o
:info:build ld: symbol(s) not found
:info:build collect2: ld returned 1 exit status
:info:build make[2]: *** [ccom] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_pcc/pcc/work/pcc-1.1.0/cc/ccom'
:info:build make[1]: *** [all] Error 2
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_pcc/pcc/work/pcc-1.1.0/cc'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_pcc/pcc/work/pcc-1.1.0'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_pcc/pcc/work/pcc-1.1.0" && /usr/bin/make -w all 
:info:build Exit code: 

Not sure what to do here.

Change History (0)

Note: See TracTickets for help on using tickets.