diff --git a/gcc/cobol/Make-lang.in b/gcc/cobol/Make-lang.in
index b6700630b575d4d8041aa898800d8c50818173f8..481120273a932dc55e1fd748012c473d2a1809f2 100644
--- a/gcc/cobol/Make-lang.in
+++ b/gcc/cobol/Make-lang.in
@@ -59,13 +59,9 @@ CPPFLAGS = \
  -I$(BINCLUDE) \
  -Wno-cpp \
  -Wno-missing-field-initializers \
- -DEXEC_LIB=\"$(DESTDIR)$(libexecdir)\"
+ -DEXEC_LIB=\"$(DESTDIR)$(libdir)\"
  $(END)
 
-### -DEXEC_LIB=\"PLACEHOLDER$(DESTDIR)$(libdir)\"
-### -DEXEC_LIB=\"hamberder\"
-###  -DEXEC_LIB=\"$(libdir)/../lib64\" \
-
 YACC = bison
 YFLAGS = -Werror -Wmidrule-values -Wno-yacc \
 	--debug --token-table  --verbose
diff --git a/gcc/cobol/UAT/atlocal b/gcc/cobol/UAT/atlocal
index e273f62d0df944f6339ad1fee8b3337893e8196c..8172908b7596451d4a9b524a4167db29ef90f697 100755
--- a/gcc/cobol/UAT/atlocal
+++ b/gcc/cobol/UAT/atlocal
@@ -34,6 +34,7 @@ then
     ## Use the specified build location to specify the gcobol executable and
     ## associated library files created by the gcc-cobol "make" process:
     GCOBOL="${GCOBOL_BUILD_DIR}/gcc/gcobol"
+    GCOBOL_ARCH=$($GCOBOL -v 2>&1 | grep "Target:" | sed 's/^.*[ ]\(.*\)$/\1/g')
     GCOBOL_FLAGS="-B ${GCOBOL_BUILD_DIR}/gcc"
     GCOBOL_LDFLAGS="-L $GCOBOL_BUILD_DIR/$GCOBOL_ARCH/libgcobol/.libs/ \
     -L $GCOBOL_BUILD_DIR/$GCOBOL_ARCH/libstdc++-v3/src/.libs           \
diff --git a/gcc/cobol/UAT/bugsuite.src/bugs.at b/gcc/cobol/UAT/bugsuite.src/bugs.at
index bb369bbb38bc44b84fe548d3eb57b4a9c06b88ed..14d05ad955e1f4eea3a7161d939416747728b541 100644
--- a/gcc/cobol/UAT/bugsuite.src/bugs.at
+++ b/gcc/cobol/UAT/bugsuite.src/bugs.at
@@ -106,3 +106,40 @@ AT_KEYWORDS([bugs])
 AT_CHECK([$COMPILE], [0], [], [])
 AT_CLEANUP
 
+AT_SETUP([-static compilation])
+AT_KEYWORDS([compilation])
+AT_DATA([prog.cob], [
+       IDENTIFICATION DIVISION.
+       PROGRAM-ID. prog.
+       PROCEDURE DIVISION.
+       DISPLAY "hello, world".
+       end program prog.
+])
+AT_CHECK([$COMPILE -static prog.cob], [0], [], [])
+AT_CHECK([./a.out], [0], [hello, world
+], [])
+AT_CLEANUP
+
+
+AT_SETUP([compilation cbl and .so])
+AT_KEYWORDS([compilation])
+AT_DATA([prog.cob], [
+       IDENTIFICATION DIVISION.
+       PROGRAM-ID. prog.
+       PROCEDURE DIVISION.
+       CALL "prog2".
+       end program prog.
+])
+AT_DATA([prog2.cob], [
+       IDENTIFICATION DIVISION.
+       PROGRAM-ID. prog2.
+       PROCEDURE DIVISION.
+       DISPLAY "hello, world".
+       end program prog2.
+])
+AT_CHECK([$COMPILE -shared -o prog2.so prog2.cob], [0], [], [])
+AT_CHECK([$COMPILE prog.cob ./prog2.so], [0], [], [])
+AT_CHECK([./a.out], [0], [hello, world
+], [])
+AT_CLEANUP
+
diff --git a/gcc/cobol/UAT/testsuite.src/run_misc.at b/gcc/cobol/UAT/testsuite.src/run_misc.at
index 63b0b9ae1a91c13b7795566717edac201edaa852..1d497b9fac16a8064bcb3d89b7d12fa02cb4fc1d 100644
--- a/gcc/cobol/UAT/testsuite.src/run_misc.at
+++ b/gcc/cobol/UAT/testsuite.src/run_misc.at
@@ -3730,3 +3730,41 @@ AT_CHECK([$COMPILE -c callee.cob], [0], [], [])
 AT_CHECK([$COMPILE -o caller caller.cob callee.o], [0], [], [])
 AT_CHECK([$COBCRUN_DIRECT ./caller], [0], [], [])
 AT_CLEANUP
+
+AT_SETUP([-static compilation])
+AT_KEYWORDS([compilation])
+AT_DATA([prog.cob], [
+       IDENTIFICATION DIVISION.
+       PROGRAM-ID. prog.
+       PROCEDURE DIVISION.
+       DISPLAY "hello, world".
+       end program prog.
+])
+AT_CHECK([$COMPILE -static prog.cob], [0], [], [])
+AT_CHECK([./a.out], [0], [hello, world
+], [])
+AT_CLEANUP
+
+
+AT_SETUP([compilation cbl and .so])
+AT_KEYWORDS([compilation])
+AT_DATA([prog.cob], [
+       IDENTIFICATION DIVISION.
+       PROGRAM-ID. prog.
+       PROCEDURE DIVISION.
+       CALL "prog2".
+       end program prog.
+])
+AT_DATA([prog2.cob], [
+       IDENTIFICATION DIVISION.
+       PROGRAM-ID. prog2.
+       PROCEDURE DIVISION.
+       DISPLAY "hello, world".
+       end program prog2.
+])
+AT_CHECK([$COMPILE -shared -o prog2.so prog2.cob], [0], [], [])
+AT_CHECK([$COMPILE prog.cob ./prog2.so], [0], [], [])
+AT_CHECK([./a.out], [0], [hello, world
+], [])
+AT_CLEANUP
+
diff --git a/gcc/cobol/scripts/build_for_make_install b/gcc/cobol/scripts/build_for_make_install
index e948f791c8d47b5f8283148d479846a4462f680d..7b406ba76f7dc030eebf2030574c35c5c389306d 100755
--- a/gcc/cobol/scripts/build_for_make_install
+++ b/gcc/cobol/scripts/build_for_make_install
@@ -14,12 +14,13 @@ rm -fr *
 ../configure					\
 	--enable-languages=c,c++,cobol		\
 	--prefix=/usr/local/gcobol				\
-	--libdir=/usr/local/gcobol/LIBDIR		\
-	--libexecdir=/usr/local/gcobol/LIBEXECDIR		\
 	--disable-bootstrap			\
 	--disable-multilib			\
 $END
 
+#	--libdir=/usr/local/gcobol/LIBDIR		\
+#	--libexecdir=/usr/local/gcobol/LIBEXECDIR		\
+
 make -j6
 
 
diff --git a/libgcobol/Makefile.in b/libgcobol/Makefile.in
index deb57abea605172e2b6a1b49b4d0c1bc9b0d43f2..22d7479b9427f6374ab3d1e37425ba2bfee5c1cb 100644
--- a/libgcobol/Makefile.in
+++ b/libgcobol/Makefile.in
@@ -40,9 +40,8 @@ multi_basedir = @multi_basedir@
 toolexecdir = @toolexecdir@
 # Toolexecdir is used only by toolexeclibdir
 
-
 #toolexeclibdir = @toolexeclibdir@
-toolexeclibdir = @libexecdir@
+toolexeclibdir = @libdir@
 
 includedirname = @includedirname@
 libsuffix = @libsuffix@