Need help: alternative module inclusion - duplicate symbols

Michael Lawnick ml.lawnick at gmx.de
Mon Feb 26 11:36:35 CET 2024


Hi group,

hope you can help me:
I have modules pci_fpga.c and pci_fpga_emul.c with same functions in
them but different implementation, one for the real device, the other
one is an emulation.

What I now want is being able to include one of both versions through
build command. I started with this:

Makefile.core.def:
...
module = {
  name = pci_fpga;
  common = startlib/board/pci_fpga.c;
  enable = efi;
};

module = {
  name = pci_fpga_emul;
  common = startlib/board/pci_fpga_emul.c;
  enable = efi;
};
...

and then give pci_fpga or pci_fpga_emu on the build but then I get
duplicate symbols error.

For using different packages than common like this
module = {
  name = pci_fpga;
  pci_fpga = startlib/board/pci_fpga.c;
  enable = pci_fpga;
};
I could not find means to get pci_fpga included.

Same problem if trying to approach it via different enable flag: How to?

Can anybody help? In docs I couldn't find usable hints.

--
KR
Michael


More information about the U-Boot mailing list