Linking archive to hello_world in standalone
Lists Nick Betteridge
lists.nick.betteridge at gmail.com
Fri Apr 22 15:19:48 CEST 2022
Hi!
Apologies for this beginner question! I'm trying to reference an archive
from the hello_world example in standalone.
The archive contains one object file - mystart_up.c:
int printf(const char* fmt, ...);
int my_hello_world(int argc, char *const argv[])
{
printf ("Hello World\n");
return (0);
}
The compiled archive is libmy.a and 'ar -t libmy.a' gives 'my_startup.o'.
The new version of hello_world.c is:
#include <stdint.h>
#include <stddef.h>
extern void app_startup (char *const argv[]);
extern int my_hello_world(int argc, char *const argv[]);
int startup(int argc, char *const argv[])
{
app_startup(argv);
my_hello_world(argc, argv);
return (0);
}
So, I've added libmy.a to the standalone directory and updated Makefile
with 'LDFLAGS_STANDALONE += -L $(obj) -lmy'
When I do a 'make', I get the error: undefined reference to `my_hello_world'
The position of the failure in the Makefile is:
$(ELF): $(obj)/%: $(obj)/%.o $(LIB) FORCE
$(call if_changed,link_elf)
Could anyone possibly suggest where I could fix this? Again, apologies
for such a basic question.
Best wishes
Nick
More information about the U-Boot
mailing list