From: wgreathouse AT smva DOT com (William Greathouse) Subject: A quick fix for the DLL .reloc problem 2 Jul 1997 12:13:11 -0700 Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <33BA7E76.17182607.cygnus.gnu-win32@smva.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------08ADE2D956636681FE1ECCDB" >Received: from iago by mailserv.smva.com (AIX 3.2/UCB 5.64/4.03) id AA22239; Wed, 2 Jul 1997 12: 10:02 -0400 X-Mailer: Mozilla 4.0b5 [en] (Win95; I) Original-To: gnu-win32 , j-cerney1 AT ti DOT com X-Priority: 3 (Normal) Original-Sender: owner-gnu-win32 AT cygnus DOT com This is a multi-part message in MIME format. --------------08ADE2D956636681FE1ECCDB Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello All, Attached is my contribution to the DLL .reloc section problem. The invalid relocation table termination in the dll output has caused me many problems when using gnuwin32 generated dll's with other applications (particularly false 'Out of memory' errors). John Cerney's dllcheck.exe has been wonderful for detecting this problem, but I have had to rebuild as many as 40 (!) times to get a 'clean' dll. Upon looking at the generated file, I noticed that nothing changes between builds except the table termination. So, I built a quick program to detect and _fix_ the .reloc table termination problem. NOTE: This works for me, your mileage may vary. The application was built using cygnus b18 and mingw 0.1.4. As such, it has no cygwin version requirement/need. I have successfully used the "fixed" dll's with Microsloth Access and Excel. Enjoy, Bill PS. I have thoughts of extending this to properly zero fill the "empty" areas in applications/dll's to get around the "garbage in my output" problems. Anyone interested? -- William Greathouse | wgreathouse AT smva DOT com Email SMV America, Engineering | wgg AT netcom DOT com Email 8380 Darrow Road | (216) 425-1340 x4006 Voice Twinsburg, OH 44087 | (216) 405-7684 FAX --------------08ADE2D956636681FE1ECCDB Content-Type: application/octet-stream; name="dllfix.exe" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="dllfix.exe" TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4g RE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAEEAGV6ujMAAAAAAAAAAOAADwELAQI3AAgAAAAG AAAACAAAQBAAAAAQAAAAIAAAAABAAAAQAAAAAgAABAAAAAEAAAAEAAAAAAAAAABQAAAABAAA AAAAAAMAAAAAAAACABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAABAAABUAgAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50 ZXh0AAAAIAcAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAACAAAGAuYnNzAAAAAIwGAAAAIAAA AAAAAAAAAAAAAAAAAAAAAAAAAACAAADALmRhdGEAAAAoAAAAADAAAAACAAAADAAAAAAAAAAA AAAAAAAAQAAAwC5pZGF0YQAAVAIAAABAAAAABAAAAA4AAAAAAAAAAAAAAAAAAEAAAMAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFWJ 5f81GDBAAGgUMEAAaBAwQABoDDBAAOhTBgAAycOQVYnlofRAQACjADBAAI1QIIkVBDBAAIPA QKMIMEAAycNVieVT6DcGAADo0v///+it/////zUUMEAA/zUQMEAA/zUMMEAA6OYCAACJw+gX BgAAU+iRBgAAi138ycNVieXovP///8nDifZJbnZhbGlkIHJlbG9jIHNlY3Rpb24gdGVybWlu YXRpb24KAEVycm9yIHVwZGF0aW5nIHRhYmxlCgBGaXhlZCEKAI12AFWJ5YPsHFOLRQyLUAiJ VeSLRQhQ6KsFAACDxASJwIlF/GoAi0UMi1AUUotFCFDomQUAAIPEDIN95AB/BumhAAAAkGoK 6IsFAACDxASJRfCLRQhQagpqAYtF8FDofAUAAIPEEIlF9ItV8ItCBIPA+InCwfofidHB6R8B yInDwfsBiV3si0XsSI0URQAAAACNWgqJXeiLRehQi0XwUOhDBQAAg8QIiUXwi0UIUItF7EiN FEUAAAAAUmoBi0Xwg8AKUOgXBQAAg8QQiUX0i0XwUOgYBQAAg8QEi0XoKUXk6VT///+LRQhQ 6NkEAACDxASJwIlF+GoK6NoEAACDxASJRfCLRQhQagpqAYtF8FDoywQAAIPEEIlF9ItF8IN4 BAB1DotF8IM4AHUG6YgAAACQaIgQQAChBDBAAFDotgQAAIPECGoAi0X4UItFCFDofAQAAIPE DGoKagCLRfBQ6JwEAACDxAyLRQhQagpqAYtF8FDokAQAAIPEEIlF9ItFCFDoiQQAAIPEBIN9 9Ap0FmirEEAAoQgwQABQ6FgEAACDxAjrFJBowRBAAKEIMEAAUOhCBAAAg8QIagCLRfxQi0UI UOgIBAAAg8QMi13gycNVc2U6ICVzIGZpbGUgLi4uCgByYisASEVMUABVbmFibGUgdG8gb3Bl biAlcwoARmlsZSBIZWFkZXIgcmVhZCBmYWlsZWQgZm9yICVzCgBPcHRpb25hbCBIZWFkZXIg cmVhZCBmYWlsZWQgZm9yICVzCgBEYXRhIERpcmVjdG9yeSByZWFkIGZhaWxlZCBmb3IgJXMK AFNlY3Rpb24gSW5mbyBmYWlsZWQgZm9yICVzCgAucmVsb2MAVYnlg+wQ6PUCAACDfQgBfyOL RQyLEFJomBJAAKEIMEAAUOhJAwAAg8QMuAEAAADpVAIAAJDHRfgBAAAAi0X4OUUIfwbpPwIA AJBoqhJAAItF+I0UhQAAAACLRQyLFBBS6CsDAACDxAiJwIlF/IN9/AB1N2iuEkAA6BsDAACD xASLRfiNFIUAAAAAi0UMixQQUmizEkAAoQgwQABQ6M8CAACDxAzp1wEAAJBqAGiAAAAAi0X8 UOiOAgAAg8QMi0X8UGoYagFoZCZAAOiJAgAAg8QQiUXwg33wF3cpi0X4jRSFAAAAAItFDIsU EFJoxhJAAKEIMEAAUOh0AgAAg8QM6XwBAABmgz14JkAAAA+OYgEAAItF/FBqYGoBaAQhQADo NAIAAIPEEIlF8IN98F93KotF+I0UhQAAAACLRQyLFBBSaOYSQAChCDBAAFDoHwIAAIPEDOkn AQAAkIM9YCFAAAB+S4tF/FBqCKFgIUAAUGgEIEAA6N8BAACDxBCJRfCDffAHdymLRfiNFIUA AAAAi0UMixQQUmgKE0AAoQgwQABQ6MoBAACDxAzp0gAAAGaDPWomQAAAD464AAAAi0X8UGoo D78FaiZAAFBoZCFAAOiEAQAAg8QQiUXwg33wJ3cmi0X4jRSFAAAAAItFDIsUEFJoLRNAAKEI MEAAUOhvAQAAg8QM63qQx0X0AAAAAA+/BWomQAA5RfR8AutYaghoSRNAAItV9InQweACAdCN FMUAAAAAidAFZCFAAFDoXwEAAIPEDInAhcB1JYtV9InQweACAdCNFMUAAAAAidAFZCFAAFCL RfxQ6BD7//+DxAj/RfTrmotF/FDoKwEAAIPEBP9F+Om0/f//ycOJ9lWJ5esOkIPABKMcMEAA i0D8/9ChHDBAAIM4AHXpycOQVYnlU4sVEBdAAIP6/3UaMdKDPRQXQAAAdA+4FBdAAJCDwARC gzgAdfeJ0IXAdBaNHIUQF0AAiwP/0IPD/IH7EBdAAHXxaNwVQADotQAAAItd/MnDVYnlgz0A IEAAAHUPxwUAIEAAAQAAAOiR////ycONdgD/JaxAQACQkP8l9EBAAJCQ/yXwQEAAkJD/JbRA QACQkP8l1EBAAJCQ/yXQQEAAkJD/JdxAQACQkP8lyEBAAJCQ/yXoQEAAkJD/JcxAQACQkP8l xEBAAJCQ/yXgQEAAkJD/JdhAQACQkP8lvEBAAJCQ/yXAQEAAkJD/JeRAQACQkP8l7EBAAJCQ /yW4QEAAkJD/JbBAQACQkP8lAEFAAJCQ/////wAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA/////xwXQAAkMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAABMQAAAAAAAAAAAAAA0QgAArEAAAKBAAAAAAAAAAAAAAERC AAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEEAABhBAAAkQQAA MEEAADxBAABIQQAAUEEAAFxBAABkQQAAbEEAAHRBAAB8QQAAiEEAAJRBAACgQQAArEEAALhB AADEQQAA0EEAAAAAAAAAAAAA2EEAAAAAAAAAAAAACEEAABhBAAAkQQAAMEEAADxBAABIQQAA UEEAAFxBAABkQQAAbEEAAHRBAAB8QQAAiEEAAJRBAACgQQAArEEAALhBAADEQQAA0EEAAAAA AAAAAAAA2EEAAAAAAAABAF9fR2V0TWFpbkFyZ3MAlQBhdGV4aXQAAAAAEABfY2V4aXQAAAAA pgBmY2xvc2UAAAAAqQBmZmx1c2gAAAAAsABmb3BlbgCxAGZwcmludGYAAAC1AGZyZWFkALYA ZnJlZQAAugBmc2VlawC8AGZ0ZWxsAL4AZndyaXRlAAAAAOcAbWFsbG9jAAAAAO8AbWVtc2V0 AAAAAPIAcGVycm9yAAAAAPsAcmVhbGxvYwAAABQBc3RybmNtcAAAADcAX2ZwcmVzZXQAAEUA X2lvYgAAYwBFeGl0UHJvY2VzcwAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAA AEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAABjcnRkbGwuZGxs AJAUQAAAa2VybmVsMzIuZGxsAI12ANILAADRCwAAoAsAAJ4LAACVCwAAXAsAAFsLAAAZCwAA 1QoAAJwKAACBCgAAfgoAAEQKAAANCgAACgoAAAgKAAAHCgAA1AkAANIJAADCCQAAtgkAAKAJ AACICQAAkgkAAJEJAACQCQAAeQkAAFIJAABRCQAAIwkAAO8IAACtCAAArAgAAIwIAACLCAAA awgAAGkIAABoCAAARwgAAEUIAAA1CAAAKAgAAB0IAAAcCAAADQgAAAoIAADYBwAAygcAAMcH AADGBwAArAcAAKkHAACIBwAAcgcAAG4HAAA6BwAALQcAACkHAAAIBwAA0QYAALQGAACwBgAA bwYAAGIGAABeBgAAQgYAAEEGAAAfBgAAGwYAAOUFAADIBQAAwwUAAH0FAABvBQAAagUAAEwF AABLBQAASgUAAC0FAAAoBQAA3AQAAL4EAAC4BAAAcgQAAGMEAABdBAAANAQAAC4EAAD+AwAA rgMAAGEDAABbAwAAVgMAAFEDAAArAwAAJgMAANMCAACyAgAArAIAAG0CAABeAgAAWAIAACYC AAAgAgAA+wEAAAkJCQkJCQkJ --------------08ADE2D956636681FE1ECCDB-- - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".