Around 1989, NeXT wanted to release the Objective C front end as just object files, and tell the user to link them with GCC. Since this would clearly be against the goal of the GPL, I asked our lawyer whether we had grounds to object. He said that what NeXT proposed to do would be tantamount to distributing a larger program which contains GCC, and therefore would violate the GPL. I conveyed this to NeXT, and they released the Objective C front end as free software.
An executable in which the GPL-covered code is linked as a shared library or dynamically linked is an even stronger case. The point is that the users are being told to run the non-free code in combination with the GPL-covered code. If, on the other hand, two programs don't need to be linked together and are distributed for use separately, and a user decides on his own initiative to link them together and run them, the GPL permits that because the combination is in no sense being distributed.