On 10/14/07, Mark Martin <storycrafter at gmail.com> wrote:
>
> On 10/14/07, Brian D. Horn <Brian.Horn at sun.com> wrote:
> >
> > Yes. The thing is that we hadn't been rebuilding the linker since we
> > had it working properly
> > for building the boot and kernel, since we were not up to application
> > code. When, recently,
> > we started building application code ( libc.so.1 and such) I found that
> > there was a bug in the
> > linker (ld). I went to fix that bug and cam across this error. It has
> > to do with the -W0,globalstatic option, but
> > I need to investigate a bit more to find out when and how this problem
> > game into being.
>
>
>
> Righto. It was in the Makefile.master all along..
> # When -g is used, the compiler globalizes static objects
> # (gives them a unique prefix). Disable that.
> CNOGLOBAL= -W0,-noglobal
>
> # Direct the Sun Studio compiler to use a static globalization prefix
> based on the
> # name of the module rather than something unique. Otherwise, objects
> # will not build deterministically, as subsequent compilations of
> identical
> # source will yeild objects that always look different.
> #
> # In the same spirit, this will also remove the date from the N_OPT stab.
> CGLOBALSTATIC= -W0,-xglobalstatic
>
> I was missing CNOGLOBAL in CFLAGS (which may not be the correct place, but
> moves me past that error and on to new ones :) Learned something new: -g
> forces global scope (which does make some sense).
>
> Thanks for the tip. I do realize it may still be an issue in general, so
> I look forward to what you come up with...
>
> Mark
>
In the meantime, I pushed through and got a cross LD working. Allegedly, it
generates 32-bit big-endian PPC elf outputs...
bash-3.00$/home/mark/opensolaris/polaris/ppc-dev/proto/root_ppc/usr/ccs/bin/elfdump
-e
usr/src/uts/ppc/devinfo/obj32/devinfo
ELF Header
ei_magic: { 0x7f, E, L, F }
ei_class: ELFCLASS32 ei_data: ELFDATA2MSB
e_machine: EM_PPC e_version: EV_CURRENT
e_type: ET_REL
e_flags: 0
e_entry: 0 e_ehsize: 52 e_shstrndx: 9
e_shoff: 0x127a8 e_shentsize: 40 e_shnum: 14
e_phoff: 0 e_phentsize: 0 e_phnum: 0
bash-3.00$ uname -a
SunOS isildur 5.11 snv_73 sun4u sparc SUNW,Sun-Blade-1000
Unfortunately, genunix builds are stuck on...
Current working directory
/home/mark/opensolaris/polaris/ppc-dev/usr/src/uts/ppc/genunix
isildur --> Job output
/opt/onbld/bin/ppc/cw -_gcc -g -gdwarf-2 -D__powerpc -U__i386
-D__powerpc32 -W0,-noglobal ..
/../ppc/ml/ppc32.il -D_ASM_INLINES -Xa -_gcc=-ffreestanding -v -xildoff
-xdebugformat=stabs
-W0,-xglobalstatic -D_KERNEL -D_SYSCALL32 -D_DDI_STRICT -DC2_AUDIT
-I../../ppc -Y I,../.
./common -I/home/mark/opensolaris/polaris/ppc-dev/usr/src/common -c -o
obj32/exit.o ../../comm
on/os/exit.c
+ /opt/polaris/powerpc-unknown-solaris2.11/bin/gcc -fident -finline
-fno-inline-functions -fno-
builtin -fno-asm -nodefaultlibs -D__sun -gdwarf-2 -gdwarf-2 -D__powerpc
-U__i386 -D__powerpc32
-D_ASM_INLINES -ffreestanding -Wall -Wno-unknown-pragmas -Wno-missing-braces
-Wno-sign-compare
-Wno-parentheses -Wno-uninitialized -Wno-implicit-function-declaration
-Wno-unused -Wno-trigrap
hs -Wno-char-subscripts -Wno-switch -D_KERNEL -ffreestanding -D_SYSCALL32
-D_DDI_STRICT -DC2_AU
DIT -I../../ppc -nostdinc -I../../common
-I/home/mark/opensolaris/polaris/ppc-dev/usr/src/commo
n -c -o obj32/exit.o ../../common/os/exit.c
In file included from ../../common/sys/brand.h:36,
from ../../common/os/exit.c:76:
../../common/sys/exec.h:73: error: array type has incomplete element type
*** Error code 1
dmake: Warning: Command failed for target `obj32/exit.o'
I do realize I'm probably cluttering the list so I'll take this to a blog
somewhere from here on out if anyone is still interested.
Mark
--
> ------------------------------------------------------
> Born to the false world, the wanderer,
> Storyteller, The Pied Piper
> On a quest for immortality
> Gathering a troop to find the fantasy
> -- Nightwish
>
--
------------------------------------------------------
Born to the false world, the wanderer,
Storyteller, The Pied Piper
On a quest for immortality
Gathering a troop to find the fantasy
-- Nightwish
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://mail.opensolaris.org/pipermail/powerpc-discuss/attachments/20071014/29677af6/attachment.html>