Re: test10-pre7

Keith Owens
2000-10-30T22:42:20Z

On Mon, 30 Oct 2000 14:24:13 -0800 (PST),
Linus Torvalds <torvalds@transmeta.com> wrote:
>This is the right fix. We MUST NOT sort those things.

Correction. We can sort them if we know what the correct link order
should be. In far too many Makefiles, we have no idea if the existing
order is required or is just historical so we fail safe and do not sort
them. For USB we know what the link order must be, usb.o must be
first, the rest do not matter. This patch only affects usb because it
is the only one that uses LINK_FIRST.

>The only reason for sorting is apparently to remove the "multi-objs"
>things, and replace them with the object files they are composed of.
>
>To which I say "Why?"
>
>It makes more sense to just leave the multi's there.

obj-y is used together with export-objs to split objects into O_OBJS
(no export symbol) and OX_OBJS (export symbol). If usbcore.o (multi)
is not replaced by its components then usb.o (in export-objs) is not
added to OX_OBJS so usb.c gets compiled with the wrong flags which
causes incorrect module symbols. Multi's in obj-y have to replaced by
their components before being split into O_OBS and OX_OBJS.