I am not sure which compiler and linker are you using. I assume it is gcc.
The order of different, unrelated, options will probably make no change to the object or any other output. but if there is any dependency between the options, the order might change the context.
from man ld
: Some of the command-line options to ld may be specified at any point in the command line. However, options which refer to files, such as -l or -T, cause the file to be read at the point at which the option appears in the command line, relative to the object files and other file options. Repeating non-file options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. Options which may be meaningfully specified more than once are noted in the descriptions below.