Compiling mono under Solaris 10: workaround for __builtin_frame_address ?

Hi,
I'm trying to compile the current svn release of mono (free implementation of .NET framework) under Solaris 10/x86.
After fixing some GCC specific code, I'm currently stuck with the GCC internal function __builtin_frame_address (and __builtin_return_address).
These functions return information about the current stack trace, e.g. the function that invokes the current function. They are used in the integrated debugger for single stepping and other functionality.
So far I haven't been able to find a workaround for these function within the Studio Compiler.
What's is the best way to implement these function? Does the Studio Compiler (or the libc or some other library) already provide the necessary functionality?
With best regards,
Burkhard Linke

I'm afraid you have to write assembly code for that sort of functions

Similar Messages

  • Compile occi under solaris using g++/gcc problem

    Hi Expert:
    I got some link error when i tried to compile a demo occi code under solaris using g++. Please share experience.
    Thanks.

    Namespaces are not supported in -compat=4 mode. The only effect of -features=namespace is to recognize "namespace" as a keyword, and disallow it as an identifier. You don't actually get namespace semantics.
    The pupose of -compat=4 is to allow code written for C++ 4.x to compile and run until the code can be updated to conform to the C++ Standard. If you want to use features from the C++ standard, like namespaces, you must use Sun C++ in the default standard mode.
    If you remove -compat=4, the code compiles and links. If you need to use -compat=4 mode, remove uses of namespace, and fix the code to remove name conflicts.
    BTW, we recommend against using -features=bool in -compat=4 mode. It can cause odd behavior when part of the code expects boolean expressions to have type int and part of the code expects bool to be a different type.
    It appears you are using C++ 5.0, a product that has been obsolete for several years and which is no longer supported. You should consider updating to Sun Studio 11 (C++ 5.8), at no cost.
    http://developers.sun.com/sunstudio/

  • Again - compilation under solaris - help!

    Hi all
    I'm trying to compile the following test code:
    #include <occi.h>
    #include <iostream>
    using namespace std;
    using namespace oracle::occi;
    int main(int argc, char ** argv)
    Environment *env;
    Connection * conn;
    try{
    env = Environment::createEnvironment();
    conn = env->createConnection(user, pass, sid);
    env->terminateConnection(conn);
    Environment::terminateEnvironment(env);
    } catch (SQLException &e) {
    cout<<"Exception: %s\n", e.getNLSMessage(env).c_str();
    return 0;
    My system is Solaris 9 sparc 64-bit
    Oracle Database 10.1.0.2
    I run this command:
    CC -I/u00/oracle/product/10.1.0/db_1/rdbms/public -L/u00/oracle/product/10.1.0/db_1/lib -locci10 test.cpp
    and get the famous error
    Undefined first referenced
    symbol in file
    void oracle::occi::Environment::terminateEnvironment(oracle::occi::Environment*) test.o
    oracle::occi::Environment*oracle::occi::Environment::createEnvironment(oracle::occi::Environment::Mode,void*,void*(*)(void*,unsigned),void*(*)(void*,void*,unsigned),void(*)(void*,void*)) test.o
    oracle::occi::__RTTI__1nGoracleEocciMSQdDLException_ test.o
    [Hint: static member oracle::occi::__RTTI__1nGoracleEocciMSQdDLException_ must be defined in the program]
    ld: fatal: Symbol referencing errors. No output written to a.out
    I've tried to use:
    gcc 3.4.2
    Sun Forte 6.0
    Sun Forte 6.2
    Sun Forte 7
    Sun Studio 10
    all the same
    if I set LD_LIBRARY_PATH and try to link with *.so library - it gives me "wrong ELF class: ELFCLASS64"
    I've tried to install and use Client 10.2 - no effect
    Under Windows it works perfectly.
    What should I do to make this thing compile under Solaris?
    Message was edited by:
    [email protected]
    Message was edited by:
    [email protected]

    If you want your application to be 32 bit
    - use Sun Forte 6.2 and link with OCCI library under $ORACLE_HOME/lib32
    If you want your application to be 64 bit
    - use Sun Forte 8 and link with libraries under $ORACLE_HOME/lib
    ( You should be passing the 64 bit compile flag "-xarch=v9" )

  • Compile mono in archlinux for a different distro

    Hi guys,
    I know the subject it's a little bit weird but let me explain. I've a little VPS with a debian. I have to compile mono from sources, because mono in debian stable is too old for my pourpose. The VPS has a very low memory and it failed to compile from sources every time because during compilation mcs ( mono compiler ) uses too much memory and I didn't figure out how limit memory consumption ( with gcc it's pretty simple ) . Now there is the question : Can I compile mono in my archlinux and then copy all the building directory in my VPS and run "make install" ? I think that there isn't any problem with hardware ( I've a 64 bit architecture for VPS and for mine ). If it's impossible, has someone a solution ? Thanks for any reply and sorry for my engliss.
    Kind regards,
    Campo.

    It would probably be easier to set up apt-pinning on your Debian box and install mono from testing if that version is OK for you.
    Last edited by slithery (2014-02-25 22:21:58)

  • JDev team: is there a workaround for bug1482140?

    I would like to know if anybody has figured out a workaround for bug 1482140 which is listed in the JDeveloper 3.2.2 readme. It states that it is not possible to deploy EJBs to 8.1.7 running on Solaris. It also indicates that it should have been fixed in 8.1.7.1 but the list of fixed bugs in 8.1.7.1 does not include this one. When is this going to be fixed? Why is there no status on it in Metalink? Is there something clever I can do similar to the workaround given for deploying BC4J?
    Thanks for any help,
    Matt

    Uh, dude? What are you talking about? I've seen the workaround for the aurora_client.jar bit but I thought it only applied to BC4J as it says in the HOWTO under the JDEV docs. As for the 8.1.7.1b patch, this is the first I've heard of it. It doesn't help that searching for this bug under Metalink doesn't produce any results. The way I see it is that I should be able to enter the Bug number in Metalink, and it tells me what patchset the bug is fixed in. That mechanism seems to have broken down here. oh well, I have no problem with having to be told something twice, I'm not perfect. At least I have the stones to post messages with my name and email address Mr d. cheers.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by d:
    Matt's been told about both of those options previously and he does not understand !!<HR></BLOCKQUOTE>
    null

  • Porting of Sybase Application to Oracle 8i under Solaris

    Dear All
    I want to port an application from sybase 10.2 which is running under Solaris to Oracle 8I under Solaris. Apart from database objects and stored procedures which I have already converted I wan to conver some C Codes and Unix Scripts
    Which are either shell scripts or perl programs. I need all of your valuable suggestions in this regard.
    Q-1 . In the Perl Program the following lines are sybase specific
    Use Sybase:: Dblib
    Require /files0/apps/local/lib/perl15/Sybase/sybperl.pl;
    What will be the equivalent for ORACLE.
    Suggest what perl I should use in this context.
    In continuation to the above also I have some shell variables assigned as follows
    $SYB_SERVER=SYB_PROD_CERT;
    $SYB_DATABASE=APPLDB;
    $ENV{SYBASE}=/sybase/10.0.4;
    $ENV{DSQUERY}=$SYB_SERVER
    $SYB_USER=keshav;
    $SYB_PWFILE=/myappl/processcert/passwords/$SYB_SERVER;
    $SYB_PW=/usr/bin/cat $SYB_PWFILE;
    chop($SYB_PW);
    dbmsghandle(message_handler);
    dberrhandle(error_handler);
    ( ($dbproc = &dblogin($SYB_USER,$SYB_PW,$SYB_SERVER)) != -1 );
    ( &dbuse($dbproc, $SYB_DATABASE) != -1 );
    ( ($dbproc2 = &dblogin($SYB_USER,$SYB_PW,$SYB_SERVER)) != -1 );
    ( &dbuse($dbproc2, $SYB_DATABASE) != -1 );
    sub Statistics
    # get distinct sub-cat counts
    ( &dbcmd($dbproc, "select count(*),orgnumber,name=(select servicerorgname from servicer where servicer.orgnumber=transactionlog.orgnumber) from transactionlog group by orgnumber order by count(*) desc\n") != -1 );
    &dbsqlexec($dbproc);
    &dbresults($dbproc);
    $row = DBROWS( $dbproc );
    2. One of the Sample C Program is given here which I want to convert into pro*c.
    I would like to know what are the corresponding libraries of oracle under
    Solaris are to be used and also the respective header files mapping of Sybase
    To Oracle. Any comment of this will be appreciated.
    #include "sql.h"
    #include "unix.h"
    #include <stdlib.h>
    #ifndef SQL_INCLUDED
    #define SQL_INCLUDED
    #include <sybfront.h>
    #include <sybdb.h>
    /*#include "sybdbex.h"*/
    /* #include <syberror.h>*/
    #endif     
    /* LogonToServer(char server[]) */
    /*----------------------------------------------------------------------sra-*/
    DBPROCESS *LogonToServer(char server[], char datab[], char user[],
    char passwd[], char appname[] )
    PCHAR szTemp;
    char data[1000];
    int result;
    long l;
    DBPROCESS *dbp;
    LOGINREC *login;
    /* initiailize library */
    if ( dbinit() == FAIL)
    printf("DB Initialization failed!\n");
    exit(1);
    /* install user supplied error handling and message handling routines*/
    dberrhandle(err_handler);
    dbmsghandle(msg_handler);
    /* get LOGINREC structure and fill */
    login = dblogin();
    DBSETLUSER(login,user);
    DBSETLPWD(login,passwd);
    DBSETLAPP(login,appname);
    /* get a DBPROCESS structure for communicating with the server */
    if ((dbp = dbopen(login,server)) == NULL)
    printf("dbopen failed on server: %s\n",server);
    exit(1);
    dbcmd(dbp,strcat("use ",datab));
    dbsqlexec(dbp);
    result=dbresults(dbp);
    return dbp;
    /* LogoutOfServer() */
    /*----------------------------------------------------------------------sra-*/
    void LogoutOfServer(DBPROCESS *dbproc)
    DBPROCESS *dbp2;
    dbclose( dbproc );
    return;
    int err_handler(DBPROCESS *dbproc,int severity,int dberr,int oserr,
    char dberrstr,char oserrstr)
    if ((dbproc == NULL))
    return(INT_EXIT);
    else
    fprintf(ERR_CH, "DB-LIBRARY error:\n\t%s\n",dberrstr);
    if (oserr != DBNOERR)
    fprintf(ERR_CH,"Operating-system error:\n\t%s\n",oserrstr);
    return(INT_CANCEL);
    int msg_handler(DBPROCESS *dbproc, DBINT msgno, int msgstate, int severity,
    char msgtext,char srvname,char *procname,DBUSMALLINT line)
    return 0;

    Hello
    The "-D_BIG_ENDIAN" shows you that the code is endian-dependent. This means that the program cannot be ported 1:1 because x86 is little endian while Sparc is big-endian.
    I would first try to use "-D_LITTLE_ENDIAN" (or what flag ever I can find in the source codes) and to compile for x86.
    Because of the "-D_BIG_ENDIAN" different source code is used for both machines. Maybe the little-endian source code is wrong:
    #ifdef _BIG_ENDIAN
    // correct source code for Sparc
    #else
    // INCORRECT source code for x86
    #endifMartin

  • Compiling c++ in Solaris 2.6

    I am attempting to compile C++ programs with SUN compiler
    4.2, under Solaris 2.6 in an Ultra 5 machine.
    When I issue the CC command, at the end of the commmand
    I append -I/path of STL library/ and I get errors on the STL
    functions. It acts as if it doesn't see the STL library.
    Does anyone know the proper syntax?

    Here is ur program. Should compile with
    CC -o vec vec.C
    I feel all ur problems are only coz u'r new to STL. Please go through some documentation on "How to use STL?"
    MSDN has a good tutorial.
    #include <iostream.h>
    #include <vector> //it's not vector.h
    //"using namespace std" is VERY bad coding practice.
    //instead use this.
    using std::vector;
    //preferably should be doing this.
    typedef vector<int> VECOFINT;
    int main()
    VECOFINT v;
    int i;
    cout << "size = " << v.size() << endl;
    for ( i = 0; i < 10; i++)
    //u can't do v = i. use push_back();
    v.push_back(i);
    cout << "\nCurrent vector contents:\n";
    //u have to use iterators for getting values
    VECOFINT::iterator it = v.begin();
    for ( ; it != v.end(); it++ )
    cout << (*it) << "\n" << endl;
    return 0;
    }

  • Swedish chars ��� not working under Solaris

    Hi All,
    I created the following little code and it is not working under Solaris 7, JDK1.4.1_01. (also tested some other but does not work)
    public class HelloSweden
    public static void main(String [] args)
    String newName="���";
    String charsetName = "iso-8859-2";
    byte [] s = {(byte)229, (byte)228, (byte)246};
    try
    newName = new String(s, 0, s.length, charsetName);
    catch ( java.io.UnsupportedEncodingException e )
    System.err.println(e.getMessage());
    e.printStackTrace();
    System.out.println("new name is: "+newName);
    for(int i=0; i<newName.getBytes().length; i++)
    System.out.println(i+"."+":"+newName.getBytes());
    The problem is that on Solaris 7 the output is:
    new name is: ???
    0.:63
    1.:63
    2.:63
    Whereas on Linux it works fine:
    new name is: ���
    0.:-27
    1.:-28
    2.:-10
    I also tried the "javac -encoding iso8859-1" option but no use.
    Could anybody help?
    Thnx,
    GF

    I also tried the "javac -encoding iso8859-1" option
    but no use.
    Was the output exactly the same or were the numbers correct, at least?
    You may need to compile with:
    javac -encoding ISO-8859-1 ClassName.java
    and then run with:
    java -Dfile.encoding=ISO-8859-1 ClassName
    You can set the character encoding explicitely like that. The character encoding depends on locale settings; if you set LC_ALL to a Swedish locale ("sv_SE"?) javac and java should start using the correct encodings automatically.

  • Any workarounds for the X11 apps segmentation faults on intel with 10.4.8 ?

    Hi,
    We've an X11 application, compiled for PPC, which runs fine with a G5 iMac on 10.4.8. However, it crashes with a segmentation fault on a MacBook Pro with 10.4.8 (running through Rosetta).
    Searching the web, we found that this seems to be a widespread problem for X11 apps running on Intel Macs with 10.4.8.
    Has this been submitted as an important bug to Apple?
    Are there any workarounds for it?
    Is the problem specific to PPC-only builds, or does it also happen with Universal builds?
    Thank you for any hints you could give about this,
    cesar
      Mac OS X (10.4.8)  

    A powerpc-binary program running under Rosetta can only load powerpc-binary modules...can't cross in and out of emulation within a single process. Perhaps your program is trying to load a module from X11 that is present as an intel-only binary? Rosetta is certainly no future-looking cure-all, just a stop-gap to allow one to keep using older stuff, and it is kinda fragile sometimes. If your target audience is both powerpc and intel machines, compile as a universal binary so it's native for everyone.

  • SSAS Tabular in DirectQuery - What are the workarounds for formula limitations?

    Hello,
    I need to create an SSAS Tabular model against the database of a live, real-time, line of business transactional system (i.e. a CRM).
    The business requirement behind it is that we need to create some complex reports against live data, and our DW is only updated daily.
    This live model will however be partitioned with a time-variance limitation (e.g. only records which are XX old can be returned).
    Now here is the challenge. Since I am querying live data, then I believe the model must be configured in DirectQuery model. Am I right?
    The issue is that DirectQuery mode is full of formula limitations. So my concern is, if I need a calculated column or measure that I cannot make it work due to DirectQuery limitations, then what are the alternatives?
    Remember that the data source is from a live system, so it is not like I can create columns and measures in the underlying relational database.
    Please advise.
    Regards,
    P.

    Hi pmdci,
    According to your description, you want to use some functions in calculated measure which are not supported in DirectQuery mode. Right?
    In Analysis Services Tabular, since DirectQuery has the real time access and scalability, this comes with a price of restrictions on a number of DAX functions and missing Calculated Column feature. Generally the workaround for these scenarios
    is replacing those functions with other functions which are supported in DirectQuery mode, or create columns in the data source. However, as you said, your environment is not possible to create columns in the database. And a lot of those limited
    function are not replaceable, like time intelligence functions. So actually, there's no really effective workaround currently.
    For you requirement, I suggest you submit Microsoft a feature request
    at https://connect.microsoft.com/SQLServer
    so that we can try to modify and expand the product features based on your needs.
    Best Regards,  
    Simon Hou
    TechNet Community Support

  • Mount NTFS under Solaris 10

    Hi can anybody tell me if i can mount a NTFS partition under Solaris 10??
    Thanks for ur help.

    <table border="0" align="center" width="90%" cellpadding="3" cellspacing="1"><tr><td class="SmallText"><b>korsabad wrote on Wed, 11 January 2006 06:23</b></td></tr><tr><td class="quote">
    if you use solaris x86 and the ntfs-partition
    Not possible. NTFS has those windows-security-id's (you know, those about-40-character-long-id's) for each object which cannot be read from solaris.
    </td></tr></table>
    I think writing to NTFS is nearly impossible (due to changes of the NTFS version, security stuff, and so on).
    However reading from an <u>unencrypted</u> NTFS partition seems to be a possible thing. I do not know if a tool or a driver <u>already</u> exists but I think it is a possible task to write a tool that reads from NTFS partitions.
    I think writing a tool that reads from UFS partitions under Windows is an easy task, too. I wrote such a tool for reading the EXT2 file system under Windows long time ago.
    Martin

  • Using Solaris 11 Express for a multiprocessor CAD/CAM x86-64 system.

    I'm considering using Solaris 11 Express as the OS for a multiprocessor Computer Aided Design/Computer Aided Manufacturing custom built x86-64 system for my machine shop business. I would like clarification of the license in this situation.
    Would I be allowed to use Solaris 11 for free under the open-source license, or would I have to purchase a commercial license? Would I have to pay for program updates? Does just the Oracle Solaris Premier Subscription for Solaris 11 require payment rather than the actual software as well? Would I be required to purchase an Oracle Solaris Premier Subscription to use Solaris 11 in my situation, or can I purchase the Oracle Solaris Premier Subscription at a later date.
    I have a lot of respect the open-source concept, and I would only use Solaris while keeping it's license intact. So the answers to these questions are very important factors affecting my decision regarding whether or not my company will start to use Solaris.

    I'm afraid you'll have to contact Oracle directly to clarify what applies in your situation.

  • How to start ftp under solaris 10

    Hi,
    if I try to enable ftp under Solaris 10, I get the message "unsatisfied dependencies":
    root@u015ad2a:.../>svcadm -v enable -rst svc:/network/ftp:default
    svc:/network/ftp:default temporarily enabled.
    svc:/network/inetd:default temporarily enabled.
    svc:/network/loopback temporarily enabled.
    svc:/system/filesystem/local temporarily enabled.
    svc:/milestone/single-user temporarily enabled.
    svc:/system/identity:node temporarily enabled.
    svc:/system/filesystem/minimal temporarily enabled.
    svc:/system/filesystem/usr temporarily enabled.
    svc:/system/filesystem/root temporarily enabled.
    svc:/system/device/local temporarily enabled.
    svc:/milestone/devices temporarily enabled.
    svc:/system/manifest-import temporarily enabled.
    svc:/milestone/sysconfig temporarily enabled.
    svc:/milestone/name-services temporarily enabled.
    svcadm: Instance "svc:/network/ftp:default" has unsatisfied dependencies.
    root@u015ad2a:.../>svcs svc:/network/ftp:default
    STATE STIME FMRI
    uninitialized 9:40:09 svc:/network/ftp:default
    How can I enable ftp?

    This looks sort of like what happened to me just now. I tried svcs -x
    and got:
    # svcs -x
    svc:/network/rpc/gss:default (Generic Security Service)
    State: uninitialized since Mon Apr 18 13:01:12 2005
    Reason: Restarter svc:/network/inetd:default has not initialized service state.
    See: http://sun.com/msg/SMF-8000-4D
    See: gssd(1M)
    Impact: 10 dependent services are not running. (Use -v for list.)
    svc:/network/service:default (layered network services)
    State: offline since Mon Apr 18 13:01:29 2005
    Reason: Start method is running.
    See: http://sun.com/msg/SMF-8000-C4
    See: ifconfig(1M)
    See: /var/svc/log/network-service:default.log
    Impact: 4 dependent services are not running. (Use -v for list.)
    svc:/application/print/server:default (LP print server)
    State: disabled since Mon Apr 18 13:01:12 2005
    Reason: Disabled by an administrator.
    See: http://sun.com/msg/SMF-8000-05
    See: lpsched(1M)
    Impact: 1 dependent service is not running. (Use -v for list.)
    I tried all kinds of things to get gss to run, but I finally realized that
    it was really ifconfig that was the problem. The system has two
    network interfaces, and during installation I gave both of them
    a name. However, hme1 was not really connected to anything.
    All I did to get it to work was
    # cd /etc
    # mv hostname.hme1 no.hme1
    After that, I rebooted, and everything came up OK. I don't know
    if the original problem was the same, but this solved my problem.

  • Sparc Storag Array 102 needs to run under solaris 10

    I need to get a Sparc Storage Array to run under solaris 10. The soc driver that is needed is not supportted under solairs 10. I took the packages needed off of solari 9 cd and installed them but no luck. I tried to to do a modload and modinfo but it was not there.
    The package loaded a file into /kernel/drv/sparcv9/soc. I have solaris 9 onanother disk on the same system and looked at the system trying to copy and edit the files on 10 but not device paths show up in the system. I copyied a file called soc that was in /kernel/drv/ I edited the /etc/device_aliases and path_to_inst but no good.
    There are no entries in the /devices/ dir that reference the soc path. I do not if than can work but really would like to get this working.

    The fibre interface on that beast is NOT a Gigabit connection,
    such as is common on current systems.
    It was a 100Mbps connection through an array controller,
    running with a 40MHz microSPARC II control module.
    You'd exceed its throughput capabilities in any attempt
    to read or write data at or beyond that 100Mbps rate.
    I don't anticipate much assistance in these forums for a technology that goes back a decade-and-a-half.
    Contributors familiar with products from that era stopped posting in 2006
    when the previous supportforum.sun.com was merged into this one.
    We'll all look forward to your guidance after you succeed.
    You'll teach the rest of us.

  • How to install a LPR Printer under Solaris 10 01/06

    Hi,
    I just installed Solaris 10 01/06 2 days ago and so far I'm pretty impressed, really a nice system!
    I have one problem, though:
    I have a Kyocera FS-1010 printer in my office which is connected to a CNet Printserver.
    I'm able to print from other Linux and *BSD boxes to this printer by using CUPS and adding the Printer as a LPR Printqueue.
    My question is: Is there a way to do the same under Solaris? As far as I know, Solaris doesn't use CUPS as the default printing system, unlike OSX for example.
    Thanks in advance,
    Dominik

    Is there any reason you haven't ftp'd and then configued cups on Solaris?
    http://www.sun.com/bigadmin/content/submitted/install_cups.html
    alan

Maybe you are looking for