This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Does testing/verifying COFF Library ensure ELF generated library is good/functional?

I would understand the answer to be "It depends". However here are the specifics to the question:

  • Presently there is a library built in COFF format and is delivered to the end user (A) for linking into his project. The library is 1st tested on a COFF based "Test Bed" of code. The library source code is all in "C" and has no asm() usage or anything else "peculiar". The library makes no BIOS calls, it is simply a computational black box. The tested COFF library is delivered to the end user (A) and it behaves normally.

  • The library can also be built in ELF format by changing the project configuration. The library builds the ELF without error. This version is intended for end user (B). The "Test Bed" currently cannot be built as ELF as it is DSP/BIOS 5 (5.42.1.09) based. The Compiler is v7.4.11.

The question then is can one assume, given the information above, that the generated ELF library will behave as its COFF counterpart?

Regards,

Carl

  • For the most part, the assembly code generated for ELF/EABI is equivalent to that generated for COFF. There are some differences, of course, and any difference introduces the potential for introducing or exposing a bug. However, the likelyhood of such a bug is pretty small. That said, there are some intentional differences between EABI and COFF, such as how global variables are initialized. However, going in the direction of COFF to EABI makes the behavior more closely adhere to the industry-expected behavior, so such a bug is unlikely. So, the risk is small, but non-zero. How small? Well, you answered that yourself: "it depends."
  • Thank you kindly for the quick response.... I think it is fine then to deliver the ELF library to End User (B) for integration while working on getting an ELF version (SYS/BIOS) version of the "Test Bed" going for local testing/verification.

    The Test Bed is a 6424 based development board which utilizes the analog audio input and dma. Migrating that platform from DSP/BIOS to SYS/BIOS may lend itself to another thread.