As it happens, there's a way to calculate the best resistor values for a resistor-shunted linear pot, to make it look as log-like as possible. The trick is, a log pot never actually goes all the way to zero (or, it's not *supposed to*), so you put some resistance "below" the pot, and adjust the shunt value to get a somewhat similar curve. It of course can't be perfect (mathematically speaking, the pot can only make, at best, a second order rational curve, a far cry from a transcendental log curve), but within 3dB for a 20dB range is reasonable.
Speaking of diodes, it would be quite reasonable to use a series of diodes, currents and voltages (added with op-amps) to make a simple, drifty, inaccurate, squaring function. Or an adjustable gamma correction, for that matter. The I(V) curve of a diode is exponential, so one can deliver a controlled current into a diode, measure the voltage, multiply the voltage by some gain factor (say with a pot and op-amp), then apply that voltage to another diode (carefully, of course), measuring the current into it. The result is Io = Iin^gain ... give or take differences in temperature and manufacture in the diodes. (Or usually transistors are used, which are a little easier to get the voltages and currents around.)
Tim