Usually the entry point of an image points is executable code. Armlink is probably wondering if your image's entry point should be marked as ARM or Thumb. You've already found --diag_suppress; have you tried suppressing L6204 or downgrading it to a warning with --diag_warning?Also if you're expecting .text.startup to be the first section in the .text execution region, you will need to add +FIRST.