www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1997/12/18/16:14:11

From: jeffdbREMOVETHIS AT netzone DOT com (Mikey)
Subject: SOLVED!! linking against MS .lib files in B18 (and possibly egcs/B19)
18 Dec 1997 16:14:11 -0800 :
Message-ID: <349971b2.3318041.cygnus.gnu-win32@smtp.netzone.com>
References: <199710300353 DOT WAA18385 AT subrogation DOT cygnus DOT com>
Reply-To: jeffdbREMOVETHIS AT netzone DOT com
Mime-Version: 1.0
To: gnu-win32 AT cygnus DOT com

----=_349975924311027075358a9.MFSBCHJLHS
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi All ;^)
	I have some good news.

  Attached are patches for producing a beta 18 compatible
(and possibly egcs/B19 compatible) ld.exe that will allow linking 
with MS .lib files, AND libcygwin.a type files.

I just posted copies of fixed ld.exe objdump.exe dlltool.exe
the specs file, and a couple of needed .o's to
ftp://ftp.deninc.com/incoming
as
B18-patched-link-compat-ld.tgz
for people who don't want to rebuild from source.

also posted SDK_4_ming_cygwin32.tar.gz
which has the header patches for using the
Platform SDK headers with ming & cygwin

The patch makes use of a couple of the routines
posted to the list by Marcus Hall.
marcus AT bighorn DOT dr DOT lucent DOT com
Thanks Marcus!!! ;^)

User visible changes include

strip.exe works on images with .reloc sections now.
ie 
strip --strip-unneeded cygwin.dll
gives a usable .dll
(still  can't strip files with .rsrc sections)

..reloc sections are now always terminated properly on 
win95, and NT w/out C2 security
(the tradeoff is that you will always have a .reloc section unless you strip it off ;^)

new options for ld.exe
 --subsystem wwindows
 --subsystem wconsole  
(entry @ _wWinMainCRTStartup _wmainCRTStartup respectively for UNICODE apps
currently only useful when linking against the real msvcrt.lib & using vc++ headers)

-lLIBNAME         option to ld.exe (small L)
searches first for LIBNAME.lib files, then libLIBNAME.a
(should make for easier use under command.com/cmd.exe)

new options for gcc.exe
-windows (gui apps pull in the patched Platform SDK headers if you have them
                   see SDK_4_ming_cygwin32.tar.gz)
-console   (console ditto ;^)
use -mwindows or -mconsole for correct .o's with the FSF headers/libs
-dll             (links in the appropriate stub, main_dll.o for windows dll's WinMain_dll.o for console dll's)
-wm (mingw32+Platform SDK) change the paths in specs as appropriate for your system

entry point WinMainCRTStartup added to crt0.c/o in binary dist
(gets rid of those pesky warnings ;^)

relocatable .dll's & .exe's work with the specs file included in binary dist
when linked against libcygwin.a (only tested with coolview)

so to produce a simple nonrelocatable gui dll from source with a DllMain entry point

dlltool --dllname dllmain.dll --output-exp dllmain.exp --output-lib dllmain.a --def dllmain.def
gcc -windows -dll -Wl,--image-base,0x1C000000 -o dllmain.dll dllmain.exp dllmain.c

for a relocatble .dll you must still do 2 passes

gcc -windows -dll -Wl,--base-file=dllmain.base -o dllmain.dll dllmain.c
dlltool --dllname dllmain.dll --base-file dllmain.base --output-exp dllmain.exp --output-lib dllmain.a --def dllmain.def
gcc -windows -dll -o dllmain.dll dllmain.exp dllmain.c


  Also a patch that should do the same thing for egcs/B19, produced
against the gas-971123 snap (MAYBE ;-)

From MS's PEI spec

>5.5.6. COMDAT Sections (Object Only)
>The Selection field of the Section Definition auxiliary format is 
>applicable if the section is a COMDAT section: a section that 
>can be defined by more than one object file. (The flag 
>IMAGE_SCN_LNK_COMDAT is set in the Section Flags field 
>of the section header.) The way that the linker resolves the multiple 
>definitions of COMDAT sections is determined by the Selection field.

>The first symbol having the section value of the COMDAT section 
>is the section symbol This symbol has the name of the section, 
>Value field equal to 0, the section number of the COMDAT section 
>in question, Type field equal to IMAGE_SYM_TYPE_NULL, Class 
>field equal to IMAGE_SYM_CLASS_STATIC, and one auxiliary 
>record. The second symbol is called "the COMDAT symbol" and 
>is used by the linker in conjunction with the Selection field.			<<<<<<<<< the main thing

I have added a routine to the bfd backend (in pei-i386.c) to offer the 
comdat symbol/associated section info  in a seperate
  routine pei_get_comdat_info() then fixed ld and objdump to use it.

Also added a struct to asection->pe_comdat_info to offer the info to applications,
this seemed to be the lesser of all evils, if it breaks other backends,
the #ifdefs and extern funcs wouldn't be hard to set up.

also minor changes to dlltool to allow inter operability with 
  vc++ generated import libraries/objects.
  exported symbols can start with ? (c++) as well as _ (c)
  this will allow generated .def files with v(c++) symbols to compile
  also corrects _imp__ symbol names.

The changes were made against the gas-971123 snap,
as well as the B18 source tree.

/ *  THIS SOFTWARE IS NOT COPYRIGHTED
 *
 *  This source code is offered for use in the public domain. You may
 *  use, modify or distribute it freely.
 *
 *  This code is distributed in the hope that it will be useful but
 *  WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY
 *  DISCLAMED. This includes but is not limited to warranties of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 */

TODO
objcopy/strip fixed for stripping exe's/dll's with .rsrc sections

objcopy/strip associated sections removed when COMDAT section stripped
(not critical as the new ld should ignore associated sections without a COMDAT)
dlltool still needs to be fixed to produce more MS compatible import libraries so link.exe
can be used with them

On Wed, 29 Oct 1997 22:53:23 -0500, you wrote:

>   From: jeffdbREMOVETHIS AT netzone DOT com (Mikey)
>   Date: Thu, 30 Oct 1997 01:11:06 GMT
>
>   There are quite a few binary incompatibilities like this left between cygwin32
>   and MS pei that need to be corrected, but it has been so long since the last

< snip>

>
>That particular problem was fixed some months ago.  It means that if
>you want to use the new linker and/or the new assembler, you must
>recompile and reassemble every .o and .a file.
>
>Ian
>

(jeffdbREMOVETHIS AT netzone DOT com)
delete REMOVETHIS from the above to reply
         Mikey

Windows vs Linux is a no-win situation.

Windows 95: --  32-bit extensions and a GUI   
shell for a 16-bit patch to an 8-bit OS       
originally coded for a 4-bit processor 
written by a 2-bit company that   
can't produce 1 bit of quality.

----=_349975924311027075358a9.MFSBCHJLHS
Content-Type: application/octet-stream; name=bfd_ld_comdat_sym_B18.dif.gz
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=bfd_ld_comdat_sym_B18.dif.gz

H4sICOnQljQCA2JmZF9sZF9jb21kYXRfc3ltX0IxOC5kaWYAxDxrV+NGsp/tX9FhJhMLy8byA4O5
kPHwmGV3gDlANtkAR0eW2lhBlnz04DEs97ffqupuvWyDJ5s9lzOxZamqurre1d1Ko9FgzY3R2Nmw
g/HYc/27pl0xtrf7G0Z7w+gxY3PQag86nYrRNKr1ev0V4C4z+oNWZ9DrVz9+ZI1OV99kdfjcYh8/
VlkUW7Frs1EQeNzyGRIwkYJpT7h9Z1qhGT1NR4EXVRljX4fnw5MLVqvBWGxdB+QwsWMGvwSO648D
vK+orWvazitDWI6jqK9IGunVJT0r4nbsBjAKUbzlsTl2wyg25X0zGAP79sS959V6Rn8pz2Lc/bPT
i0tmT6ywyL244wQhj0w7mGb0xIMU3/XjeTTkzbemfB5LfBdGAgpsFgY2jyKTT0fccbiDQ04t34lI
he3uVhvUV4fvrt5pkx4rFYZ/dQazb+wFSTxLYpDAOOIx0hZP2UuVgSzoj3sRZ+6Y1Uh6jhVbNddH
JJiI1tibgdAkEvvwgU0ae7ZnRRHb3WX75sXh/uXx2WkZIgyCuBk/zThCpQKeWNHETHyHj12fO5oa
n7Hn7BL+NtbZOR/zkPs2Z3HAwFJc5IpFyaihVO1ZI+7prIAIf3YSAl7sPbF0HLa+kbKXWQpc7BSQ
UQA/gEn49nRWA1ts7PmkKZ2tud01ndUi9xs3Y63NNK08Kv5FsxD0NS6hNonz9901rTgaybxE5nlu
Nq8y1ftPmeoBU+UhXwq/QUhsl73pVDX0HD2zAZaaQNIkNTQtsIECQI4hbV4PNO4uO/3ly5dF07oN
wCqIMAaNIvq95QHLtbztS4Ybe/dTS/CwyDfEk4Z4ApB5tl7IbVI/+YHhhGGK3AtsK+bWyOOa9Cww
5ZSzQeptAqtWWxeItuV5I8u+ixp7qZnK+KelDiykmoqSPsAUXP8WY4v0T3Up56in2AyYA0zzHkJr
CNMqgIkJgslQDOn1OnoXYkivv613RQyRk0YqcRL6DCIlh9gB1rEg6FbrK1oIIzNgpHQp3MUxGD+V
+CmaIqK6kY/LSArug9AJDAIE/Co4eVy4EcY+E3a1QygmyIEJ/e/g3CD0TIN7Toxi6LEDP7ZcH2TO
5EwomqA6EaSxN31SUywarJSbHAlYQIK7rIxEz8ZBCAabjOC5MI9Uu9EOxjz2g2SZCSAMg3skLZ8/
xhq5sIigyL51xwEihMg5sWL44CRByBo8YuMQ8hXeijAF5WekHA9Jz8+J/fvfqCkMQmIGY9fjIpiU
MLJHGlM6RiG6fiImC7/FfEElai5SPThbvJtNV8LAFwSLdK65hEE8E2OCIoARV8RAFjpyHKRoZArZ
9IQRsD05WjFtpoSyRCXhdxfBZ5FD2Js0w1KIpW/8kLYCsACELsaqjbTom3G34Xa2NueLvs7AaJeK
vkXAbWZsDTpbg1ZPFH0tKvpaeq9Pnv5OhB/wqqMj88vZ6WeV0s3T4cnhBfDC3rm+7SUOZ2vo53KA
NXKWc5g3YoOrgPuTaYGlQXZhIpoxUDXUCoHtQph0mFS0FADagaXu6SyJAGL0RETQunmIZB0e83CK
Y4DSlKGA6XJJxElmnotBOGoyn3MnIvzU42cwOidXdmM0dDCg4nQ2ID/y0Le85mQNn1br94HrMJAk
BTQxGxGW0pItiydUhS5HQZvUSgFJhCss7cYBBH8wj9YORlA/ilVQC0B4cH/ND3y+JgOVSPRYUcFD
Hn2Tt0dPMTgwF2mweMPkvkPc5eewLn7sqLuYKwvPNYrFkJ8CW2XRB5+H4OjAQDDOA8vJT/nUnj0p
MsIDzVEyBi/Eieisp6XDNfYsMAZT1BU1rJBlhBSTYqJYpHQi7+R4QDJciKaWTVVjwegPgQIRglSJ
uNEiTBQJYBOROuGF1gON5KPeElBKHoutZ8KW2eHB8u7IwnxIghAgY8z9zAuCO8wRaNEUXqW+pROI
APswgcjIajT4/zDFjowtaWCRCVFZpWSO5eucTEQP1gwBQBtFXdW+Xp5rNIS6/gDXWUWD8U9YH5Tr
WBw2fTOy/WSKEZEIuVCWPIKMDK1YplcYU5qUliAUYqZMlTinEq/A3Adiq2wtxSpwFHLrrlCA5Th/
nd8cmUJbkfiokZQ7K3lEucLXDs2KxFGvF7jIBoOhALJUiz6XS9OiYgABhLFALzVpf8K2gGilooth
0L91puaHXZbOWuqG4CFVKPKzM1ccL3AzAGw+orjgM4vFJdR83Z9eCz53i0IgIec9Q6LQPGe8EDF3
WRpuXspZzQ4c3pzMJ7XO9nxSWwDbGxjGoGNQTutuG7phsDp9b6UFLHMCO0EbtGKhekckCuZGWd6R
Ptpk7BIcF7pt8OcpQqjyqZr2FQlnY5d7DlASXi68G2AjdzqDltOC6UIkDMb0uCmbVjHOT1B9edZt
JMmFFoBgsIDmNoLaLJ5g/IAUOE6Ql18nnMaI1CiU8hh0xBikoDV2aMHAv+XVBtHDAQWLkOpa0DI7
hUAEqhuJfGrAcOncntiD63lsxBnQcjzuSGrI0QPC2AG00za203LOopYEbWBQawgXcX1s5aJ0VaD1
uLmlpd5R4uy10V8ZN9cMpMPXFw+fLkogD8KPCUIwgexBwm1k92UgYYa0ZXeclpQIYPpNs9w5t9c0
mmgaEIo8ACksxf0gFkUNFTr+k9Axzf6Y3fnBA1iKmAgA25b/U8xwhQQ6EFG9+6is3JKHtLcHN55k
RTwypqSxEu/dMu9qjWAOwe3++Lim1yhNU//ygf1v63E8btGfpq0ur97qY/beHLOqFomOQVyYgkOX
Sss4FuKFEpTUAObWIUdIIvVgHEBd80C/AsSoqpA37ysUEMC1yUShtBdlJfTSHEhLD58FlE6QWBYo
KIXjEFDA+tzrtJsOUACdS2SIP8I/W49GC9sIXO0LY6RZCBi5aCnvzLcAXQiYpWi5AFYs+24O2qID
MHrUAuCX0aFgWYXq/+DQPDoffj45PL2ssma1Tqt30BuogiQf1+EpeHcTa1iVZ0AvTapeVT6/2r6h
e7m6lmUVAz56YTmSeAPGLQ0KhOEmeHEzzbnrFKdpCVVqQc54R5Zl8MCN0JdENNYLmnLFsmm3Y6AI
up0tufbdzCov4WWmbdkTDgVaHD5B2U73dt6Ek4DmLA7xvx0hyTQtyxK7mCTlzBeshQShAyyvZ9fm
hFvOzqrAseUSyy9ZN7QjZr/V1/uYLTf1vkyWQk0pHARQiGLXVbksiZ0gFSLw7+jL8POF+jH/L98b
sQ9AR1dk2FKcpQ+uZTpCqrKSBqK3XjCSNf7V8cFvN3ruMQ36rxNBICtk/hy+IAHecXF5oHKK6DxA
femKGwrLPL4w989OTs5OdZY+J5K6WgL8dHSAIIXuGgbQhEr6W2iJ9f52Xwd3FTpJ/Mi9xfVr9DNX
9ImsWlo/EcsxyxZQ3HpdX7CKkrYc79wxepv56/Fpp51bG5FrKVSwQATGGX45Pv2HeXa6f6gh+SyS
L2t7ca+h/g4aHHcs9F9bD2Y8pFJME6tngjVq/EMzioPQusXFYKZKSsmMiwMW5ilaNa0COeCAj5Lb
Wwy32NzTEv8ogGha02i5MouhiO/67XwVuUkrI8bAKFecy2Db24NOR+hrm/bO8EvGULWOguqfkECE
9szNrpwsBAQNnaFSIWO4ODw9kE9SnMcMCawSETQUx6uhWC4m5ALxgji8PAyXo3CVLYrBz9XC9sxf
EIKNVp9EaLS2DBmEK0R7mNY5E9eeCLSIUcWIlbaMLoEPtaFU+SqB+zvjtliofDVqsyr7npj9HSFb
Gq3rJ7HrRRugC48/Nr1y8u8N2lt5w10O32bG9qBlDNrCeHsdDP/0iWK/ajW2b64e4XPYOLIa45t1
CPlPTx7Uy03ZN+wi7zHopPb0FEME0Vt6C/eOwJbThe6TT4fnOxQvG1fDxu9W49v7wXXj2ryRv4D+
hrjz8aYOI1Sq9QLczwsAf5aQMI5kyMX1G+TGSWaSGdrUVHwcH9Cvlzkhel4cQJtnz0uxu7lQivMI
6Uqq2D7vdTdJjl2VRtOATX42m9nmH7E1uroBjqu4uYcp8LGFaUV+brbxE+wf7d57+MZCw9BbtbCt
lbp60Wst+wNkxs5xL4pdnu2fH36BaGWa0JKaj4+PLO0NvgMZcVPkOba3Ps2x3Ua2DUObY1sgdzPk
roGf2y1CjuIHFrb1LuCWp5wiDzcJuUNjbuNn/4CQp7Edhzj2glkBsih1t/B0Q11+pwsDIoVSTtUZ
f5zBhWPCN2QOyKFwIVOneASfKnGyCu3kiTsBRTrcGpkED7hkir8jsRH4XG1Q3h+LRofVxtDcXMc/
RtexUA1c+Ws6G16cmJ+/nH0aftHlOGJHdAG2whsQYh64vnQoUuQbQy3AVnjzQ7FlQ+UGwV2EeawX
tatIiumD+UClU1cXog2pNNGh8VsUaRXzM4+PXI//k4cRhP1jiLwX7jf+68ctkFAKROwuh6xnkDSv
5ZBs+bMBDPgH9LjrKwwn4d4arNKU2awi2+R+5R27DNA4bVxTthysayDFYgpBcC/wb2H4e0HLtEzx
4B07nqLpsqFsTy9xUXoB/V618Qbzg2r9DbZxT7sZ3luV44M2bQ6pwb8EwV0yk2OTjrdaPXI+8U1F
EjvPrXtZYt2MszUS2Jou94+cbD+JGmuGDfQ48UXmRyq43h4xz73jg1xhIownC5QQmioYUa/iwL6/
ETNXZMSyNETaauMd7ZhD5DvbH7CW/EuDoQ4XB4dHp2wBfi6ulsYiGc6PVV91rHn83DzFWCrkonNB
HK2oOIq/KTQijFREtyUUQd+5KAjBbQxVuc9qQRLjxi30d2dfD0/NXy+1nRSq6OwkZfD1pQAiGiwI
Onj99fzw6Pi3UqxbSma1ULkAHceH4LWEimRCqe9PB843By5TUQOrYyEZOfH877+cfC1FzmVakK4N
VzJ24JBLo0fKwb5sOI2tnoHVi/zO2UQ2DkxmYWQpEHuLwTT2CJNZpKxXEtsi6OW5SbHiJADiQsuA
CABBz2jW271tmrX4zmYNRX90FbjOY71+IzK+SQfMckRdyvZigxIPWZh8OoufZJtPjVw2PYIVfAEG
QRM5VpOTXTzP19Bo1uUJF9BUa0StPsr86vhgeDns3TSpLSwCi9Z+l326OJK2XYZIl8vnGpJg9AdK
eL6W3hwYCzuSBQilWrrT7YuzqH3daIlm8CXVjVQ++dYa7RxOLZ15USYBuoU75mAfhU3O9LxTsXvL
7Y/9kNuHzu3vpYNe++JA1TA7xUAL8EraPzprOnt7mIaRqRnPkb0y0j5MJvEtbwdb1V2a8lL6WSuv
hPEiLDZHldyONOg5G3yaeDFYrrcx400+LWuwP2h3cxp8DWGTob57A6MjA0pfxJO+vp06Vrps8MzW
xIY5TMZAJz6Nv4qDrRe4+J3M1tiLngN+cH0neMCptxH6V9c/sVx///wyD17PwEvwD4sRMvq4HhJ4
yE0H4aevEi8BPyyAZu/A2lrV4grJiWuHQRSMY3WcxQl4RLtCIbeDWx8KKlrUaLJ08YoGDKI2jNWD
sYg2ndFrt1G67bZqY9RqybFcgElG0VMUi51LKQydPXBcW4M6y3HHdJ42ZrTgofIPra3gbiPAeFEA
bN26EW1oTLiAFCDMivAQbnpUUXYnxa3TkIOx+zimE4i1GlyuyXb7aJlPHQFVmHQgzbP8WzoBTkPW
tDlyCmspVTkflK/YRbunEnLEbQsFIPYag8Rz0kfyNmskCjkCt7YnGDUEOMiLRTNuu+MnOv7nFyQS
pGWswi8ZEUjlgrBdPOz5pCNhGyZFm1SW0pFQbodcp93FfRm5EIZBDUtkOlkEmUDtYOF0UwGPnkBv
D9ZThHtLEkJh55mlhFLSYaY8tD3AKWqB1e6v3JsmXYPLyo7Uc1IoIpSHEgm4oo4+7lAIV5stW7jZ
0tHbwngpLBAlPEvK6ZgIHc8QB5zW10MM5tbOm2B4GnJEWVcu/6iNyBqQ0NRBSrUl5mKFmzu7SBvI
uLYu1/tcsc71JgGQslk6x1mgKos7IDH6UyREpkiXvtVau5xintvvnC8uPb/GVZ6Bt1ig6IMWiWuW
Yueyu9GjUwp4l9ZnA59HlC2hu2B0WDoS5/nVVgNVhpvZUYwA/oXk11ME9KxI9IB0AhBMgEgfDy8l
Pu6i/u30Ek9tzHgoFoSVZGqLZZJmUmJHnvnaY3gGZ7FoFiFo7GdIeGxA2zdSTuw1Xcmf/3WmWsCT
IXY+WP4tEuGHXXpVpLvZ1dut/08/TLmf88IVfLCEzN4UkTJoMldXHv6ZWPYdWhadlm7CtEZkTHQF
w5Pl6WiPlH9UTiHdAtbYfaRN/hlWtnTkB9cTm6SM9Ixqk6Ch3Ts5FMAzjNDu1LqVTgFsNMMotDPz
j/GsgTzEitkLB5Lvrywysud8pVuTb4msJDa2RjPFKqN0MEO9w1MgN/oecsRgnp40CSOtfwtRRB43
y+4J2wVtXSSjUB4vhi4WA4OZnv/FKCJOdd8mQRJR/cPpDIUFxVZEV5ki0uo3skEPcVrORuUOxmgN
elvF+vcVFKiAe4N2X1XAXdpUV/3L2S+XX3+5NI/Ozk+Gl7X3z4XfL1qVvX/+cvzJvDgcnu//zTw4
Pr+grZPD08vzf9VKtQRIc/F9FBOkYQtKdLRrWaiSwbx/plWm4eXx6ec6LgHQNk5z56X0yDTHXkyn
lPApLcqDIJMZG3uBKFZmMZn3yQVrgrlf/xQB/XkqnpMSEXvmYp/7AqMMdXiGfNnQyN4wMc1RFJl0
/MU0EZXJJma91oQnmvohttalTeGeA77XyB+hppnNLPm61yzxvAhPiyGTwKOq/cAQfjk9ODyiHhGP
nlfkgTpdbjC6oiQXS4/jMYN6SmcjOvBjxUAI5o3TfwqS7JgV8AdauH7/2/5QK9/5vXzneA7m+Hct
LwDuO/npU+PbpKNAn0DA/6iZ6Qs1lufe+hR/TQ1CvQzreq9L23ndbipZGAoJXL/XJEWMzc1wBaII
+CzWMYAIYWjiJwj+MzjkLDvHD243o+Wh7K27aQLOB5GLP+KxfJc0Ewb3riOOwUEVKQ/0yZZIuFcz
2+JSgyLrDWS9QeLgq7CedZxAhQvWs+lvHBxf7A/PDza+SwIOHjC4fn+hle9czt05yt3B04v3vDAF
9/umQE0kOrXlo31mIs6dl6Q0cltUCsQ7VrngnFG/PijEzVynCUy6Qs5trXynIw224OKyqwWX+sZD
bGSnVngnO0VHHQRwxXIhhmAa62URIdwfYjXcQF7x6qXMYHeO5d7cnc25O31pDegK4IhvqYIqt9V8
hvr2Cv4tcxVxfjeR76II/TERDsZBULR/upvFDOmD9b/MB+uv+GC97IOpxKhUWU1kVAf9l0SGbFy/
b10Z7ZtS1KAHObEhF3/akAu13F9tyioew3h/JP7dm1JdUfosjVswQ5wLRA+HzyAU4bKlLgtZTIri
XajG/HzE+zGYwhc8NLNMtfOyzB5X1Fq9pLVs5VJU469OtchX7fTsy9nwQHtRGdFodfVtPFnU0dub
aUq8yqr7m0JSXMVa69+RPsqWXbLFQk6pz+WU+lxOqZdzinhtkMxilTCWsVP/87GpXoxNqmz/DhN+
TodfwTTrr5lmfQXTJAEVYBQ+cgA1XSRKaLHdrF4cdEVti7ZxeHaU9Q2eY4d8PL/hsTXo9Yvtwjxk
utOxLd+2plND4kus5DJm40tcY+z+duk6okIQKYn/Z0IcWrjpz1ntA92kt850AYBo5v+VcjVNTUNR
dA2/IrDQVqGjrYAdhoULFy7cUMdtJ20e0DFtNZ1M6Yj/3Xvux/tIkzogCxrIe7fJ+773nHPzqsKx
9ZU3JFjUp8nkM42QXrB/Lvbh9HFt+kOiB+yMHSzPMEmzEj/+L47acK3NWWrXdIPkpPPtvt3HsYSf
mo1ELY0g1H5Lj1NoqbXkKENuk5FHJMYXTDCkD8OUEDOq6Mx/whkCcMnRN41j9FWuHcrd8Ecg/3RQ
Zr0TLs80BaQ+5Sv5kqynZthZ1pjqKcCqQbmYnTZTN1gA1dNnj15gHYbxBTnMS0zYB2b1Hb5/ncQN
jwhPW8Mn/LiukheAgoYyxC+vxizHwufonS7AHKPoIBRLBCJ590x0HhHmypRaFwgREYfYSMOK+D0P
7bMoCi0Lpu6hJ9TLES+NOH/jkEALZPLkcDfhFlNbv96EPsw3m3rppT75ateoZSc3vl2sN85jFnkw
ksqoFxy831dSq9BLsZBQ224HrZDYeQAKUFYuL+BHuJWll5EokxHjSsGQlaW6mrspDvTXWRmY5ShS
+omRhaNHqsmXMdnefSVD1l4bKX/2W+JRPHQkgcJNltTqS6jqYJdHdVpFrcmMa9AIWwSoLYlFdIDS
2cK/oZCIW4zrxv2iZm4P+v1vOx9ptM9yKOw3ZRB0m6muEs8wGpDrbrMRui2GZQ1W6PNbpNnaG9fs
2hQA4RxnDtg6sDTrsjhuJNihuQqEdJtXyPIx8NTRqyGzpK8+DHWfPvoTAPbz4J4vJOEAJz5pTjuE
lliel926+bqiU0/wsp5Rnye5h+sapngDlpQ3nq8fRhQ2tcelqfllJ35TCldAWl3GoJKCRioNG12O
z4bGj1m5reekzOqdqtt6xkHhRFI41T2KIBUL1bpEuDFgjTEYKVkfyCiVWK80pu6VdgJ4FlUuog51
VGn4V3k2QOS9dLLSblUhm9hecAQQIeAZF+W2hsXjtwpdCsor6KUhnXE+mji5jFyHFDMe/5TaVGix
4imr5wd6J0zXjjKiAwh5AFAa29Fhm/2QU+a33+Js0lvH6K5vGYSSFdTWi7vKuVDDk1EOd26UqERe
TopTd1z7Qzb/4oD9bY0eId/i/kHDCxKI9+NgIwg4DYh8xll2aFz/LPM543rLYyEfKedTYxMsiJUk
CzTFm+g1wrwgxaqi00SYEtDgETCQ4DOw9fc0nUfDj171KD9PT9l8WdC3ueg/J9qgoCdM9bbf5qL1
N252W7TjreVfg66DErSHs/dSwlfytTc6QpN78YPDp5ArTxE6Z7qKrWPifBmpYOewsnzBQuKWjLRs
19WPrCfz0M1r7o1NVtWrvgXKXaabP8NbvpfJGrktu4h+wnyPrSigt9Sh96ranbk7iJ5Vok//8bJ2
nIG8Pl4ycKHXGZioy5LlcSaYd/i2tCSeHRmzgkweyax2eC0R9cIawECsNNAE825BTiivRoWMxWpx
/8BlJcWH2hIKCIu1aaPSLDQFMAm+ZMdaoiz7tAmjrtoJn2MfvFD9Bc3UbxDvUQAA

----=_349975924311027075358a9.MFSBCHJLHS
Content-Type: application/octet-stream; name=bfd_ld_comdat_sym_gas971123.dif.gz
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=bfd_ld_comdat_sym_gas971123.dif.gz

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

----=_349975924311027075358a9.MFSBCHJLHS--
-
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".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019