the rules how to build those sources. Generate makefiles defining ${COPTS},
${CPPFLAGS}, and ${SRCS} (== template).
Note that ${CPPFLAGS} is actually dfined as _CPPFLAGS like
_CPPFLAGS.tmp___gcc_bcmp.c=-DL__gcc_bcmp
and used to generate wrapper files (e.g. tmp___gcc_bcmp.c). Otherwise it's
automagically passed to ${CC} by bsd.*.mk.
We create wrapper sources (tmp_*.[cS]) on-the-fly and compile them. For
example, __gcc_bcmp() is compiled using tmp___gcc_bcmp.c, which #define's
L__gcc_bcmp and #include's libgcc2.c.
repeatedly with different -DXXX to generate similar objects (e.g. different
type size).
- Generate a list of other CC options to build *.o.
(See my sed-fu using hold space in get_libgcc_list_objs_xflags().)
parsing dependency lines in libgcc.mk.
- Generate a list of *.o -> *.{c,S} mapping. *.S files are known as
${LIB1ASMFUNCS}. Assume other *.o files are built from *.c. This information
is needed to generated wrapper sources later.
BSD makefiles to build libgcc. The goal is to build all functions rather
than managing the set of functions in gnu/lib/libgcc/Makefile.in by hand.
Because of the complexity of the build procedure, I leave not only generated
makefiles but also intermediate, analyzed data so that people can verify that
the conversion is done correctly.
the schizo version slightly differently.
pull out the schizo's IGN from the upaid, not the apparently broken device
ID register. from openbsd.
with this i appear to have valid working interrupts on the SB2500.
tested on U60 and SB2500.
XXX: we can probably kill (*spc_find_ino)() now that pci_intr_map() itself
XXX: is no longer a first class function.
i was seeing stack corruption while taking an interrupt in this function.
get USIII SMP mostly working by implementing the cheetah version of
sparc64_ipi_flush_pte().
SMP support is still not entirely stable. i can reproducably get a:
panic: fpusave_lwp ipi didn't
while running build.sh, when an awk process is exiting. other simple
heavy work loads do not crash for me right now.
attach cpu0 (the one and only cpu* ever) to the firmware node describing
the cpu we are currently running on.
Otherwise we will have a mismatch on the UPA-ID in the cpuinfo and
eventually allocate a second cpuinfo overriding all the initializations
done early for the boot cpu.