This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
i'm not terribly familiar with libgloss' source layout. ive reviewed the
porting doc, but it seems some pieces are out of date, and it doesnt exactly
explain how one folds a bsp lib from libgloss into gcc's default linker
output.
in my case, i'm looking at overriding the default _exit() symbol. the
libnosys code attempts to trigger a divide-by-zero exception which doesnt
exist on Blackfin parts. atm, our local tree is doing:
libgloss/libnosys/_exit.c:
#ifdef __BFIN__
asm ("EXCPT 0;");
#else
/* Default stub just causes a divide by 0 exception. */
int x = rc / INT_MAX;
x = 4 / x;
asm volatile ("" : : "r" (x));
#endif
clearly this goes against the whole point of libnosys :)
there is also an additional support function i need to add that is Blackfin-
specific and required by gcc (for clearing caches).
so what i'm thinking is that i declare a new libbsp.a in bfin/Makefile.in,
stick a _exit.c file in there as well as the Blackfin-specific files, and then
build them up as part of libgloss.
then i modify the Blackfin elf gcc spec like so:
-#define LIB_SPEC "--start-group -lc %{msim:-lsim}%{!msim:-lnosys} --end-group \
+#define LIB_SPEC "--start-group -lc %{msim:-lsim}%{!msim:-lbsp -lnosys} --end-group \
is this the way to go ? or am i completely off base ?
-mike
Attachment:
signature.asc
Description: This is a digitally signed message part.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |