Sun ld comdat group support

While this may be a little OT, given that it discusses gcc/binutils, the underlying topic is the solaris linker in /usr/ccs/bin/ld, and this seemed like the most likely forum for linker expertise.
The following discussion concludes that the sun linker does not support COMDAT groups adequetly to build gcc 4 with the gnu assembler and the sun linker (as is recommmended by the gcc folks, and as is done by sun for /usr/sfw/bin/gcc in solaris 10)
http://gcc.gnu.org/ml/gcc/2005-04/msg01332.html
But the documentation for the linker seems to suggest otherwise:
http://docs.sun.com/app/docs/doc/817-1983/6mhm6r4fj?a=view#chapter7-11598
In the most recent binutils ld testsuite, there is a test for comdat support:
-------- group1a.s ---------
.section .text,"axG",%progbits,foo_group,comdat
.weak foo
foo:
.word 0
-------- group1b.s ---------
.section .text,"axG",%progbits,foo_group,comdat
.global foo
.global bar
foo:
.word 0
bar:
Run these through the gnu assembler:
/usr/local/binutils-2.16.1/bin/as --gdwarf2 group1a.s -o group1a.o
/usr/local/binutils-2.16.1/bin/as --gdwarf2 group1b.s -o group1b.o
And then link them, once with the sun linker, and once with the gnu linker:
/usr/local/binutils-2.16.1/bin/ld group1a.o group1b.o -o linked.gnu
/usr/ccs/bin/ld group1a.o group1b.o -o linked.sun
Now, if we look at foo and bar in the generated images
elfdump -s -N .symtab linked.gnu | egrep "foo|bar"
[8] 0x08048074 0x00000000 NOTY WEAK D 0 .text foo
[11] 0x00000000 0x00000000 NOTY GLOB D 0 UNDEF bar
elfdump -s -N .symtab linked.sun | egrep "foo|bar"
[15] 0x080501ef 0x00000000 NOTY GLOB D 0 .text bar
[21] 0x080501ed 0x00000000 NOTY GLOB D 0 .text foo
we can see that the gnu linker generated foo as a weak symbol, and left bar undefined, while the sun linker emitted foo as a global, and defined bar.
ok. so now try without the comdat flags:
----- nogroup1a.s -----
.section .text,"ax",%progbits
.weak foo
foo:
.word 0
----- nogroup1b.s -----
.section .text,"ax",%progbits
.global foo
.global bar
foo:
.word 0
bar:
and assemble and link as above. Now, if we look at the output from elfdump:
elfdump -s -N .symtab nogroup.linked.sun | egrep "foo|bar"
[15] 0x080501f2 0x00000000 NOTY GLOB D 0 .text bar
[21] 0x080501f0 0x00000000 NOTY GLOB D 0 .text foo
elfdump -s -N .symtab nogroup.linked.gnu | egrep "foo|bar"
[8] 0x08048078 0x00000000 NOTY GLOB D 0 .text foo
[11] 0x0804807a 0x00000000 NOTY GLOB D 0 .text bar
Now, we get identical results for foo and bar with the two linkers. Even more interesting is that for the sun linker, the results did not change when we removed the comdat flags. It is as if the sun linker happily absorbs and then ignores the fact that the sections are marked as COMDAT. So what is going on here? Does the sun linker really support COMDAT? Have I misinterpreted something? Which linker is right, according to the ELF spec?
Sorry for the long post, any insight would be appreciated.

Ok. That is a reasonable, if not very helpful answer.
In the meantime, here is a simpler example that shows the problem a little more clearly:
cat foobar.s.section .text,"axG",%progbits,foo_group,comdat
.global foo
foo:
.word 0
.section .text,"ax",%progbits
.global bar
bar:
.word 0
.section .text,"ax",%progbits
.global baz
baz:
.word 0
Now, assemble this twice into two different object files:
/usr/local/binutils-2.16.1/bin/as gdwarf2 foobar.s -o foobar2.o /usr/local//binutils-2.16.1/bin/as gdwarf2 foobar.s -o foobar1.o
If we link these two object files together, we should get two errors about undefined symbols: one for bar, and one for baz. foo should be ok because its COMDAT.
So:
/usr/local/binutils-2.16.1/bin/ld -shared foobar1.o foobar2.o foobar2.o: In function `bar':
: multiple definition of `bar'
foobar1.o:: first defined here
foobar2.o: In function `baz':
: multiple definition of `baz'
foobar1.o:: first defined here
Which is what we expect. But /usr/ccs/bin/ld gives:
/usr/ccs/bin/ld -G foobar1.o foobar2.o
ld: fatal: symbol `foo' is multiply-defined:
(file foobar1.o type=NOTY; file foobar2.o type=NOTY);
ld: fatal: symbol `bar' is multiply-defined:
(file foobar1.o type=NOTY; file foobar2.o type=NOTY);
ld: fatal: symbol `baz' is multiply-defined:
(file foobar1.o type=NOTY; file foobar2.o type=NOTY);
ld: fatal: File processing errors. No output written to a.out
which seems incorrect to me.

Similar Messages

  • HT1923 the older version of apple sofware update cannot be removed. contact your technical group support

    he older version of apple sofware update cannot be removed. contact your technical group support?

    Download the Windows Installer CleanUp utility from the following page (use one of the links under the thingy on the Major Geeks page):
    http://majorgeeks.com/download.php?det=4459
    To install the utility, doubleclick the msicuu2.exe file you downloaded.
    Now run the utility ("Start > All Programs > Windows Install Clean Up"). In the list of programs that appears in CleanUp, select any Apple Software Update entries and click "Remove", as per the following screenshot:
    Quit out of CleanUp, restart the PC and try another iTunes install. Does it go through properly this time?

  • Will sun cluster 3.2 support apache version 2.2.10 ?

    Hi,
    will sun cluster 3.2 support apache version 2.2.10 ?
    Thanks
    Ushas Symon

    Hi,
    the question is, what the original poster meant with "is supported". If this was about getting support from Sun if something does not work, then this is really not supported.
    If the question is whether 2.2.10 would work with the currently shipping agent, then this is a different story. It could work; I would just give it a try.
    Regards
    Hartmut

  • Is sun c++5.8 support ILOG 5.1

    Hi,
    I was porting from sun c++5.5 to sun c++5.8.it has ported successfully .
    when i am try to run the application the GUI is crashing.We are using the third pary tool ILOG for GUI.
    IS sun c++5.8 supporting ILOG 5.1?
    Regards
    Biswal

    What compiler this ILOG tool was compiled by? Do you have its source code or binaries only?

  • Is there a SUN Solaris ldapsearch utility supporting paged results?

    Hellos..
    We have Sun DS 5.2p4 on our servers.
    I am using the ldapsearch executable which came with this install to read Users off an Active Directory.
    BUT! Now the AD user base has grown beyond 1000 and I am getting Sizelimit exceeded errors.
    I dont see any switches to allow me to set the client to read successive pages to get ALL results from AD.
    Can anyone point me towards a Solaris 9 executable ldapsearch which supports paging!
    I would be most grateful.
    Thankyou.
    GF

    Ok babe...
    There are 2 pieces that sort of fit together... the LDAP server and the LDAP client
    I am painfully aware that the SUN Directory SERVER doesnt support paging.. and that the LDAP CLIENT provided by SUN named ldapsearch doesnt seem to have any switches or flags that allows it to get data as a series of 'pages' from LDAP SERVERS that actually DO support paging.
    One of the LDAP SERVERS that DO support paged results is Active Directory.
    My question is ... has anyone a Solaris LDAP CLIENT (I dont care what its called but ldapsearch is a good name) which allows paged results to be received from an Active Directory?
    Has anyone experience of the openLDAP client does this beast support paging?
    GF

  • Does Sun IDM 6 SP1 support exchange 2007?

    does Sun IDM 6 SP1 support exchange 2007?

    You must be using at least Sun IDM 7.1.1 for Exchange 2007.
    Hope this helps.

  • AIA comms O2C PIP 11.2:  Is creation of subscription group  supported ?

    HI AIA gurus
    I am confused from documentation and source code of AIA comms O2C PIP 11.2. From documentation, it seems like Creation of Service group along with creation of services during order fulfillment. But, in the transformations for making input flistfor opcodes PCM_OP_CUST_MODIFY_CUSTOMER or PCM_OP_PURCHASE_SUBSCRIPTION_DEAL in composite      ProcessFulfillmentOrderBillingBRMCommsAddSubProces do not have Field SUBSCRIPTION_OBJ field which indicates the Subscription parent of all services.
    So, it is not clear if subscription group is supported in AIA comms O2C PIP 11.2. From research i found that AIA 2.0.1 did not support subscription groups. So, i am not sure if 11.2 or 11.3 PIPS support this feature.
    Please help me to know if subscription group is supported or not. If supported, please help with Product configurations we need to do in Siebel to test subscription group creation.
    Regards
    Arun

    Hi,
    No, te AIAConfigurationProperties originally did not contain any section (nor Module Config or Service Config) describing AIA Session Pool Manager. how is it that the 11.2 documentation does not mention this composite as part of the "Verify Deployment" sections for both Comms AABC and O2C PIPs?
    As a workaround we've currently took the composite project from $AIA_HOME/utilities/SessionPoolManager/V1/AIASessionPoolManager......, deployed it and also changed the AIAConfigurationProperties files by adding the Module config section for SessionPoolManager. That seemed to work after running the ant script for the update of the xml file and restarted the managed server.
    Still curious as to why it was not deployed as part of the install.

  • Non-system wide DNS Lookups on RBL  (i.e. logical groups supported)

    Sun Java System Messaging Server documetation seems to state that RBL filtering can only exist in one of three files that are used for filtering based off of inbound connection IP address. My question is, can conditional execution occur for a section of one of these files based of destination e-mail address?
    I'd like to have multipule levels of e-mail filtering using RBL and allow users to be assinged to the level of filtering they desire by joining a logical group which will enable a level of RBL filtering for that logical group.
    Any help is greatly appreciated, as far as I can see, I can only have one system wide filtering set, so I can't possibly have one set of e-mail ids using 10 RBL (remote black lists) and another group e-mail ids using a smaller set of RBLs.
    ======= From the documentation =======
    MAIL_ACCESS : Used to block incoming connections based on combined information found in SEND_ACCESS and PORT_ACCESS tables: that is, the channel and address information found in SEND_ACCESS combined with the IP address and port number information found in PORT_ACCESS.
    ORIG_MAIL_ACCESS : Used to block incoming connections based on combined information found in ORIG_SEND_ACCESS and PORT_ACCESS tables: that is, the channel and address information found in ORIG_SEND_ACCESS combined with the IP address and port number information found in PORT_ACCESS.
    PORT_ACCESS : Used to block incoming connections based on IP number.
    ====================================

    Alas, the RBL stuff is done before iMS even knows who the message is addressd to. That stuff is done at the initial connection phase, as our philosophy is to reject a message just as soon as possible . . .
    After the message is accepted, then you can opt-in/out for things like spamassassin, brightmail, etc.

  • Is Sun One 6.5 supported in Studio 5 ?

    Hello,
    I am going to developer a J2EE Application using Studio 5 and would like to know if I can deply on Sun One 6.5 server directly from the Studio.If this support is not available, is it possible to develop using Studio 5 and then deply on Servr 6.5 using command line ?
    Thank you in advance.
    Madani

    Sorry Madani,
    I was wrong there, actually Sun ONE Studio 3.0 supports Sun ONE app serv 6.5. Sun ONE app serv 6.5 is based on j2ee 1.2. Since Sun ONE Studio 4.0 the IDe supports j2ee 1.3 which includes ejb 2.0 spec.
    Hope it helps.
    Kishore

  • Rename Sun Cluster Resource Group

    Hi All,
    We have a 2 node Sun Cluster 3.0 running on 2 x V440 servers. We want to change the resource group.
    Can I use "scrgadm -c -g RG_NAME -h nodelist -y property" command to change the resource group name. Can I do this online while the clusters are running or do I need to bring the cluster to mainenance mode? Any help would be appreciated.
    Thanks.

    You cannot rename a resource group in that way in Sun Cluster.
    You have two options:
    -Recreate the resource group with the new name
    -Use an unsupported procedure to change the name in the CCR. This requires downtime of both nodes and as it is unsupported I am not going to describe it here. If that is what you want to do, please log a call with Sun.
    If you think renaming resource groups is a useful feature may I also ask you to contact your Sun Service representative so that they can take proper action to log an RFE for the feature.

  • Substitution groups support?

    Does xmlbeans support substitution groups in xml schema? I read xml beans documentation
    saying it has 100% xml schema support. But I got the following error when I use
    xmlbeans to generate java classes:
    [xmlbean] ObjectLinking.xsd:27: warning: Element substitution groups not supported
    in this release
    I appreciate if anyone can help me on this.

    Does xmlbeans support substitution groups in xml schema? I read xml beans documentation
    saying it has 100% xml schema support. But I got the following error when I use
    xmlbeans to generate java classes:
    [xmlbean] ObjectLinking.xsd:27: warning: Element substitution groups not supported
    in this release
    I appreciate if anyone can help me on this.

  • Sun Update Connection Linux Support

    Hello,
    Can anyone tell me if the Sun Connection Satellite server has support for Redhat 5 ? And SuSE 10.2 ?
    We were wondering about this because we are testing some update products for our Linux/Solaris datacenter.
    Thanks for the info..

    I would assume that you are talking about the Enterprise release of Red Hat and not the original version 5.
    This information is avaliable at: http://www.sun.com/service/sunconnection/knowledge.jsp
    In both cases there is a channel available for these Operating Systems, and the server can also reside on either of these systems:
    http://www.sun.com/service/sunconnection/specs.jsp

  • SCOM 2012 Single Management Group Supporting ?

    Dear all,
    Can any one tell me , for single SCOM management group howmany management server and Gateway server can support?
    Thanks,
    Sengo

    Hi,
    Take a look in the System Center 2012 Operations Manager sizing tool which you can find
    here.
    Agents
    3 000
    agents reporting to a management server
    2 000
    agents reporting to a gateway server
    15 000
    agents (Windows, UNIX or Linux) in a single management group
    Regards,
    Daniel
    IT Consultant at Viridis IT

  • Sun cluster resource group online but faulted

    Hi,
    recently our storage admin has deleted a volume d9 from the oradg disk set by mistake. for that we created a new disk d29 and restore data to it but we forgot to remove disk d9 from the disk set. after  a reboot the orarg resource group failed to go online with a faulted status because of ora-stor resource is faulted

    You cannot rename a resource group in that way in Sun Cluster.
    You have two options:
    -Recreate the resource group with the new name
    -Use an unsupported procedure to change the name in the CCR. This requires downtime of both nodes and as it is unsupported I am not going to describe it here. If that is what you want to do, please log a call with Sun.
    If you think renaming resource groups is a useful feature may I also ask you to contact your Sun Service representative so that they can take proper action to log an RFE for the feature.

  • Sun DS User/Group Operations

    Hi,
    I'm using Sun DS v5.2.
    I have three attributes: designation, role.
    I am using a tool using which when i create a create/modify user entry with designation filled, a unique member is added to a group 'Members'.
    Now, there are circumstances where
    Scenario1:
    * Creating/ Modifying user entry is not done via the tool and so unique member for this user entry is not added to the group  'Members'.
    Scenario2:
    * When user entry is deleted the corresponding, group entry is not deleted.
    This is causing inconsistency in the users and the group.
    One obvious solution is to write two scripts and schedule their execution.
    1) Script to check the user entries, if designation is not empty, create a unique member for that entry in the group.
    2) Script to check all unique members of group and if user not found remove unique member in group.
    When the number of such groups is multiple this would be difficult to implement.
    So,is there any other way to do this?
    Please help.
    Thanks,
    Sash.

    Hello,
    The Referential Integrity plugin can be used for #2 : When enabled, the post operation Referential Integrity plug-in performs integrity updates on the member, uniquemember, owner and seeAlso attributes immediately after a delete or rename operation, so your member would be automatically removed from the group when the entry is deleted.
    HTH
    -Sylvain

Maybe you are looking for

  • 5th gen iPod won't sync with iTunes

    I have recently upgraded my iTunes to version 8. Now my iPod won't mount. I get the following error when I plug in the iPod: "iTunes has detected an iPod in recovery mode. You must restore this iPod before it can be used with iTunes." I've restored a

  • Applying a calculation to a count in an sql query

    Hi, I have a query where I am producing the count of an id number in one column and then wish to output that count value *6 in the next column, how do I go about this. SELECT HOUSE.CITY, COUNT(HOUSE.HOUSE_ID)"TOTAL LESS", COUNT(HOUSE.HOUSE_ID)"HOUSE

  • How to stop imp

    Hi, I launched imp to importe a table, actually enough rows are imported but in commande box of win2000pro where I issued imp commande , it does not go on and stopped on import table xxxx how can I stop import ? Just ctrl+c, or kill, or something els

  • No screen just the ligh

    My 4GB Zen was having connection problems, so when I finally got it to work, I was listening to it for a couple of minutes then the screen just went black! All there is, is a light coming from the screen and a blue light coming from the hold/power bu

  • Splitting the values in one column

    Hi there, I have a column(userid) containing data like: 'abc,def,ghik' I would like to make a kind of split function, something I would have wrote like this: SELECT SPLIT(userid,',') FROM myTable WHERE userid = 'abc,def,ghik' Would return: abc def gh