As said, those are generally two different things.
GLM framework = link function + other distribution than normal
GLS framework = generalizes the iid normal in LM to a multivariate normal, which allows specifying correlations between the residuals + change of dispersion (in R, this is easiest done with nlme, which provides several corClasses to specify correlation structures, and the varFun function to specify a formula for the dispersion)
However, it is possible to mix both ideas, i.e. specify a GLM(M) with a GLS-type correlation term (as a random effect) on the linear predictor, e.g. to account for spatial autocorrelation in GLMs, as, e.g., done in glmmPQL.