When compiling -- you can generate code for any, none, 0.0 and 0.2
However when you link, there are only 21469_rev_any and 21469_rev_none library directory.
How do the code option match with linker options
The matching between silicon revision any libraries is done in the compiler XML files in the directory <<INSTALL>>/System/ArchDef. There are files called <<PROC>>-compiler.xml which contain the following structure (I've trimmed the 21469 XML file down a bit to make it more legible).
<silicon revision="none" lib-path="214xx/lib"/>
<silicon revision="0.0" lib-path="214xx/lib/21469_rev_any">
<workaround ix="1" assembler-detect-default="Y" />
<silicon revision="0.2" lib-path="214xx/lib/21469_rev_any">
<silicon revision="any" lib-path="214xx/lib/21469_rev_any">
There is a "silicon" entry for each supported silicon revision, and one of the fields is "lib-path", which tells the tools which libraries should be used for that revision. There are also one or more "workaround" fields, which specify whether a silicon anomaly workaround should be enabled for that revision. The anomalies are defined in the *-ANOMALY.xml files in the same directory and can be viewed in a web browser.
I'm sure your next questions are: Why are there only two sets of libraries for 2146x? And why is one of them called "any"?
The reason for this is that, at a minimum, we provide two sets of libraries - one to support "-si-revision none" (which contains no anomaly workarounds) and one to support "-si-revision any". If it is appropriate, then we will add more library directories. For example, if an anomaly that has a significant performance impact affects silicon revision 0.0, but is fixed in rev 0.2, then we would consider creating a separate set of libraries for silicon revision 0.2 which would be built with the anomaly workaround disabled. These libraries would be placed in the directory 21469_rev_0.2, and the XML file, would be modified. At the moment, for 214xx, there are no changes between different silicon revisions that we believe justify the creation of a separate set of libraries, but this framework allows us to add new libraries, if required.
I am asking these questions as I am building a plugin for SHARC and Blackfin processors which gets around the number of bugs in CCES and Eclipse -- for example not handling dependencies properly when a file has a library dependency and the library is updated
Thanks for this answer, which also answered my next question about "none" and "any" differences
Retrieving data ...